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 AccountEntitlements {
187 #[serde(rename = "principal_id", skip_serializing_if = "Option::is_none")]
188 pub principal_id: Option<String>,
189 #[serde(rename = "tenant_id", skip_serializing_if = "Option::is_none")]
190 pub tenant_id: Option<String>,
191 #[serde(rename = "workspace_id", skip_serializing_if = "Option::is_none")]
192 pub workspace_id: Option<String>,
193 #[serde(rename = "plan", default, skip_serializing_if = "Option::is_none")]
194 pub plan: Option<Option<AccountEntitlementsPlan>>,
195 #[serde(rename = "plan_id", skip_serializing_if = "Option::is_none")]
196 pub plan_id: Option<String>,
197 #[serde(rename = "capabilities", skip_serializing_if = "Option::is_none")]
198 pub capabilities: Option<Box<EntitlementCapabilities>>,
199 #[serde(rename = "limits", skip_serializing_if = "Option::is_none")]
200 pub limits: Option<Box<EntitlementLimits>>,
201 #[serde(rename = "source", skip_serializing_if = "Option::is_none")]
202 pub source: Option<String>,
203 #[serde(rename = "updated_at", skip_serializing_if = "Option::is_none")]
204 pub updated_at: Option<String>,
205}
206
207impl AccountEntitlements {
208 pub fn new() -> AccountEntitlements {
209 AccountEntitlements {
210 principal_id: None,
211 tenant_id: None,
212 workspace_id: None,
213 plan: None,
214 plan_id: None,
215 capabilities: None,
216 limits: None,
217 source: None,
218 updated_at: None,
219 }
220 }
221}
222#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
224pub enum AccountEntitlementsPlan {
225 #[serde(rename = "free")]
226 Free,
227 #[serde(rename = "developer")]
228 Developer,
229 #[serde(rename = "team")]
230 Team,
231 #[serde(rename = "scale")]
232 Scale,
233 #[serde(rename = "enterprise")]
234 Enterprise,
235}
236
237impl Default for AccountEntitlementsPlan {
238 fn default() -> AccountEntitlementsPlan {
239 Self::Free
240 }
241}
242
243#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
255pub struct AccountSession {
256 #[serde(rename = "session_id", skip_serializing_if = "Option::is_none")]
257 pub session_id: Option<String>,
258 #[serde(rename = "principal_id", skip_serializing_if = "Option::is_none")]
259 pub principal_id: Option<String>,
260 #[serde(rename = "tenant_id", skip_serializing_if = "Option::is_none")]
261 pub tenant_id: Option<String>,
262 #[serde(rename = "workspace_id", skip_serializing_if = "Option::is_none")]
263 pub workspace_id: Option<String>,
264 #[serde(rename = "plan", default, skip_serializing_if = "Option::is_none")]
265 pub plan: Option<Option<AccountSessionPlan>>,
266 #[serde(rename = "plan_id", skip_serializing_if = "Option::is_none")]
267 pub plan_id: Option<String>,
268 #[serde(rename = "edition", skip_serializing_if = "Option::is_none")]
269 pub edition: Option<String>,
270 #[serde(rename = "deployment_mode", skip_serializing_if = "Option::is_none")]
271 pub deployment_mode: Option<String>,
272 #[serde(rename = "account_lifecycle", skip_serializing_if = "Option::is_none")]
273 pub account_lifecycle: Option<String>,
274 #[serde(rename = "offer_code", skip_serializing_if = "Option::is_none")]
275 pub offer_code: Option<String>,
276 #[serde(rename = "source", skip_serializing_if = "Option::is_none")]
277 pub source: Option<String>,
278 #[serde(rename = "expires_at", skip_serializing_if = "Option::is_none")]
279 pub expires_at: Option<String>,
280}
281
282impl AccountSession {
283 pub fn new() -> AccountSession {
284 AccountSession {
285 session_id: None,
286 principal_id: None,
287 tenant_id: None,
288 workspace_id: None,
289 plan: None,
290 plan_id: None,
291 edition: None,
292 deployment_mode: None,
293 account_lifecycle: None,
294 offer_code: None,
295 source: None,
296 expires_at: None,
297 }
298 }
299}
300#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
302pub enum AccountSessionPlan {
303 #[serde(rename = "free")]
304 Free,
305 #[serde(rename = "developer")]
306 Developer,
307 #[serde(rename = "team")]
308 Team,
309 #[serde(rename = "scale")]
310 Scale,
311 #[serde(rename = "enterprise")]
312 Enterprise,
313}
314
315impl Default for AccountSessionPlan {
316 fn default() -> AccountSessionPlan {
317 Self::Free
318 }
319}
320
321#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
333pub struct AdapterMatch {
334 #[serde(rename = "adapter_id", skip_serializing_if = "Option::is_none")]
335 pub adapter_id: Option<String>,
336 #[serde(rename = "confidence", skip_serializing_if = "Option::is_none")]
337 pub confidence: Option<f64>,
338 #[serde(rename = "evidence", skip_serializing_if = "Option::is_none")]
339 pub evidence: Option<Vec<String>>,
340}
341
342impl AdapterMatch {
343 pub fn new() -> AdapterMatch {
344 AdapterMatch {
345 adapter_id: None,
346 confidence: None,
347 evidence: None,
348 }
349 }
350}
351
352#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
364pub struct AddTrustKeyRequest {
365 #[serde(rename = "tenant_id")]
366 pub tenant_id: String,
367 #[serde(rename = "key_id")]
368 pub key_id: String,
369 #[serde(rename = "public_key")]
371 pub public_key: String,
372}
373
374impl AddTrustKeyRequest {
375 pub fn new(tenant_id: String, key_id: String, public_key: String) -> AddTrustKeyRequest {
376 AddTrustKeyRequest {
377 tenant_id,
378 key_id,
379 public_key,
380 }
381 }
382}
383
384#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
396pub struct AgentIdentityProfile {
397 #[serde(rename = "agent_id", skip_serializing_if = "Option::is_none")]
398 pub agent_id: Option<String>,
399 #[serde(rename = "identity_type", skip_serializing_if = "Option::is_none")]
400 pub identity_type: Option<String>,
401 #[serde(rename = "subject", skip_serializing_if = "Option::is_none")]
402 pub subject: Option<String>,
403 #[serde(rename = "issuer", skip_serializing_if = "Option::is_none")]
404 pub issuer: Option<String>,
405 #[serde(rename = "jwks_uri", skip_serializing_if = "Option::is_none")]
406 pub jwks_uri: Option<String>,
407 #[serde(rename = "spiffe_id", skip_serializing_if = "Option::is_none")]
408 pub spiffe_id: Option<String>,
409 #[serde(rename = "scopes", skip_serializing_if = "Option::is_none")]
410 pub scopes: Option<Vec<String>>,
411 #[serde(rename = "anonymous_dev_mode", skip_serializing_if = "Option::is_none")]
412 pub anonymous_dev_mode: Option<bool>,
413 #[serde(rename = "created_at", skip_serializing_if = "Option::is_none")]
414 pub created_at: Option<String>,
415}
416
417impl AgentIdentityProfile {
418 pub fn new() -> AgentIdentityProfile {
419 AgentIdentityProfile {
420 agent_id: None,
421 identity_type: None,
422 subject: None,
423 issuer: None,
424 jwks_uri: None,
425 spiffe_id: None,
426 scopes: None,
427 anonymous_dev_mode: None,
428 created_at: None,
429 }
430 }
431}
432
433#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
445pub struct ApprovalCeremony {
446 #[serde(rename = "approval_id", skip_serializing_if = "Option::is_none")]
447 pub approval_id: Option<String>,
448 #[serde(rename = "subject", skip_serializing_if = "Option::is_none")]
449 pub subject: Option<String>,
450 #[serde(rename = "action", skip_serializing_if = "Option::is_none")]
451 pub action: Option<String>,
452 #[serde(rename = "state", skip_serializing_if = "Option::is_none")]
453 pub state: Option<ApprovalCeremonyState>,
454 #[serde(rename = "requested_by", skip_serializing_if = "Option::is_none")]
455 pub requested_by: Option<String>,
456 #[serde(rename = "approvers", skip_serializing_if = "Option::is_none")]
457 pub approvers: Option<Vec<String>>,
458 #[serde(rename = "quorum", skip_serializing_if = "Option::is_none")]
459 pub quorum: Option<i32>,
460 #[serde(rename = "timelock_until", skip_serializing_if = "Option::is_none")]
461 pub timelock_until: Option<String>,
462 #[serde(rename = "expires_at", skip_serializing_if = "Option::is_none")]
463 pub expires_at: Option<String>,
464 #[serde(rename = "break_glass", skip_serializing_if = "Option::is_none")]
465 pub break_glass: Option<bool>,
466 #[serde(rename = "reason", skip_serializing_if = "Option::is_none")]
467 pub reason: Option<String>,
468 #[serde(rename = "receipt_id", skip_serializing_if = "Option::is_none")]
469 pub receipt_id: Option<String>,
470 #[serde(rename = "ceremony_hash", skip_serializing_if = "Option::is_none")]
471 pub ceremony_hash: Option<String>,
472 #[serde(rename = "created_at", skip_serializing_if = "Option::is_none")]
473 pub created_at: Option<String>,
474 #[serde(rename = "updated_at", skip_serializing_if = "Option::is_none")]
475 pub updated_at: Option<String>,
476}
477
478impl ApprovalCeremony {
479 pub fn new() -> ApprovalCeremony {
480 ApprovalCeremony {
481 approval_id: None,
482 subject: None,
483 action: None,
484 state: None,
485 requested_by: None,
486 approvers: None,
487 quorum: None,
488 timelock_until: None,
489 expires_at: None,
490 break_glass: None,
491 reason: None,
492 receipt_id: None,
493 ceremony_hash: None,
494 created_at: None,
495 updated_at: None,
496 }
497 }
498}
499#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
501pub enum ApprovalCeremonyState {
502 #[serde(rename = "pending")]
503 Pending,
504 #[serde(rename = "approved")]
505 Approved,
506 #[serde(rename = "denied")]
507 Denied,
508 #[serde(rename = "revoked")]
509 Revoked,
510 #[serde(rename = "expired")]
511 Expired,
512}
513
514impl Default for ApprovalCeremonyState {
515 fn default() -> ApprovalCeremonyState {
516 Self::Pending
517 }
518}
519
520#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
532pub struct ApprovalCeremonyCreateRequest {
533 #[serde(rename = "approval_id", skip_serializing_if = "Option::is_none")]
535 pub approval_id: Option<String>,
536 #[serde(rename = "subject", skip_serializing_if = "Option::is_none")]
537 pub subject: Option<String>,
538 #[serde(rename = "action", skip_serializing_if = "Option::is_none")]
539 pub action: Option<String>,
540 #[serde(rename = "state", skip_serializing_if = "Option::is_none")]
542 pub state: Option<ApprovalCeremonyCreateRequestState>,
543 #[serde(rename = "requested_by", skip_serializing_if = "Option::is_none")]
544 pub requested_by: Option<String>,
545 #[serde(rename = "approvers", skip_serializing_if = "Option::is_none")]
546 pub approvers: Option<Vec<String>>,
547 #[serde(rename = "quorum", skip_serializing_if = "Option::is_none")]
548 pub quorum: Option<i32>,
549 #[serde(rename = "timelock_until", skip_serializing_if = "Option::is_none")]
550 pub timelock_until: Option<String>,
551 #[serde(rename = "expires_at", skip_serializing_if = "Option::is_none")]
552 pub expires_at: Option<String>,
553 #[serde(rename = "reason", skip_serializing_if = "Option::is_none")]
554 pub reason: Option<String>,
555 #[serde(rename = "receipt_id", skip_serializing_if = "Option::is_none")]
556 pub receipt_id: Option<String>,
557 #[serde(rename = "break_glass", skip_serializing_if = "Option::is_none")]
558 pub break_glass: Option<bool>,
559 #[serde(rename = "created_at", skip_serializing_if = "Option::is_none")]
561 pub created_at: Option<String>,
562 #[serde(rename = "updated_at", skip_serializing_if = "Option::is_none")]
564 pub updated_at: Option<String>,
565 #[serde(rename = "ceremony_hash", skip_serializing_if = "Option::is_none")]
567 pub ceremony_hash: Option<String>,
568}
569
570impl ApprovalCeremonyCreateRequest {
571 pub fn new() -> ApprovalCeremonyCreateRequest {
572 ApprovalCeremonyCreateRequest {
573 approval_id: None,
574 subject: None,
575 action: None,
576 state: None,
577 requested_by: None,
578 approvers: None,
579 quorum: None,
580 timelock_until: None,
581 expires_at: None,
582 reason: None,
583 receipt_id: None,
584 break_glass: None,
585 created_at: None,
586 updated_at: None,
587 ceremony_hash: None,
588 }
589 }
590}
591#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
593pub enum ApprovalCeremonyCreateRequestState {
594 #[serde(rename = "pending")]
595 Pending,
596 #[serde(rename = "approved")]
597 Approved,
598 #[serde(rename = "denied")]
599 Denied,
600 #[serde(rename = "revoked")]
601 Revoked,
602 #[serde(rename = "expired")]
603 Expired,
604}
605
606impl Default for ApprovalCeremonyCreateRequestState {
607 fn default() -> ApprovalCeremonyCreateRequestState {
608 Self::Pending
609 }
610}
611
612#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
624pub struct ApprovalRequest {
625 #[serde(rename = "intent_hash")]
627 pub intent_hash: String,
628 #[serde(rename = "plan_hash", skip_serializing_if = "Option::is_none")]
629 pub plan_hash: Option<String>,
630 #[serde(rename = "policy_hash", skip_serializing_if = "Option::is_none")]
631 pub policy_hash: Option<String>,
632 #[serde(rename = "nonce", skip_serializing_if = "Option::is_none")]
633 pub nonce: Option<String>,
634 #[serde(rename = "approver_id", skip_serializing_if = "Option::is_none")]
635 pub approver_id: Option<String>,
636 #[serde(rename = "public_key", skip_serializing_if = "Option::is_none")]
638 pub public_key: Option<String>,
639 #[serde(rename = "public_key_b64", skip_serializing_if = "Option::is_none")]
641 pub public_key_b64: Option<String>,
642 #[serde(rename = "signature", skip_serializing_if = "Option::is_none")]
644 pub signature: Option<String>,
645 #[serde(rename = "signature_b64", skip_serializing_if = "Option::is_none")]
647 pub signature_b64: Option<String>,
648 #[serde(rename = "challenge_response", skip_serializing_if = "Option::is_none")]
650 pub challenge_response: Option<String>,
651 #[serde(rename = "signature_profile", skip_serializing_if = "Option::is_none")]
652 pub signature_profile: Option<String>,
653 #[serde(rename = "signature_algorithm", skip_serializing_if = "Option::is_none")]
654 pub signature_algorithm: Option<String>,
655 #[serde(rename = "key_id", skip_serializing_if = "Option::is_none")]
656 pub key_id: Option<String>,
657 #[serde(rename = "public_key_set", skip_serializing_if = "Option::is_none")]
658 pub public_key_set: Option<std::collections::HashMap<String, String>>,
659 #[serde(rename = "verification_policy", skip_serializing_if = "Option::is_none")]
660 pub verification_policy: Option<String>,
661 #[serde(rename = "downgrade_rejected", skip_serializing_if = "Option::is_none")]
662 pub downgrade_rejected: Option<bool>,
663 #[serde(rename = "accepted_algorithms", skip_serializing_if = "Option::is_none")]
664 pub accepted_algorithms: Option<Vec<String>>,
665 #[serde(rename = "timestamp", skip_serializing_if = "Option::is_none")]
666 pub timestamp: Option<String>,
667 #[serde(rename = "biometric_tier", skip_serializing_if = "Option::is_none")]
668 pub biometric_tier: Option<String>,
669 #[serde(rename = "session_id", skip_serializing_if = "Option::is_none")]
670 pub session_id: Option<String>,
671}
672
673impl ApprovalRequest {
674 pub fn new(intent_hash: String) -> ApprovalRequest {
675 ApprovalRequest {
676 intent_hash,
677 plan_hash: None,
678 policy_hash: None,
679 nonce: None,
680 approver_id: None,
681 public_key: None,
682 public_key_b64: None,
683 signature: None,
684 signature_b64: None,
685 challenge_response: None,
686 signature_profile: None,
687 signature_algorithm: None,
688 key_id: None,
689 public_key_set: None,
690 verification_policy: None,
691 downgrade_rejected: None,
692 accepted_algorithms: None,
693 timestamp: None,
694 biometric_tier: None,
695 session_id: None,
696 }
697 }
698}
699
700#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
712pub struct ApproveHarnessChangeContractRequest {
713 #[serde(rename = "receipt_ref", skip_serializing_if = "Option::is_none")]
714 pub receipt_ref: Option<String>,
715}
716
717impl ApproveHarnessChangeContractRequest {
718 pub fn new() -> ApproveHarnessChangeContractRequest {
719 ApproveHarnessChangeContractRequest {
720 receipt_ref: None,
721 }
722 }
723}
724
725#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
737pub struct ApproveLaunchpadMcpToolsRequest {
738 #[serde(rename = "server_id")]
739 pub server_id: String,
740 #[serde(rename = "tools")]
741 pub tools: Vec<String>,
742 #[serde(rename = "ttl", skip_serializing_if = "Option::is_none")]
743 pub ttl: Option<String>,
744 #[serde(rename = "reason")]
745 pub reason: String,
746 #[serde(rename = "approver", skip_serializing_if = "Option::is_none")]
747 pub approver: Option<String>,
748}
749
750impl ApproveLaunchpadMcpToolsRequest {
751 pub fn new(server_id: String, tools: Vec<String>, reason: String) -> ApproveLaunchpadMcpToolsRequest {
752 ApproveLaunchpadMcpToolsRequest {
753 server_id,
754 tools,
755 ttl: None,
756 reason,
757 approver: None,
758 }
759 }
760}
761
762#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
774pub struct AssertApprovalWebAuthnChallengeRequest {
775 #[serde(rename = "challenge_id")]
776 pub challenge_id: String,
777 #[serde(rename = "actor")]
778 pub actor: String,
779 #[serde(rename = "assertion")]
780 pub assertion: String,
781 #[serde(rename = "receipt_id", skip_serializing_if = "Option::is_none")]
782 pub receipt_id: Option<String>,
783 #[serde(rename = "reason", skip_serializing_if = "Option::is_none")]
784 pub reason: Option<String>,
785}
786
787impl AssertApprovalWebAuthnChallengeRequest {
788 pub fn new(challenge_id: String, actor: String, assertion: String) -> AssertApprovalWebAuthnChallengeRequest {
789 AssertApprovalWebAuthnChallengeRequest {
790 challenge_id,
791 actor,
792 assertion,
793 receipt_id: None,
794 reason: None,
795 }
796 }
797}
798
799#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
811pub struct AuthzHealth {
812 #[serde(rename = "status", skip_serializing_if = "Option::is_none")]
813 pub status: Option<String>,
814 #[serde(rename = "resolver", skip_serializing_if = "Option::is_none")]
815 pub resolver: Option<String>,
816 #[serde(rename = "model_id", skip_serializing_if = "Option::is_none")]
817 pub model_id: Option<String>,
818 #[serde(rename = "relationship_hash", skip_serializing_if = "Option::is_none")]
819 pub relationship_hash: Option<String>,
820 #[serde(rename = "checked_at", skip_serializing_if = "Option::is_none")]
821 pub checked_at: Option<String>,
822}
823
824impl AuthzHealth {
825 pub fn new() -> AuthzHealth {
826 AuthzHealth {
827 status: None,
828 resolver: None,
829 model_id: None,
830 relationship_hash: None,
831 checked_at: None,
832 }
833 }
834}
835
836#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
848pub struct AuthzSnapshot {
849 #[serde(rename = "snapshot_id", skip_serializing_if = "Option::is_none")]
850 pub snapshot_id: Option<String>,
851 #[serde(rename = "model_id", skip_serializing_if = "Option::is_none")]
852 pub model_id: Option<String>,
853 #[serde(rename = "relationship_hash", skip_serializing_if = "Option::is_none")]
854 pub relationship_hash: Option<String>,
855 #[serde(rename = "tuple_count", skip_serializing_if = "Option::is_none")]
856 pub tuple_count: Option<i32>,
857 #[serde(rename = "resolver", skip_serializing_if = "Option::is_none")]
858 pub resolver: Option<String>,
859 #[serde(rename = "stale", skip_serializing_if = "Option::is_none")]
860 pub stale: Option<bool>,
861 #[serde(rename = "snapshot_token", skip_serializing_if = "Option::is_none")]
862 pub snapshot_token: Option<String>,
863 #[serde(rename = "checked_at", skip_serializing_if = "Option::is_none")]
864 pub checked_at: Option<String>,
865 #[serde(rename = "snapshot_hash", skip_serializing_if = "Option::is_none")]
866 pub snapshot_hash: Option<String>,
867}
868
869impl AuthzSnapshot {
870 pub fn new() -> AuthzSnapshot {
871 AuthzSnapshot {
872 snapshot_id: None,
873 model_id: None,
874 relationship_hash: None,
875 tuple_count: None,
876 resolver: None,
877 stale: None,
878 snapshot_token: None,
879 checked_at: None,
880 snapshot_hash: None,
881 }
882 }
883}
884
885#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
897pub struct BindLaunchpadSecretGrantRequest {
898 #[serde(rename = "name")]
899 pub name: String,
900 #[serde(rename = "provider")]
901 pub provider: String,
902 #[serde(rename = "value_env")]
903 pub value_env: String,
904}
905
906impl BindLaunchpadSecretGrantRequest {
907 pub fn new(name: String, provider: String, value_env: String) -> BindLaunchpadSecretGrantRequest {
908 BindLaunchpadSecretGrantRequest {
909 name,
910 provider,
911 value_env,
912 }
913 }
914}
915
916#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
928pub struct BoundaryCapabilitySummary {
929 #[serde(rename = "capability_id", skip_serializing_if = "Option::is_none")]
930 pub capability_id: Option<String>,
931 #[serde(rename = "category", skip_serializing_if = "Option::is_none")]
932 pub category: Option<String>,
933 #[serde(rename = "status", skip_serializing_if = "Option::is_none")]
934 pub status: Option<String>,
935 #[serde(rename = "authority", skip_serializing_if = "Option::is_none")]
936 pub authority: Option<String>,
937 #[serde(rename = "public_routes", skip_serializing_if = "Option::is_none")]
938 pub public_routes: Option<Vec<String>>,
939 #[serde(rename = "cli_commands", skip_serializing_if = "Option::is_none")]
940 pub cli_commands: Option<Vec<String>>,
941 #[serde(rename = "receipt_bindings", skip_serializing_if = "Option::is_none")]
942 pub receipt_bindings: Option<Vec<String>>,
943 #[serde(rename = "conformance_level", skip_serializing_if = "Option::is_none")]
944 pub conformance_level: Option<String>,
945}
946
947impl BoundaryCapabilitySummary {
948 pub fn new() -> BoundaryCapabilitySummary {
949 BoundaryCapabilitySummary {
950 capability_id: None,
951 category: None,
952 status: None,
953 authority: None,
954 public_routes: None,
955 cli_commands: None,
956 receipt_bindings: None,
957 conformance_level: None,
958 }
959 }
960}
961
962#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
974pub struct BoundaryCheckpoint {
975 #[serde(rename = "checkpoint_id", skip_serializing_if = "Option::is_none")]
976 pub checkpoint_id: Option<String>,
977 #[serde(rename = "sequence", skip_serializing_if = "Option::is_none")]
978 pub sequence: Option<i64>,
979 #[serde(rename = "previous_checkpoint_hash", skip_serializing_if = "Option::is_none")]
980 pub previous_checkpoint_hash: Option<String>,
981 #[serde(rename = "receipt_count", skip_serializing_if = "Option::is_none")]
982 pub receipt_count: Option<i32>,
983 #[serde(rename = "record_count", skip_serializing_if = "Option::is_none")]
984 pub record_count: Option<i32>,
985 #[serde(rename = "root_hash", skip_serializing_if = "Option::is_none")]
986 pub root_hash: Option<String>,
987 #[serde(rename = "checkpoint_hash", skip_serializing_if = "Option::is_none")]
988 pub checkpoint_hash: Option<String>,
989 #[serde(rename = "created_at", skip_serializing_if = "Option::is_none")]
990 pub created_at: Option<String>,
991}
992
993impl BoundaryCheckpoint {
994 pub fn new() -> BoundaryCheckpoint {
995 BoundaryCheckpoint {
996 checkpoint_id: None,
997 sequence: None,
998 previous_checkpoint_hash: None,
999 receipt_count: None,
1000 record_count: None,
1001 root_hash: None,
1002 checkpoint_hash: None,
1003 created_at: None,
1004 }
1005 }
1006}
1007
1008#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
1020pub struct BoundaryRecordVerification {
1021 #[serde(rename = "record_id", skip_serializing_if = "Option::is_none")]
1022 pub record_id: Option<String>,
1023 #[serde(rename = "record_hash", skip_serializing_if = "Option::is_none")]
1024 pub record_hash: Option<String>,
1025 #[serde(rename = "receipt_id", skip_serializing_if = "Option::is_none")]
1026 pub receipt_id: Option<String>,
1027 #[serde(rename = "verified", skip_serializing_if = "Option::is_none")]
1028 pub verified: Option<bool>,
1029 #[serde(rename = "errors", skip_serializing_if = "Option::is_none")]
1030 pub errors: Option<Vec<String>>,
1031 #[serde(rename = "checked_at", skip_serializing_if = "Option::is_none")]
1032 pub checked_at: Option<String>,
1033}
1034
1035impl BoundaryRecordVerification {
1036 pub fn new() -> BoundaryRecordVerification {
1037 BoundaryRecordVerification {
1038 record_id: None,
1039 record_hash: None,
1040 receipt_id: None,
1041 verified: None,
1042 errors: None,
1043 checked_at: None,
1044 }
1045 }
1046}
1047
1048#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
1061pub struct BoundaryStatus {
1062 #[serde(rename = "status")]
1063 pub status: BoundaryStatusStatus,
1064 #[serde(rename = "mode")]
1065 pub mode: BoundaryStatusMode,
1066 #[serde(rename = "version", skip_serializing_if = "Option::is_none")]
1067 pub version: Option<String>,
1068 #[serde(rename = "receipt_signer")]
1069 pub receipt_signer: BoundaryStatusReceiptSigner,
1070 #[serde(rename = "receipt_store")]
1071 pub receipt_store: BoundaryStatusReceiptStore,
1072 #[serde(rename = "pdp")]
1073 pub pdp: BoundaryStatusPdp,
1074 #[serde(rename = "mcp_firewall")]
1075 pub mcp_firewall: BoundaryStatusMcpFirewall,
1076 #[serde(rename = "sandbox")]
1077 pub sandbox: BoundaryStatusSandbox,
1078 #[serde(rename = "authz")]
1079 pub authz: BoundaryStatusAuthz,
1080 #[serde(rename = "evidence_verifier")]
1081 pub evidence_verifier: BoundaryStatusEvidenceVerifier,
1082 #[serde(rename = "checkpoint_log")]
1083 pub checkpoint_log: BoundaryStatusCheckpointLog,
1084 #[serde(rename = "last_checkpoint_hash", skip_serializing_if = "Option::is_none")]
1085 pub last_checkpoint_hash: Option<String>,
1086 #[serde(rename = "open_approval_count")]
1087 pub open_approval_count: i32,
1088 #[serde(rename = "quarantined_mcp_count")]
1089 pub quarantined_mcp_count: i32,
1090 #[serde(rename = "updated_at")]
1091 pub updated_at: String,
1092 #[serde(rename = "components", skip_serializing_if = "Option::is_none")]
1093 pub components: Option<std::collections::HashMap<String, String>>,
1094}
1095
1096impl BoundaryStatus {
1097 pub fn new(status: BoundaryStatusStatus, mode: BoundaryStatusMode, receipt_signer: BoundaryStatusReceiptSigner, receipt_store: BoundaryStatusReceiptStore, pdp: BoundaryStatusPdp, mcp_firewall: BoundaryStatusMcpFirewall, sandbox: BoundaryStatusSandbox, authz: BoundaryStatusAuthz, evidence_verifier: BoundaryStatusEvidenceVerifier, checkpoint_log: BoundaryStatusCheckpointLog, open_approval_count: i32, quarantined_mcp_count: i32, updated_at: String) -> BoundaryStatus {
1099 BoundaryStatus {
1100 status,
1101 mode,
1102 version: None,
1103 receipt_signer,
1104 receipt_store,
1105 pdp,
1106 mcp_firewall,
1107 sandbox,
1108 authz,
1109 evidence_verifier,
1110 checkpoint_log,
1111 last_checkpoint_hash: None,
1112 open_approval_count,
1113 quarantined_mcp_count,
1114 updated_at,
1115 components: None,
1116 }
1117 }
1118}
1119#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
1121pub enum BoundaryStatusStatus {
1122 #[serde(rename = "degraded")]
1123 Degraded,
1124 #[serde(rename = "ready")]
1125 Ready,
1126}
1127
1128impl Default for BoundaryStatusStatus {
1129 fn default() -> BoundaryStatusStatus {
1130 Self::Degraded
1131 }
1132}
1133#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
1135pub enum BoundaryStatusMode {
1136 #[serde(rename = "oss-local")]
1137 OssLocal,
1138}
1139
1140impl Default for BoundaryStatusMode {
1141 fn default() -> BoundaryStatusMode {
1142 Self::OssLocal
1143 }
1144}
1145#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
1147pub enum BoundaryStatusReceiptSigner {
1148 #[serde(rename = "unavailable")]
1149 Unavailable,
1150 #[serde(rename = "ready")]
1151 Ready,
1152}
1153
1154impl Default for BoundaryStatusReceiptSigner {
1155 fn default() -> BoundaryStatusReceiptSigner {
1156 Self::Unavailable
1157 }
1158}
1159#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
1161pub enum BoundaryStatusReceiptStore {
1162 #[serde(rename = "unavailable")]
1163 Unavailable,
1164 #[serde(rename = "ready")]
1165 Ready,
1166}
1167
1168impl Default for BoundaryStatusReceiptStore {
1169 fn default() -> BoundaryStatusReceiptStore {
1170 Self::Unavailable
1171 }
1172}
1173#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
1175pub enum BoundaryStatusPdp {
1176 #[serde(rename = "fail-closed")]
1177 FailClosed,
1178}
1179
1180impl Default for BoundaryStatusPdp {
1181 fn default() -> BoundaryStatusPdp {
1182 Self::FailClosed
1183 }
1184}
1185#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
1187pub enum BoundaryStatusMcpFirewall {
1188 #[serde(rename = "enabled")]
1189 Enabled,
1190}
1191
1192impl Default for BoundaryStatusMcpFirewall {
1193 fn default() -> BoundaryStatusMcpFirewall {
1194 Self::Enabled
1195 }
1196}
1197#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
1199pub enum BoundaryStatusSandbox {
1200 #[serde(rename = "deny-default")]
1201 DenyDefault,
1202}
1203
1204impl Default for BoundaryStatusSandbox {
1205 fn default() -> BoundaryStatusSandbox {
1206 Self::DenyDefault
1207 }
1208}
1209#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
1211pub enum BoundaryStatusAuthz {
1212 #[serde(rename = "rebac-snapshot")]
1213 RebacSnapshot,
1214}
1215
1216impl Default for BoundaryStatusAuthz {
1217 fn default() -> BoundaryStatusAuthz {
1218 Self::RebacSnapshot
1219 }
1220}
1221#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
1223pub enum BoundaryStatusEvidenceVerifier {
1224 #[serde(rename = "offline")]
1225 Offline,
1226}
1227
1228impl Default for BoundaryStatusEvidenceVerifier {
1229 fn default() -> BoundaryStatusEvidenceVerifier {
1230 Self::Offline
1231 }
1232}
1233#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
1235pub enum BoundaryStatusCheckpointLog {
1236 #[serde(rename = "tamper-evident")]
1237 TamperEvident,
1238}
1239
1240impl Default for BoundaryStatusCheckpointLog {
1241 fn default() -> BoundaryStatusCheckpointLog {
1242 Self::TamperEvident
1243 }
1244}
1245
1246#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
1258pub struct BudgetCeiling {
1259 #[serde(rename = "budget_id", skip_serializing_if = "Option::is_none")]
1260 pub budget_id: Option<String>,
1261 #[serde(rename = "subject", skip_serializing_if = "Option::is_none")]
1262 pub subject: Option<String>,
1263 #[serde(rename = "window", skip_serializing_if = "Option::is_none")]
1264 pub window: Option<String>,
1265 #[serde(rename = "max_tool_calls", skip_serializing_if = "Option::is_none")]
1267 pub max_tool_calls: Option<i32>,
1268 #[serde(rename = "tool_call_limit", skip_serializing_if = "Option::is_none")]
1269 pub tool_call_limit: Option<i32>,
1270 #[serde(rename = "max_spend_minor", skip_serializing_if = "Option::is_none")]
1272 pub max_spend_minor: Option<i64>,
1273 #[serde(rename = "spend_limit_cents", skip_serializing_if = "Option::is_none")]
1274 pub spend_limit_cents: Option<i64>,
1275 #[serde(rename = "max_egress_bytes", skip_serializing_if = "Option::is_none")]
1277 pub max_egress_bytes: Option<i64>,
1278 #[serde(rename = "egress_limit_bytes", skip_serializing_if = "Option::is_none")]
1279 pub egress_limit_bytes: Option<i64>,
1280 #[serde(rename = "max_write_ops", skip_serializing_if = "Option::is_none")]
1282 pub max_write_ops: Option<i32>,
1283 #[serde(rename = "write_operation_limit", skip_serializing_if = "Option::is_none")]
1284 pub write_operation_limit: Option<i32>,
1285 #[serde(rename = "approval_required_after", skip_serializing_if = "Option::is_none")]
1287 pub approval_required_after: Option<i32>,
1288 #[serde(rename = "approval_required_above_cents", skip_serializing_if = "Option::is_none")]
1289 pub approval_required_above_cents: Option<i64>,
1290 #[serde(rename = "policy_epoch", skip_serializing_if = "Option::is_none")]
1291 pub policy_epoch: Option<String>,
1292 #[serde(rename = "updated_at", skip_serializing_if = "Option::is_none")]
1293 pub updated_at: Option<String>,
1294}
1295
1296impl BudgetCeiling {
1297 pub fn new() -> BudgetCeiling {
1298 BudgetCeiling {
1299 budget_id: None,
1300 subject: None,
1301 window: None,
1302 max_tool_calls: None,
1303 tool_call_limit: None,
1304 max_spend_minor: None,
1305 spend_limit_cents: None,
1306 max_egress_bytes: None,
1307 egress_limit_bytes: None,
1308 max_write_ops: None,
1309 write_operation_limit: None,
1310 approval_required_after: None,
1311 approval_required_above_cents: None,
1312 policy_epoch: None,
1313 updated_at: None,
1314 }
1315 }
1316}
1317
1318#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
1330pub struct BuildStrategy {
1331 #[serde(rename = "strategy", skip_serializing_if = "Option::is_none")]
1332 pub strategy: Option<String>,
1333 #[serde(rename = "confidence", skip_serializing_if = "Option::is_none")]
1334 pub confidence: Option<f64>,
1335 #[serde(rename = "reason", skip_serializing_if = "Option::is_none")]
1336 pub reason: Option<String>,
1337 #[serde(rename = "commands", skip_serializing_if = "Option::is_none")]
1338 pub commands: Option<Vec<Vec<String>>>,
1339 #[serde(rename = "manifest_sources", skip_serializing_if = "Option::is_none")]
1340 pub manifest_sources: Option<Vec<String>>,
1341}
1342
1343impl BuildStrategy {
1344 pub fn new() -> BuildStrategy {
1345 BuildStrategy {
1346 strategy: None,
1347 confidence: None,
1348 reason: None,
1349 commands: None,
1350 manifest_sources: None,
1351 }
1352 }
1353}
1354
1355#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
1367pub struct CapabilityGraph {
1368 #[serde(rename = "capabilities", skip_serializing_if = "Option::is_none")]
1369 pub capabilities: Option<Vec<String>>,
1370 #[serde(rename = "modules", skip_serializing_if = "Option::is_none")]
1371 pub modules: Option<Vec<DetectedModule>>,
1372 #[serde(rename = "frameworks", skip_serializing_if = "Option::is_none")]
1373 pub frameworks: Option<Vec<DetectedFramework>>,
1374 #[serde(rename = "secrets", skip_serializing_if = "Option::is_none")]
1375 pub secrets: Option<Vec<SecretContract>>,
1376 #[serde(rename = "oauth", skip_serializing_if = "Option::is_none")]
1377 pub oauth: Option<Vec<OAuthRequirement>>,
1378 #[serde(rename = "ports", skip_serializing_if = "Option::is_none")]
1379 pub ports: Option<Vec<i32>>,
1380 #[serde(rename = "build_signals", skip_serializing_if = "Option::is_none")]
1381 pub build_signals: Option<Vec<String>>,
1382 #[serde(rename = "runtime_signals", skip_serializing_if = "Option::is_none")]
1383 pub runtime_signals: Option<Vec<String>>,
1384 #[serde(rename = "policy_signals", skip_serializing_if = "Option::is_none")]
1385 pub policy_signals: Option<Vec<String>>,
1386 #[serde(rename = "security_signals", skip_serializing_if = "Option::is_none")]
1387 pub security_signals: Option<Vec<String>>,
1388 #[serde(rename = "adapter_matches", skip_serializing_if = "Option::is_none")]
1389 pub adapter_matches: Option<Vec<AdapterMatch>>,
1390 #[serde(rename = "confidence", skip_serializing_if = "Option::is_none")]
1391 pub confidence: Option<f64>,
1392 #[serde(rename = "confidence_reason", skip_serializing_if = "Option::is_none")]
1393 pub confidence_reason: Option<String>,
1394}
1395
1396impl CapabilityGraph {
1397 pub fn new() -> CapabilityGraph {
1398 CapabilityGraph {
1399 capabilities: None,
1400 modules: None,
1401 frameworks: None,
1402 secrets: None,
1403 oauth: None,
1404 ports: None,
1405 build_signals: None,
1406 runtime_signals: None,
1407 policy_signals: None,
1408 security_signals: None,
1409 adapter_matches: None,
1410 confidence: None,
1411 confidence_reason: None,
1412 }
1413 }
1414}
1415
1416#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
1428pub struct ChatCompletionRequest {
1429 #[serde(rename = "model")]
1430 pub model: String,
1431 #[serde(rename = "messages")]
1432 pub messages: Vec<ChatCompletionRequestMessagesInner>,
1433 #[serde(rename = "tools", skip_serializing_if = "Option::is_none")]
1434 pub tools: Option<Vec<ChatCompletionRequestToolsInner>>,
1435 #[serde(rename = "temperature", skip_serializing_if = "Option::is_none")]
1436 pub temperature: Option<f64>,
1437 #[serde(rename = "max_tokens", skip_serializing_if = "Option::is_none")]
1438 pub max_tokens: Option<i32>,
1439 #[serde(rename = "stream", skip_serializing_if = "Option::is_none")]
1440 pub stream: Option<bool>,
1441}
1442
1443impl ChatCompletionRequest {
1444 pub fn new(model: String, messages: Vec<ChatCompletionRequestMessagesInner>) -> ChatCompletionRequest {
1445 ChatCompletionRequest {
1446 model,
1447 messages,
1448 tools: None,
1449 temperature: None,
1450 max_tokens: None,
1451 stream: None,
1452 }
1453 }
1454}
1455
1456#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
1468pub struct ChatCompletionRequestMessagesInner {
1469 #[serde(rename = "role")]
1470 pub role: ChatCompletionRequestMessagesInnerRole,
1471 #[serde(rename = "content")]
1472 pub content: String,
1473 #[serde(rename = "tool_call_id", skip_serializing_if = "Option::is_none")]
1474 pub tool_call_id: Option<String>,
1475}
1476
1477impl ChatCompletionRequestMessagesInner {
1478 pub fn new(role: ChatCompletionRequestMessagesInnerRole, content: String) -> ChatCompletionRequestMessagesInner {
1479 ChatCompletionRequestMessagesInner {
1480 role,
1481 content,
1482 tool_call_id: None,
1483 }
1484 }
1485}
1486#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
1488pub enum ChatCompletionRequestMessagesInnerRole {
1489 #[serde(rename = "system")]
1490 System,
1491 #[serde(rename = "user")]
1492 User,
1493 #[serde(rename = "assistant")]
1494 Assistant,
1495 #[serde(rename = "tool")]
1496 Tool,
1497}
1498
1499impl Default for ChatCompletionRequestMessagesInnerRole {
1500 fn default() -> ChatCompletionRequestMessagesInnerRole {
1501 Self::System
1502 }
1503}
1504
1505#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
1517pub struct ChatCompletionRequestToolsInner {
1518 #[serde(rename = "type", skip_serializing_if = "Option::is_none")]
1519 pub r#type: Option<ChatCompletionRequestToolsInnerType>,
1520 #[serde(rename = "function", skip_serializing_if = "Option::is_none")]
1521 pub function: Option<Box<ChatCompletionRequestToolsInnerFunction>>,
1522}
1523
1524impl ChatCompletionRequestToolsInner {
1525 pub fn new() -> ChatCompletionRequestToolsInner {
1526 ChatCompletionRequestToolsInner {
1527 r#type: None,
1528 function: None,
1529 }
1530 }
1531}
1532#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
1534pub enum ChatCompletionRequestToolsInnerType {
1535 #[serde(rename = "function")]
1536 Function,
1537}
1538
1539impl Default for ChatCompletionRequestToolsInnerType {
1540 fn default() -> ChatCompletionRequestToolsInnerType {
1541 Self::Function
1542 }
1543}
1544
1545#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
1557pub struct ChatCompletionRequestToolsInnerFunction {
1558 #[serde(rename = "name", skip_serializing_if = "Option::is_none")]
1559 pub name: Option<String>,
1560 #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
1561 pub description: Option<String>,
1562 #[serde(rename = "parameters", skip_serializing_if = "Option::is_none")]
1563 pub parameters: Option<serde_json::Value>,
1564}
1565
1566impl ChatCompletionRequestToolsInnerFunction {
1567 pub fn new() -> ChatCompletionRequestToolsInnerFunction {
1568 ChatCompletionRequestToolsInnerFunction {
1569 name: None,
1570 description: None,
1571 parameters: None,
1572 }
1573 }
1574}
1575
1576#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
1588pub struct ChatCompletionResponse {
1589 #[serde(rename = "id", skip_serializing_if = "Option::is_none")]
1590 pub id: Option<String>,
1591 #[serde(rename = "object", skip_serializing_if = "Option::is_none")]
1592 pub object: Option<String>,
1593 #[serde(rename = "created", skip_serializing_if = "Option::is_none")]
1594 pub created: Option<i32>,
1595 #[serde(rename = "model", skip_serializing_if = "Option::is_none")]
1596 pub model: Option<String>,
1597 #[serde(rename = "choices", skip_serializing_if = "Option::is_none")]
1598 pub choices: Option<Vec<ChatCompletionResponseChoicesInner>>,
1599 #[serde(rename = "usage", skip_serializing_if = "Option::is_none")]
1600 pub usage: Option<Box<ChatCompletionResponseUsage>>,
1601}
1602
1603impl ChatCompletionResponse {
1604 pub fn new() -> ChatCompletionResponse {
1605 ChatCompletionResponse {
1606 id: None,
1607 object: None,
1608 created: None,
1609 model: None,
1610 choices: None,
1611 usage: None,
1612 }
1613 }
1614}
1615
1616#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
1628pub struct ChatCompletionResponseChoicesInner {
1629 #[serde(rename = "index", skip_serializing_if = "Option::is_none")]
1630 pub index: Option<i32>,
1631 #[serde(rename = "message", skip_serializing_if = "Option::is_none")]
1632 pub message: Option<Box<ChatCompletionResponseChoicesInnerMessage>>,
1633 #[serde(rename = "finish_reason", skip_serializing_if = "Option::is_none")]
1634 pub finish_reason: Option<String>,
1635}
1636
1637impl ChatCompletionResponseChoicesInner {
1638 pub fn new() -> ChatCompletionResponseChoicesInner {
1639 ChatCompletionResponseChoicesInner {
1640 index: None,
1641 message: None,
1642 finish_reason: None,
1643 }
1644 }
1645}
1646
1647#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
1659pub struct ChatCompletionResponseChoicesInnerMessage {
1660 #[serde(rename = "role", skip_serializing_if = "Option::is_none")]
1661 pub role: Option<String>,
1662 #[serde(rename = "content", default, skip_serializing_if = "Option::is_none")]
1663 pub content: Option<Option<String>>,
1664 #[serde(rename = "tool_calls", skip_serializing_if = "Option::is_none")]
1665 pub tool_calls: Option<Vec<ChatCompletionResponseChoicesInnerMessageToolCallsInner>>,
1666}
1667
1668impl ChatCompletionResponseChoicesInnerMessage {
1669 pub fn new() -> ChatCompletionResponseChoicesInnerMessage {
1670 ChatCompletionResponseChoicesInnerMessage {
1671 role: None,
1672 content: None,
1673 tool_calls: None,
1674 }
1675 }
1676}
1677
1678#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
1690pub struct ChatCompletionResponseChoicesInnerMessageToolCallsInner {
1691 #[serde(rename = "id", skip_serializing_if = "Option::is_none")]
1692 pub id: Option<String>,
1693 #[serde(rename = "type", skip_serializing_if = "Option::is_none")]
1694 pub r#type: Option<String>,
1695 #[serde(rename = "function", skip_serializing_if = "Option::is_none")]
1696 pub function: Option<Box<ChatCompletionResponseChoicesInnerMessageToolCallsInnerFunction>>,
1697}
1698
1699impl ChatCompletionResponseChoicesInnerMessageToolCallsInner {
1700 pub fn new() -> ChatCompletionResponseChoicesInnerMessageToolCallsInner {
1701 ChatCompletionResponseChoicesInnerMessageToolCallsInner {
1702 id: None,
1703 r#type: None,
1704 function: None,
1705 }
1706 }
1707}
1708
1709#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
1721pub struct ChatCompletionResponseChoicesInnerMessageToolCallsInnerFunction {
1722 #[serde(rename = "name", skip_serializing_if = "Option::is_none")]
1723 pub name: Option<String>,
1724 #[serde(rename = "arguments", skip_serializing_if = "Option::is_none")]
1725 pub arguments: Option<String>,
1726}
1727
1728impl ChatCompletionResponseChoicesInnerMessageToolCallsInnerFunction {
1729 pub fn new() -> ChatCompletionResponseChoicesInnerMessageToolCallsInnerFunction {
1730 ChatCompletionResponseChoicesInnerMessageToolCallsInnerFunction {
1731 name: None,
1732 arguments: None,
1733 }
1734 }
1735}
1736
1737#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
1749pub struct ChatCompletionResponseUsage {
1750 #[serde(rename = "prompt_tokens", skip_serializing_if = "Option::is_none")]
1751 pub prompt_tokens: Option<i32>,
1752 #[serde(rename = "completion_tokens", skip_serializing_if = "Option::is_none")]
1753 pub completion_tokens: Option<i32>,
1754 #[serde(rename = "total_tokens", skip_serializing_if = "Option::is_none")]
1755 pub total_tokens: Option<i32>,
1756}
1757
1758impl ChatCompletionResponseUsage {
1759 pub fn new() -> ChatCompletionResponseUsage {
1760 ChatCompletionResponseUsage {
1761 prompt_tokens: None,
1762 completion_tokens: None,
1763 total_tokens: None,
1764 }
1765 }
1766}
1767
1768#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
1780pub struct CoexistenceCapabilityManifest {
1781 #[serde(rename = "manifest_id", skip_serializing_if = "Option::is_none")]
1782 pub manifest_id: Option<String>,
1783 #[serde(rename = "authority", skip_serializing_if = "Option::is_none")]
1784 pub authority: Option<String>,
1785 #[serde(rename = "boundary_role", skip_serializing_if = "Option::is_none")]
1786 pub boundary_role: Option<String>,
1787 #[serde(rename = "supported_inputs", skip_serializing_if = "Option::is_none")]
1788 pub supported_inputs: Option<Vec<String>>,
1789 #[serde(rename = "export_surfaces", skip_serializing_if = "Option::is_none")]
1790 pub export_surfaces: Option<Vec<String>>,
1791 #[serde(rename = "receipt_bindings", skip_serializing_if = "Option::is_none")]
1792 pub receipt_bindings: Option<Vec<String>>,
1793 #[serde(rename = "generated_at", skip_serializing_if = "Option::is_none")]
1794 pub generated_at: Option<String>,
1795}
1796
1797impl CoexistenceCapabilityManifest {
1798 pub fn new() -> CoexistenceCapabilityManifest {
1799 CoexistenceCapabilityManifest {
1800 manifest_id: None,
1801 authority: None,
1802 boundary_role: None,
1803 supported_inputs: None,
1804 export_surfaces: None,
1805 receipt_bindings: None,
1806 generated_at: None,
1807 }
1808 }
1809}
1810
1811#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
1823pub struct ConformanceRequest {
1824 #[serde(rename = "level")]
1825 pub level: ConformanceRequestLevel,
1826 #[serde(rename = "profile", skip_serializing_if = "Option::is_none")]
1827 pub profile: Option<String>,
1828}
1829
1830impl ConformanceRequest {
1831 pub fn new(level: ConformanceRequestLevel) -> ConformanceRequest {
1832 ConformanceRequest {
1833 level,
1834 profile: None,
1835 }
1836 }
1837}
1838#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
1840pub enum ConformanceRequestLevel {
1841 #[serde(rename = "L1")]
1842 L1,
1843 #[serde(rename = "L2")]
1844 L2,
1845}
1846
1847impl Default for ConformanceRequestLevel {
1848 fn default() -> ConformanceRequestLevel {
1849 Self::L1
1850 }
1851}
1852
1853#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
1865pub struct ConformanceResult {
1866 #[serde(rename = "report_id", skip_serializing_if = "Option::is_none")]
1867 pub report_id: Option<String>,
1868 #[serde(rename = "level", skip_serializing_if = "Option::is_none")]
1869 pub level: Option<String>,
1870 #[serde(rename = "verdict", skip_serializing_if = "Option::is_none")]
1871 pub verdict: Option<ConformanceResultVerdict>,
1872 #[serde(rename = "gates", skip_serializing_if = "Option::is_none")]
1873 pub gates: Option<i32>,
1874 #[serde(rename = "failed", skip_serializing_if = "Option::is_none")]
1875 pub failed: Option<i32>,
1876 #[serde(rename = "details", skip_serializing_if = "Option::is_none")]
1877 pub details: Option<std::collections::HashMap<String, String>>,
1878}
1879
1880impl ConformanceResult {
1881 pub fn new() -> ConformanceResult {
1882 ConformanceResult {
1883 report_id: None,
1884 level: None,
1885 verdict: None,
1886 gates: None,
1887 failed: None,
1888 details: None,
1889 }
1890 }
1891}
1892#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
1894pub enum ConformanceResultVerdict {
1895 #[serde(rename = "PASS")]
1896 Pass,
1897 #[serde(rename = "FAIL")]
1898 Fail,
1899}
1900
1901impl Default for ConformanceResultVerdict {
1902 fn default() -> ConformanceResultVerdict {
1903 Self::Pass
1904 }
1905}
1906
1907#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
1919pub struct ConsoleBootstrap {
1920 #[serde(rename = "version")]
1921 pub version: Box<VersionInfo>,
1922 #[serde(rename = "workspace")]
1923 pub workspace: Box<ConsoleBootstrapWorkspace>,
1924 #[serde(rename = "health")]
1925 pub health: Box<ConsoleBootstrapHealth>,
1926 #[serde(rename = "counts")]
1927 pub counts: Box<ConsoleBootstrapCounts>,
1928 #[serde(rename = "receipts")]
1929 pub receipts: Vec<Receipt>,
1930 #[serde(rename = "conformance")]
1931 pub conformance: Box<ConsoleBootstrapConformance>,
1932 #[serde(rename = "mcp")]
1933 pub mcp: Box<ConsoleBootstrapMcp>,
1934}
1935
1936impl ConsoleBootstrap {
1937 pub fn new(version: VersionInfo, workspace: ConsoleBootstrapWorkspace, health: ConsoleBootstrapHealth, counts: ConsoleBootstrapCounts, receipts: Vec<Receipt>, conformance: ConsoleBootstrapConformance, mcp: ConsoleBootstrapMcp) -> ConsoleBootstrap {
1938 ConsoleBootstrap {
1939 version: Box::new(version),
1940 workspace: Box::new(workspace),
1941 health: Box::new(health),
1942 counts: Box::new(counts),
1943 receipts,
1944 conformance: Box::new(conformance),
1945 mcp: Box::new(mcp),
1946 }
1947 }
1948}
1949
1950#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
1962pub struct ConsoleBootstrapConformance {
1963 #[serde(rename = "level")]
1964 pub level: String,
1965 #[serde(rename = "status")]
1966 pub status: String,
1967 #[serde(rename = "report_id", skip_serializing_if = "Option::is_none")]
1968 pub report_id: Option<String>,
1969}
1970
1971impl ConsoleBootstrapConformance {
1972 pub fn new(level: String, status: String) -> ConsoleBootstrapConformance {
1973 ConsoleBootstrapConformance {
1974 level,
1975 status,
1976 report_id: None,
1977 }
1978 }
1979}
1980
1981#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
1993pub struct ConsoleBootstrapCounts {
1994 #[serde(rename = "receipts")]
1995 pub receipts: i32,
1996 #[serde(rename = "pending_approvals")]
1997 pub pending_approvals: i32,
1998 #[serde(rename = "open_incidents")]
1999 pub open_incidents: i32,
2000 #[serde(rename = "mcp_tools")]
2001 pub mcp_tools: i32,
2002}
2003
2004impl ConsoleBootstrapCounts {
2005 pub fn new(receipts: i32, pending_approvals: i32, open_incidents: i32, mcp_tools: i32) -> ConsoleBootstrapCounts {
2006 ConsoleBootstrapCounts {
2007 receipts,
2008 pending_approvals,
2009 open_incidents,
2010 mcp_tools,
2011 }
2012 }
2013}
2014
2015#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
2027pub struct ConsoleBootstrapHealth {
2028 #[serde(rename = "kernel")]
2029 pub kernel: String,
2030 #[serde(rename = "policy")]
2031 pub policy: String,
2032 #[serde(rename = "store")]
2033 pub store: String,
2034 #[serde(rename = "conformance")]
2035 pub conformance: String,
2036}
2037
2038impl ConsoleBootstrapHealth {
2039 pub fn new(kernel: String, policy: String, store: String, conformance: String) -> ConsoleBootstrapHealth {
2040 ConsoleBootstrapHealth {
2041 kernel,
2042 policy,
2043 store,
2044 conformance,
2045 }
2046 }
2047}
2048
2049#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
2061pub struct ConsoleBootstrapMcp {
2062 #[serde(rename = "authorization")]
2063 pub authorization: String,
2064 #[serde(rename = "scopes")]
2065 pub scopes: Vec<String>,
2066}
2067
2068impl ConsoleBootstrapMcp {
2069 pub fn new(authorization: String, scopes: Vec<String>) -> ConsoleBootstrapMcp {
2070 ConsoleBootstrapMcp {
2071 authorization,
2072 scopes,
2073 }
2074 }
2075}
2076
2077#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
2089pub struct ConsoleBootstrapWorkspace {
2090 #[serde(rename = "organization")]
2091 pub organization: String,
2092 #[serde(rename = "project")]
2093 pub project: String,
2094 #[serde(rename = "environment")]
2095 pub environment: String,
2096 #[serde(rename = "mode")]
2097 pub mode: String,
2098}
2099
2100impl ConsoleBootstrapWorkspace {
2101 pub fn new(organization: String, project: String, environment: String, mode: String) -> ConsoleBootstrapWorkspace {
2102 ConsoleBootstrapWorkspace {
2103 organization,
2104 project,
2105 environment,
2106 mode,
2107 }
2108 }
2109}
2110
2111#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
2123pub struct ConsoleCapabilities {
2124 #[serde(rename = "entitlements")]
2125 pub entitlements: Vec<String>,
2126 #[serde(rename = "version")]
2127 pub version: String,
2128 #[serde(rename = "source", skip_serializing_if = "Option::is_none")]
2129 pub source: Option<String>,
2130 #[serde(rename = "tier_gate", skip_serializing_if = "Option::is_none")]
2131 pub tier_gate: Option<String>,
2132}
2133
2134impl ConsoleCapabilities {
2135 pub fn new(entitlements: Vec<String>, version: String) -> ConsoleCapabilities {
2136 ConsoleCapabilities {
2137 entitlements,
2138 version,
2139 source: None,
2140 tier_gate: None,
2141 }
2142 }
2143}
2144
2145#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
2157pub struct ConsoleDiagnostics {
2158 #[serde(rename = "generated_at")]
2159 pub generated_at: String,
2160 #[serde(rename = "runtime")]
2161 pub runtime: std::collections::HashMap<String, serde_json::Value>,
2162 #[serde(rename = "access")]
2163 pub access: std::collections::HashMap<String, serde_json::Value>,
2164 #[serde(rename = "stores")]
2165 pub stores: Vec<ConsoleStoreDiagnostic>,
2166 #[serde(rename = "routes")]
2167 pub routes: Vec<ConsoleRouteDiagnostic>,
2168}
2169
2170impl ConsoleDiagnostics {
2171 pub fn new(generated_at: String, runtime: std::collections::HashMap<String, serde_json::Value>, access: std::collections::HashMap<String, serde_json::Value>, stores: Vec<ConsoleStoreDiagnostic>, routes: Vec<ConsoleRouteDiagnostic>) -> ConsoleDiagnostics {
2172 ConsoleDiagnostics {
2173 generated_at,
2174 runtime,
2175 access,
2176 stores,
2177 routes,
2178 }
2179 }
2180}
2181
2182#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
2194pub struct ConsoleRouteDiagnostic {
2195 #[serde(rename = "method")]
2196 pub method: String,
2197 #[serde(rename = "path")]
2198 pub path: String,
2199 #[serde(rename = "mux_pattern", skip_serializing_if = "Option::is_none")]
2200 pub mux_pattern: Option<String>,
2201 #[serde(rename = "auth")]
2202 pub auth: String,
2203 #[serde(rename = "rate_limit", skip_serializing_if = "Option::is_none")]
2204 pub rate_limit: Option<String>,
2205 #[serde(rename = "contract_status")]
2206 pub contract_status: String,
2207 #[serde(rename = "operation_id")]
2208 pub operation_id: String,
2209 #[serde(rename = "owner")]
2210 pub owner: String,
2211 #[serde(rename = "group")]
2212 pub group: String,
2213 #[serde(rename = "ui_coverage", skip_serializing_if = "Option::is_none")]
2214 pub ui_coverage: Option<String>,
2215 #[serde(rename = "unsupported_reason", skip_serializing_if = "Option::is_none")]
2216 pub unsupported_reason: Option<String>,
2217}
2218
2219impl ConsoleRouteDiagnostic {
2220 pub fn new(method: String, path: String, auth: String, contract_status: String, operation_id: String, owner: String, group: String) -> ConsoleRouteDiagnostic {
2221 ConsoleRouteDiagnostic {
2222 method,
2223 path,
2224 mux_pattern: None,
2225 auth,
2226 rate_limit: None,
2227 contract_status,
2228 operation_id,
2229 owner,
2230 group,
2231 ui_coverage: None,
2232 unsupported_reason: None,
2233 }
2234 }
2235}
2236
2237#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
2249pub struct ConsoleStoreDiagnostic {
2250 #[serde(rename = "id")]
2251 pub id: String,
2252 #[serde(rename = "label")]
2253 pub label: String,
2254 #[serde(rename = "status")]
2255 pub status: String,
2256 #[serde(rename = "backend")]
2257 pub backend: String,
2258 #[serde(rename = "source", skip_serializing_if = "Option::is_none")]
2259 pub source: Option<String>,
2260 #[serde(rename = "path", skip_serializing_if = "Option::is_none")]
2261 pub path: Option<String>,
2262 #[serde(rename = "detail", skip_serializing_if = "Option::is_none")]
2263 pub detail: Option<String>,
2264}
2265
2266impl ConsoleStoreDiagnostic {
2267 pub fn new(id: String, label: String, status: String, backend: String) -> ConsoleStoreDiagnostic {
2268 ConsoleStoreDiagnostic {
2269 id,
2270 label,
2271 status,
2272 backend,
2273 source: None,
2274 path: None,
2275 detail: None,
2276 }
2277 }
2278}
2279
2280#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
2292pub struct ConsoleSurfaceRef {
2293 #[serde(rename = "id")]
2294 pub id: String,
2295 #[serde(rename = "label", skip_serializing_if = "Option::is_none")]
2296 pub label: Option<String>,
2297 #[serde(rename = "group", skip_serializing_if = "Option::is_none")]
2298 pub group: Option<String>,
2299 #[serde(rename = "source")]
2300 pub source: String,
2301 #[serde(rename = "auth", skip_serializing_if = "Option::is_none")]
2302 pub auth: Option<String>,
2303 #[serde(rename = "contract_status", skip_serializing_if = "Option::is_none")]
2304 pub contract_status: Option<String>,
2305 #[serde(rename = "status", skip_serializing_if = "Option::is_none")]
2306 pub status: Option<String>,
2307 #[serde(rename = "unsupported_reason", skip_serializing_if = "Option::is_none")]
2308 pub unsupported_reason: Option<String>,
2309 #[serde(rename = "routes", skip_serializing_if = "Option::is_none")]
2310 pub routes: Option<Vec<ConsoleRouteDiagnostic>>,
2311}
2312
2313impl ConsoleSurfaceRef {
2314 pub fn new(id: String, source: String) -> ConsoleSurfaceRef {
2315 ConsoleSurfaceRef {
2316 id,
2317 label: None,
2318 group: None,
2319 source,
2320 auth: None,
2321 contract_status: None,
2322 status: None,
2323 unsupported_reason: None,
2324 routes: None,
2325 }
2326 }
2327}
2328
2329#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
2341pub struct ConsoleSurfaceState {
2342 #[serde(rename = "id")]
2343 pub id: String,
2344 #[serde(rename = "status")]
2345 pub status: String,
2346 #[serde(rename = "source")]
2347 pub source: String,
2348 #[serde(rename = "generated_at")]
2349 pub generated_at: String,
2350 #[serde(rename = "summary", skip_serializing_if = "Option::is_none")]
2351 pub summary: Option<std::collections::HashMap<String, serde_json::Value>>,
2352 #[serde(rename = "records", skip_serializing_if = "Option::is_none")]
2353 pub records: Option<Vec<std::collections::HashMap<String, serde_json::Value>>>,
2354}
2355
2356impl ConsoleSurfaceState {
2357 pub fn new(id: String, status: String, source: String, generated_at: String) -> ConsoleSurfaceState {
2358 ConsoleSurfaceState {
2359 id,
2360 status,
2361 source,
2362 generated_at,
2363 summary: None,
2364 records: None,
2365 }
2366 }
2367}
2368
2369#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
2381pub struct CreateApprovalWebAuthnChallengeRequest {
2382 #[serde(rename = "method", skip_serializing_if = "Option::is_none")]
2383 pub method: Option<String>,
2384 #[serde(rename = "ttl_ms", skip_serializing_if = "Option::is_none")]
2385 pub ttl_ms: Option<i32>,
2386}
2387
2388impl CreateApprovalWebAuthnChallengeRequest {
2389 pub fn new() -> CreateApprovalWebAuthnChallengeRequest {
2390 CreateApprovalWebAuthnChallengeRequest {
2391 method: None,
2392 ttl_ms: None,
2393 }
2394 }
2395}
2396
2397#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
2409pub struct CreateLaunchpadImport202Response {
2410 #[serde(rename = "import")]
2411 pub import: Box<LaunchpadImportRecord>,
2412 #[serde(rename = "cli_equivalent", skip_serializing_if = "Option::is_none")]
2413 pub cli_equivalent: Option<String>,
2414}
2415
2416impl CreateLaunchpadImport202Response {
2417 pub fn new(import: LaunchpadImportRecord) -> CreateLaunchpadImport202Response {
2418 CreateLaunchpadImport202Response {
2419 import: Box::new(import),
2420 cli_equivalent: None,
2421 }
2422 }
2423}
2424
2425#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
2437pub struct CreateSandboxGrantRequest {
2438 #[serde(rename = "runtime", skip_serializing_if = "Option::is_none")]
2439 pub runtime: Option<String>,
2440 #[serde(rename = "profile", skip_serializing_if = "Option::is_none")]
2441 pub profile: Option<String>,
2442 #[serde(rename = "image_digest", skip_serializing_if = "Option::is_none")]
2443 pub image_digest: Option<String>,
2444 #[serde(rename = "policy_epoch", skip_serializing_if = "Option::is_none")]
2445 pub policy_epoch: Option<String>,
2446}
2447
2448impl CreateSandboxGrantRequest {
2449 pub fn new() -> CreateSandboxGrantRequest {
2450 CreateSandboxGrantRequest {
2451 runtime: None,
2452 profile: None,
2453 image_digest: None,
2454 policy_epoch: None,
2455 }
2456 }
2457}
2458
2459#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
2471pub struct DecisionRecord {
2472 #[serde(rename = "id", skip_serializing_if = "Option::is_none")]
2473 pub id: Option<String>,
2474 #[serde(rename = "action", skip_serializing_if = "Option::is_none")]
2475 pub action: Option<String>,
2476 #[serde(rename = "resource", skip_serializing_if = "Option::is_none")]
2477 pub resource: Option<String>,
2478 #[serde(rename = "verdict", skip_serializing_if = "Option::is_none")]
2479 pub verdict: Option<String>,
2480 #[serde(rename = "reason", skip_serializing_if = "Option::is_none")]
2481 pub reason: Option<String>,
2482 #[serde(rename = "signature_version", skip_serializing_if = "Option::is_none")]
2483 pub signature_version: Option<String>,
2484 #[serde(rename = "reason_code", skip_serializing_if = "Option::is_none")]
2485 pub reason_code: Option<String>,
2486 #[serde(rename = "phenotype_hash", skip_serializing_if = "Option::is_none")]
2487 pub phenotype_hash: Option<String>,
2488 #[serde(rename = "policy_content_hash", skip_serializing_if = "Option::is_none")]
2489 pub policy_content_hash: Option<String>,
2490 #[serde(rename = "effect_digest", skip_serializing_if = "Option::is_none")]
2491 pub effect_digest: Option<String>,
2492 #[serde(rename = "policy_version", skip_serializing_if = "Option::is_none")]
2493 pub policy_version: Option<String>,
2494 #[serde(rename = "policy_decision_hash", skip_serializing_if = "Option::is_none")]
2495 pub policy_decision_hash: Option<String>,
2496 #[serde(rename = "signature", skip_serializing_if = "Option::is_none")]
2497 pub signature: Option<String>,
2498}
2499
2500impl DecisionRecord {
2501 pub fn new() -> DecisionRecord {
2502 DecisionRecord {
2503 id: None,
2504 action: None,
2505 resource: None,
2506 verdict: None,
2507 reason: None,
2508 signature_version: None,
2509 reason_code: None,
2510 phenotype_hash: None,
2511 policy_content_hash: None,
2512 effect_digest: None,
2513 policy_version: None,
2514 policy_decision_hash: None,
2515 signature: None,
2516 }
2517 }
2518}
2519
2520#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
2533pub struct DecisionRequest {
2534 #[serde(rename = "principal", skip_serializing_if = "Option::is_none")]
2535 pub principal: Option<String>,
2536 #[serde(rename = "action")]
2537 pub action: String,
2538 #[serde(rename = "resource")]
2539 pub resource: String,
2540 #[serde(rename = "context", skip_serializing_if = "Option::is_none")]
2541 pub context: Option<std::collections::HashMap<String, serde_json::Value>>,
2542}
2543
2544impl DecisionRequest {
2545 pub fn new(action: String, resource: String) -> DecisionRequest {
2547 DecisionRequest {
2548 principal: None,
2549 action,
2550 resource,
2551 context: None,
2552 }
2553 }
2554}
2555
2556#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
2568pub struct DetectedFramework {
2569 #[serde(rename = "id", skip_serializing_if = "Option::is_none")]
2570 pub id: Option<String>,
2571 #[serde(rename = "name", skip_serializing_if = "Option::is_none")]
2572 pub name: Option<String>,
2573 #[serde(rename = "confidence", skip_serializing_if = "Option::is_none")]
2574 pub confidence: Option<f64>,
2575 #[serde(rename = "evidence", skip_serializing_if = "Option::is_none")]
2576 pub evidence: Option<Vec<String>>,
2577}
2578
2579impl DetectedFramework {
2580 pub fn new() -> DetectedFramework {
2581 DetectedFramework {
2582 id: None,
2583 name: None,
2584 confidence: None,
2585 evidence: None,
2586 }
2587 }
2588}
2589
2590#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
2602pub struct DetectedModule {
2603 #[serde(rename = "path", skip_serializing_if = "Option::is_none")]
2604 pub path: Option<String>,
2605 #[serde(rename = "kind", skip_serializing_if = "Option::is_none")]
2606 pub kind: Option<String>,
2607 #[serde(rename = "manifests", skip_serializing_if = "Option::is_none")]
2608 pub manifests: Option<Vec<String>>,
2609 #[serde(rename = "entrypoints", skip_serializing_if = "Option::is_none")]
2610 pub entrypoints: Option<Vec<String>>,
2611 #[serde(rename = "build_strategy", skip_serializing_if = "Option::is_none")]
2612 pub build_strategy: Option<String>,
2613}
2614
2615impl DetectedModule {
2616 pub fn new() -> DetectedModule {
2617 DetectedModule {
2618 path: None,
2619 kind: None,
2620 manifests: None,
2621 entrypoints: None,
2622 build_strategy: None,
2623 }
2624 }
2625}
2626
2627#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
2640pub struct Effect {
2641 #[serde(rename = "effect_type")]
2643 pub effect_type: String,
2644 #[serde(rename = "effect_id")]
2646 pub effect_id: String,
2647 #[serde(rename = "params")]
2649 pub params: std::collections::HashMap<String, serde_json::Value>,
2650 #[serde(rename = "budget_id", skip_serializing_if = "Option::is_none")]
2652 pub budget_id: Option<String>,
2653}
2654
2655impl Effect {
2656 pub fn new(effect_type: String, effect_id: String, params: std::collections::HashMap<String, serde_json::Value>) -> Effect {
2658 Effect {
2659 effect_type,
2660 effect_id,
2661 params,
2662 budget_id: None,
2663 }
2664 }
2665}
2666
2667#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
2680pub struct EffectBoundary {
2681 #[serde(rename = "effect")]
2682 pub effect: Box<Effect>,
2683 #[serde(rename = "principal")]
2685 pub principal: String,
2686 #[serde(rename = "context", skip_serializing_if = "Option::is_none")]
2688 pub context: Option<std::collections::HashMap<String, serde_json::Value>>,
2689}
2690
2691impl EffectBoundary {
2692 pub fn new(effect: Effect, principal: String) -> EffectBoundary {
2694 EffectBoundary {
2695 effect: Box::new(effect),
2696 principal,
2697 context: None,
2698 }
2699 }
2700}
2701
2702#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
2714pub struct EntitlementCapabilities {
2715 #[serde(rename = "demo_launch", skip_serializing_if = "Option::is_none")]
2716 pub demo_launch: Option<bool>,
2717 #[serde(rename = "local_launch", skip_serializing_if = "Option::is_none")]
2718 pub local_launch: Option<bool>,
2719 #[serde(rename = "cloud_launch", skip_serializing_if = "Option::is_none")]
2720 pub cloud_launch: Option<bool>,
2721 #[serde(rename = "custom_policy", skip_serializing_if = "Option::is_none")]
2722 pub custom_policy: Option<bool>,
2723 #[serde(rename = "bring_own_secrets", skip_serializing_if = "Option::is_none")]
2724 pub bring_own_secrets: Option<bool>,
2725 #[serde(rename = "evidence_export", skip_serializing_if = "Option::is_none")]
2726 pub evidence_export: Option<bool>,
2727 #[serde(rename = "offline_verify", skip_serializing_if = "Option::is_none")]
2728 pub offline_verify: Option<bool>,
2729 #[serde(rename = "team_admin", skip_serializing_if = "Option::is_none")]
2730 pub team_admin: Option<bool>,
2731 #[serde(rename = "sso", skip_serializing_if = "Option::is_none")]
2732 pub sso: Option<bool>,
2733 #[serde(rename = "legal_hold", skip_serializing_if = "Option::is_none")]
2734 pub legal_hold: Option<bool>,
2735 #[serde(rename = "certified_connectors", skip_serializing_if = "Option::is_none")]
2736 pub certified_connectors: Option<bool>,
2737 #[serde(rename = "enterprise_retention", skip_serializing_if = "Option::is_none")]
2738 pub enterprise_retention: Option<bool>,
2739}
2740
2741impl EntitlementCapabilities {
2742 pub fn new() -> EntitlementCapabilities {
2743 EntitlementCapabilities {
2744 demo_launch: None,
2745 local_launch: None,
2746 cloud_launch: None,
2747 custom_policy: None,
2748 bring_own_secrets: None,
2749 evidence_export: None,
2750 offline_verify: None,
2751 team_admin: None,
2752 sso: None,
2753 legal_hold: None,
2754 certified_connectors: None,
2755 enterprise_retention: None,
2756 }
2757 }
2758}
2759
2760#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
2772pub struct EntitlementDecision {
2773 #[serde(rename = "allowed", skip_serializing_if = "Option::is_none")]
2774 pub allowed: Option<bool>,
2775 #[serde(rename = "user_state", skip_serializing_if = "Option::is_none")]
2776 pub user_state: Option<EntitlementDecisionUserState>,
2777 #[serde(rename = "required_capability", skip_serializing_if = "Option::is_none")]
2778 pub required_capability: Option<String>,
2779 #[serde(rename = "reason_code", skip_serializing_if = "Option::is_none")]
2780 pub reason_code: Option<String>,
2781 #[serde(rename = "reason", skip_serializing_if = "Option::is_none")]
2782 pub reason: Option<String>,
2783 #[serde(rename = "upgrade_reason", skip_serializing_if = "Option::is_none")]
2784 pub upgrade_reason: Option<String>,
2785 #[serde(rename = "limit", skip_serializing_if = "Option::is_none")]
2786 pub limit: Option<i64>,
2787 #[serde(rename = "used", skip_serializing_if = "Option::is_none")]
2788 pub used: Option<i64>,
2789 #[serde(rename = "remaining", skip_serializing_if = "Option::is_none")]
2790 pub remaining: Option<i64>,
2791 #[serde(rename = "decision_ref", skip_serializing_if = "Option::is_none")]
2792 pub decision_ref: Option<String>,
2793 #[serde(rename = "source", skip_serializing_if = "Option::is_none")]
2794 pub source: Option<String>,
2795 #[serde(rename = "expires_at", skip_serializing_if = "Option::is_none")]
2796 pub expires_at: Option<String>,
2797}
2798
2799impl EntitlementDecision {
2800 pub fn new() -> EntitlementDecision {
2801 EntitlementDecision {
2802 allowed: None,
2803 user_state: None,
2804 required_capability: None,
2805 reason_code: None,
2806 reason: None,
2807 upgrade_reason: None,
2808 limit: None,
2809 used: None,
2810 remaining: None,
2811 decision_ref: None,
2812 source: None,
2813 expires_at: None,
2814 }
2815 }
2816}
2817#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
2819pub enum EntitlementDecisionUserState {
2820 #[serde(rename = "available")]
2821 Available,
2822 #[serde(rename = "needs_setup")]
2823 NeedsSetup,
2824 #[serde(rename = "upgrade_required")]
2825 UpgradeRequired,
2826 #[serde(rename = "enterprise_controlled")]
2827 EnterpriseControlled,
2828 #[serde(rename = "blocked")]
2829 Blocked,
2830 #[serde(rename = "unsupported")]
2831 Unsupported,
2832}
2833
2834impl Default for EntitlementDecisionUserState {
2835 fn default() -> EntitlementDecisionUserState {
2836 Self::Available
2837 }
2838}
2839
2840#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
2852pub struct EntitlementDecisionRequest {
2853 #[serde(rename = "principal_id", skip_serializing_if = "Option::is_none")]
2854 pub principal_id: Option<String>,
2855 #[serde(rename = "tenant_id", skip_serializing_if = "Option::is_none")]
2856 pub tenant_id: Option<String>,
2857 #[serde(rename = "workspace_id", skip_serializing_if = "Option::is_none")]
2858 pub workspace_id: Option<String>,
2859 #[serde(rename = "action")]
2860 pub action: String,
2861 #[serde(rename = "app_id", skip_serializing_if = "Option::is_none")]
2862 pub app_id: Option<String>,
2863 #[serde(rename = "substrate_id", skip_serializing_if = "Option::is_none")]
2864 pub substrate_id: Option<String>,
2865 #[serde(rename = "target", skip_serializing_if = "Option::is_none")]
2866 pub target: Option<String>,
2867 #[serde(rename = "current_usage", skip_serializing_if = "Option::is_none")]
2868 pub current_usage: Option<Box<EntitlementDecisionRequestCurrentUsage>>,
2869 #[serde(rename = "run_id", skip_serializing_if = "Option::is_none")]
2870 pub run_id: Option<String>,
2871}
2872
2873impl EntitlementDecisionRequest {
2874 pub fn new(action: String) -> EntitlementDecisionRequest {
2875 EntitlementDecisionRequest {
2876 principal_id: None,
2877 tenant_id: None,
2878 workspace_id: None,
2879 action,
2880 app_id: None,
2881 substrate_id: None,
2882 target: None,
2883 current_usage: None,
2884 run_id: None,
2885 }
2886 }
2887}
2888
2889#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
2901pub struct EntitlementDecisionRequestCurrentUsage {
2902 #[serde(rename = "monthly_launches", default, skip_serializing_if = "Option::is_none")]
2903 pub monthly_launches: Option<Option<serde_json::Value>>,
2904 #[serde(rename = "concurrent_runs", default, skip_serializing_if = "Option::is_none")]
2905 pub concurrent_runs: Option<Option<serde_json::Value>>,
2906 #[serde(rename = "cloud_targets", default, skip_serializing_if = "Option::is_none")]
2907 pub cloud_targets: Option<Option<serde_json::Value>>,
2908}
2909
2910impl EntitlementDecisionRequestCurrentUsage {
2911 pub fn new() -> EntitlementDecisionRequestCurrentUsage {
2912 EntitlementDecisionRequestCurrentUsage {
2913 monthly_launches: None,
2914 concurrent_runs: None,
2915 cloud_targets: None,
2916 }
2917 }
2918}
2919
2920#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
2932pub struct EntitlementLimits {
2933 #[serde(rename = "monthly_launches", default, skip_serializing_if = "Option::is_none")]
2934 pub monthly_launches: Option<Option<serde_json::Value>>,
2935 #[serde(rename = "concurrent_runs", default, skip_serializing_if = "Option::is_none")]
2936 pub concurrent_runs: Option<Option<serde_json::Value>>,
2937 #[serde(rename = "retention_days", default, skip_serializing_if = "Option::is_none")]
2938 pub retention_days: Option<Option<serde_json::Value>>,
2939 #[serde(rename = "max_cloud_targets", default, skip_serializing_if = "Option::is_none")]
2940 pub max_cloud_targets: Option<Option<serde_json::Value>>,
2941 #[serde(rename = "evidence_export_mb", default, skip_serializing_if = "Option::is_none")]
2942 pub evidence_export_mb: Option<Option<serde_json::Value>>,
2943 #[serde(rename = "connector_certification_scope", skip_serializing_if = "Option::is_none")]
2944 pub connector_certification_scope: Option<String>,
2945}
2946
2947impl EntitlementLimits {
2948 pub fn new() -> EntitlementLimits {
2949 EntitlementLimits {
2950 monthly_launches: None,
2951 concurrent_runs: None,
2952 retention_days: None,
2953 max_cloud_targets: None,
2954 evidence_export_mb: None,
2955 connector_certification_scope: None,
2956 }
2957 }
2958}
2959
2960#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
2972pub struct EnvExposurePolicy {
2973 #[serde(rename = "mode")]
2974 pub mode: EnvExposurePolicyMode,
2975 #[serde(rename = "names", skip_serializing_if = "Option::is_none")]
2976 pub names: Option<Vec<String>>,
2977 #[serde(rename = "names_hash", skip_serializing_if = "Option::is_none")]
2978 pub names_hash: Option<String>,
2979 #[serde(rename = "redacted", skip_serializing_if = "Option::is_none")]
2980 pub redacted: Option<bool>,
2981}
2982
2983impl EnvExposurePolicy {
2984 pub fn new(mode: EnvExposurePolicyMode) -> EnvExposurePolicy {
2985 EnvExposurePolicy {
2986 mode,
2987 names: None,
2988 names_hash: None,
2989 redacted: None,
2990 }
2991 }
2992}
2993#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
2995pub enum EnvExposurePolicyMode {
2996 #[serde(rename = "deny-all")]
2997 DenyAll,
2998 #[serde(rename = "allowlist")]
2999 Allowlist,
3000 #[serde(rename = "redacted")]
3001 Redacted,
3002}
3003
3004impl Default for EnvExposurePolicyMode {
3005 fn default() -> EnvExposurePolicyMode {
3006 Self::DenyAll
3007 }
3008}
3009
3010#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
3023pub struct EvaluateRequest {
3024 #[serde(rename = "principal", skip_serializing_if = "Option::is_none")]
3026 pub principal: Option<String>,
3027 #[serde(rename = "action", skip_serializing_if = "Option::is_none")]
3029 pub action: Option<String>,
3030 #[serde(rename = "resource", skip_serializing_if = "Option::is_none")]
3032 pub resource: Option<String>,
3033 #[serde(rename = "tool", skip_serializing_if = "Option::is_none")]
3034 pub tool: Option<String>,
3035 #[serde(rename = "args", skip_serializing_if = "Option::is_none")]
3036 pub args: Option<std::collections::HashMap<String, serde_json::Value>>,
3037 #[serde(rename = "agent_id", skip_serializing_if = "Option::is_none")]
3039 pub agent_id: Option<String>,
3040 #[serde(rename = "effect_level", skip_serializing_if = "Option::is_none")]
3042 pub effect_level: Option<String>,
3043 #[serde(rename = "session_id", skip_serializing_if = "Option::is_none")]
3045 pub session_id: Option<String>,
3046 #[serde(rename = "context", skip_serializing_if = "Option::is_none")]
3048 pub context: Option<std::collections::HashMap<String, serde_json::Value>>,
3049}
3050
3051impl EvaluateRequest {
3052 pub fn new() -> EvaluateRequest {
3054 EvaluateRequest {
3055 principal: None,
3056 action: None,
3057 resource: None,
3058 tool: None,
3059 args: None,
3060 agent_id: None,
3061 effect_level: None,
3062 session_id: None,
3063 context: None,
3064 }
3065 }
3066}
3067
3068#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
3080pub struct EvaluateResponse {
3081 #[serde(rename = "allow")]
3082 pub allow: bool,
3083 #[serde(rename = "verdict")]
3085 pub verdict: String,
3086 #[serde(rename = "receipt_id")]
3088 pub receipt_id: String,
3089 #[serde(rename = "decision_id")]
3090 pub decision_id: String,
3091 #[serde(rename = "decision_hash")]
3092 pub decision_hash: String,
3093 #[serde(rename = "reason_code")]
3094 pub reason_code: String,
3095 #[serde(rename = "policy_ref")]
3096 pub policy_ref: String,
3097 #[serde(rename = "lamport_clock")]
3098 pub lamport_clock: i64,
3099 #[serde(rename = "id", skip_serializing_if = "Option::is_none")]
3101 pub id: Option<String>,
3102 #[serde(rename = "action", skip_serializing_if = "Option::is_none")]
3104 pub action: Option<String>,
3105 #[serde(rename = "resource", skip_serializing_if = "Option::is_none")]
3107 pub resource: Option<String>,
3108 #[serde(rename = "reason", skip_serializing_if = "Option::is_none")]
3110 pub reason: Option<String>,
3111 #[serde(rename = "policy_version", skip_serializing_if = "Option::is_none")]
3113 pub policy_version: Option<String>,
3114 #[serde(rename = "policy_decision_hash", skip_serializing_if = "Option::is_none")]
3116 pub policy_decision_hash: Option<String>,
3117 #[serde(rename = "signature", skip_serializing_if = "Option::is_none")]
3119 pub signature: Option<String>,
3120}
3121
3122impl EvaluateResponse {
3123 pub fn new(allow: bool, verdict: String, receipt_id: String, decision_id: String, decision_hash: String, reason_code: String, policy_ref: String, lamport_clock: i64) -> EvaluateResponse {
3124 EvaluateResponse {
3125 allow,
3126 verdict,
3127 receipt_id,
3128 decision_id,
3129 decision_hash,
3130 reason_code,
3131 policy_ref,
3132 lamport_clock,
3133 id: None,
3134 action: None,
3135 resource: None,
3136 reason: None,
3137 policy_version: None,
3138 policy_decision_hash: None,
3139 signature: None,
3140 }
3141 }
3142}
3143
3144#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
3156pub struct EvidenceEnvelopeExportRequest {
3157 #[serde(rename = "manifest_id")]
3158 pub manifest_id: String,
3159 #[serde(rename = "envelope")]
3160 pub envelope: EvidenceEnvelopeExportRequestEnvelope,
3161 #[serde(rename = "native_evidence_hash")]
3163 pub native_evidence_hash: String,
3164 #[serde(rename = "subject", skip_serializing_if = "Option::is_none")]
3165 pub subject: Option<String>,
3166 #[serde(rename = "experimental", skip_serializing_if = "Option::is_none")]
3168 pub experimental: Option<bool>,
3169}
3170
3171impl EvidenceEnvelopeExportRequest {
3172 pub fn new(manifest_id: String, envelope: EvidenceEnvelopeExportRequestEnvelope, native_evidence_hash: String) -> EvidenceEnvelopeExportRequest {
3173 EvidenceEnvelopeExportRequest {
3174 manifest_id,
3175 envelope,
3176 native_evidence_hash,
3177 subject: None,
3178 experimental: None,
3179 }
3180 }
3181}
3182#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
3184pub enum EvidenceEnvelopeExportRequestEnvelope {
3185 #[serde(rename = "dsse")]
3186 Dsse,
3187 #[serde(rename = "jws")]
3188 Jws,
3189 #[serde(rename = "in-toto")]
3190 InToto,
3191 #[serde(rename = "slsa")]
3192 Slsa,
3193 #[serde(rename = "sigstore")]
3194 Sigstore,
3195 #[serde(rename = "scitt")]
3196 Scitt,
3197 #[serde(rename = "cose")]
3198 Cose,
3199}
3200
3201impl Default for EvidenceEnvelopeExportRequestEnvelope {
3202 fn default() -> EvidenceEnvelopeExportRequestEnvelope {
3203 Self::Dsse
3204 }
3205}
3206
3207#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
3219pub struct EvidenceEnvelopeManifest {
3220 #[serde(rename = "manifest_id")]
3221 pub manifest_id: String,
3222 #[serde(rename = "envelope")]
3223 pub envelope: EvidenceEnvelopeManifestEnvelope,
3224 #[serde(rename = "native_evidence_hash")]
3225 pub native_evidence_hash: String,
3226 #[serde(rename = "native_authority")]
3227 pub native_authority: bool,
3228 #[serde(rename = "subject", skip_serializing_if = "Option::is_none")]
3229 pub subject: Option<String>,
3230 #[serde(rename = "statement_hash", skip_serializing_if = "Option::is_none")]
3231 pub statement_hash: Option<String>,
3232 #[serde(rename = "experimental", skip_serializing_if = "Option::is_none")]
3233 pub experimental: Option<bool>,
3234 #[serde(rename = "created_at")]
3235 pub created_at: String,
3236 #[serde(rename = "manifest_hash", skip_serializing_if = "Option::is_none")]
3237 pub manifest_hash: Option<String>,
3238}
3239
3240impl EvidenceEnvelopeManifest {
3241 pub fn new(manifest_id: String, envelope: EvidenceEnvelopeManifestEnvelope, native_evidence_hash: String, native_authority: bool, created_at: String) -> EvidenceEnvelopeManifest {
3242 EvidenceEnvelopeManifest {
3243 manifest_id,
3244 envelope,
3245 native_evidence_hash,
3246 native_authority,
3247 subject: None,
3248 statement_hash: None,
3249 experimental: None,
3250 created_at,
3251 manifest_hash: None,
3252 }
3253 }
3254}
3255#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
3257pub enum EvidenceEnvelopeManifestEnvelope {
3258 #[serde(rename = "dsse")]
3259 Dsse,
3260 #[serde(rename = "jws")]
3261 Jws,
3262 #[serde(rename = "in-toto")]
3263 InToto,
3264 #[serde(rename = "slsa")]
3265 Slsa,
3266 #[serde(rename = "sigstore")]
3267 Sigstore,
3268 #[serde(rename = "scitt")]
3269 Scitt,
3270 #[serde(rename = "cose")]
3271 Cose,
3272}
3273
3274impl Default for EvidenceEnvelopeManifestEnvelope {
3275 fn default() -> EvidenceEnvelopeManifestEnvelope {
3276 Self::Dsse
3277 }
3278}
3279
3280#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
3292pub struct EvidenceEnvelopeVerification {
3293 #[serde(rename = "manifest_id", skip_serializing_if = "Option::is_none")]
3294 pub manifest_id: Option<String>,
3295 #[serde(rename = "manifest_hash", skip_serializing_if = "Option::is_none")]
3296 pub manifest_hash: Option<String>,
3297 #[serde(rename = "native_evidence_hash", skip_serializing_if = "Option::is_none")]
3298 pub native_evidence_hash: Option<String>,
3299 #[serde(rename = "verified", skip_serializing_if = "Option::is_none")]
3300 pub verified: Option<bool>,
3301 #[serde(rename = "authoritative", skip_serializing_if = "Option::is_none")]
3302 pub authoritative: Option<bool>,
3303 #[serde(rename = "errors", skip_serializing_if = "Option::is_none")]
3304 pub errors: Option<Vec<String>>,
3305 #[serde(rename = "checked_at", skip_serializing_if = "Option::is_none")]
3306 pub checked_at: Option<String>,
3307}
3308
3309impl EvidenceEnvelopeVerification {
3310 pub fn new() -> EvidenceEnvelopeVerification {
3311 EvidenceEnvelopeVerification {
3312 manifest_id: None,
3313 manifest_hash: None,
3314 native_evidence_hash: None,
3315 verified: None,
3316 authoritative: None,
3317 errors: None,
3318 checked_at: None,
3319 }
3320 }
3321}
3322
3323#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
3335pub struct ExecutionBoundaryRecord {
3336 #[serde(rename = "record_id", skip_serializing_if = "Option::is_none")]
3337 pub record_id: Option<String>,
3338 #[serde(rename = "verdict", skip_serializing_if = "Option::is_none")]
3339 pub verdict: Option<ExecutionBoundaryRecordVerdict>,
3340 #[serde(rename = "reason_code", skip_serializing_if = "Option::is_none")]
3341 pub reason_code: Option<String>,
3342 #[serde(rename = "tool_name", skip_serializing_if = "Option::is_none")]
3343 pub tool_name: Option<String>,
3344 #[serde(rename = "args_hash", skip_serializing_if = "Option::is_none")]
3345 pub args_hash: Option<String>,
3346 #[serde(rename = "policy_epoch", skip_serializing_if = "Option::is_none")]
3347 pub policy_epoch: Option<String>,
3348 #[serde(rename = "mcp_server_id", skip_serializing_if = "Option::is_none")]
3349 pub mcp_server_id: Option<String>,
3350 #[serde(rename = "oauth_resource", skip_serializing_if = "Option::is_none")]
3351 pub oauth_resource: Option<String>,
3352 #[serde(rename = "oauth_scopes", skip_serializing_if = "Option::is_none")]
3353 pub oauth_scopes: Option<Vec<String>>,
3354 #[serde(rename = "sandbox_grant_hash", skip_serializing_if = "Option::is_none")]
3355 pub sandbox_grant_hash: Option<String>,
3356 #[serde(rename = "authz_snapshot_hash", skip_serializing_if = "Option::is_none")]
3357 pub authz_snapshot_hash: Option<String>,
3358 #[serde(rename = "approval_receipt_id", skip_serializing_if = "Option::is_none")]
3359 pub approval_receipt_id: Option<String>,
3360 #[serde(rename = "receipt_id", skip_serializing_if = "Option::is_none")]
3361 pub receipt_id: Option<String>,
3362 #[serde(rename = "record_hash", skip_serializing_if = "Option::is_none")]
3363 pub record_hash: Option<String>,
3364 #[serde(rename = "created_at", skip_serializing_if = "Option::is_none")]
3365 pub created_at: Option<String>,
3366}
3367
3368impl ExecutionBoundaryRecord {
3369 pub fn new() -> ExecutionBoundaryRecord {
3370 ExecutionBoundaryRecord {
3371 record_id: None,
3372 verdict: None,
3373 reason_code: None,
3374 tool_name: None,
3375 args_hash: None,
3376 policy_epoch: None,
3377 mcp_server_id: None,
3378 oauth_resource: None,
3379 oauth_scopes: None,
3380 sandbox_grant_hash: None,
3381 authz_snapshot_hash: None,
3382 approval_receipt_id: None,
3383 receipt_id: None,
3384 record_hash: None,
3385 created_at: None,
3386 }
3387 }
3388}
3389#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
3391pub enum ExecutionBoundaryRecordVerdict {
3392 #[serde(rename = "ALLOW")]
3393 Allow,
3394 #[serde(rename = "DENY")]
3395 Deny,
3396 #[serde(rename = "ESCALATE")]
3397 Escalate,
3398}
3399
3400impl Default for ExecutionBoundaryRecordVerdict {
3401 fn default() -> ExecutionBoundaryRecordVerdict {
3402 Self::Allow
3403 }
3404}
3405
3406#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
3418pub struct ExportRequest {
3419 #[serde(rename = "session_id", skip_serializing_if = "Option::is_none")]
3421 pub session_id: Option<String>,
3422 #[serde(rename = "format", skip_serializing_if = "Option::is_none")]
3423 pub format: Option<ExportRequestFormat>,
3424}
3425
3426impl ExportRequest {
3427 pub fn new() -> ExportRequest {
3428 ExportRequest {
3429 session_id: None,
3430 format: None,
3431 }
3432 }
3433}
3434#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
3436pub enum ExportRequestFormat {
3437 #[serde(rename = "tar.gz")]
3438 TarPeriodGz,
3439}
3440
3441impl Default for ExportRequestFormat {
3442 fn default() -> ExportRequestFormat {
3443 Self::TarPeriodGz
3444 }
3445}
3446
3447#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
3459pub struct FilesystemPreopen {
3460 #[serde(rename = "path")]
3461 pub path: String,
3462 #[serde(rename = "mode")]
3463 pub mode: FilesystemPreopenMode,
3464 #[serde(rename = "content_hash", skip_serializing_if = "Option::is_none")]
3465 pub content_hash: Option<String>,
3466}
3467
3468impl FilesystemPreopen {
3469 pub fn new(path: String, mode: FilesystemPreopenMode) -> FilesystemPreopen {
3470 FilesystemPreopen {
3471 path,
3472 mode,
3473 content_hash: None,
3474 }
3475 }
3476}
3477#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
3479pub enum FilesystemPreopenMode {
3480 #[serde(rename = "ro")]
3481 Ro,
3482 #[serde(rename = "rw")]
3483 Rw,
3484}
3485
3486impl Default for FilesystemPreopenMode {
3487 fn default() -> FilesystemPreopenMode {
3488 Self::Ro
3489 }
3490}
3491
3492#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
3504pub struct FrameworkAdapter {
3505 #[serde(rename = "apiVersion", skip_serializing_if = "Option::is_none")]
3506 pub api_version: Option<String>,
3507 #[serde(rename = "kind", skip_serializing_if = "Option::is_none")]
3508 pub kind: Option<String>,
3509 #[serde(rename = "metadata", skip_serializing_if = "Option::is_none")]
3510 pub metadata: Option<std::collections::HashMap<String, serde_json::Value>>,
3511 #[serde(rename = "match", skip_serializing_if = "Option::is_none")]
3512 pub r#match: Option<std::collections::HashMap<String, serde_json::Value>>,
3513 #[serde(rename = "capabilities", default, skip_serializing_if = "Option::is_none")]
3514 pub capabilities: Option<Option<serde_json::Value>>,
3515 #[serde(rename = "entrypoints", skip_serializing_if = "Option::is_none")]
3516 pub entrypoints: Option<std::collections::HashMap<String, serde_json::Value>>,
3517 #[serde(rename = "build", skip_serializing_if = "Option::is_none")]
3518 pub build: Option<std::collections::HashMap<String, serde_json::Value>>,
3519}
3520
3521impl FrameworkAdapter {
3522 pub fn new() -> FrameworkAdapter {
3523 FrameworkAdapter {
3524 api_version: None,
3525 kind: None,
3526 metadata: None,
3527 r#match: None,
3528 capabilities: None,
3529 entrypoints: None,
3530 build: None,
3531 }
3532 }
3533}
3534
3535#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
3547pub struct GeneratedAppSpecCandidate {
3548 #[serde(rename = "candidate_id")]
3549 pub candidate_id: String,
3550 #[serde(rename = "trusted")]
3551 pub trusted: bool,
3552 #[serde(rename = "app_spec")]
3553 pub app_spec: Box<LaunchpadApp>,
3554 #[serde(rename = "promotion_requirements")]
3555 pub promotion_requirements: Vec<String>,
3556}
3557
3558impl GeneratedAppSpecCandidate {
3559 pub fn new(candidate_id: String, trusted: bool, app_spec: LaunchpadApp, promotion_requirements: Vec<String>) -> GeneratedAppSpecCandidate {
3560 GeneratedAppSpecCandidate {
3561 candidate_id,
3562 trusted,
3563 app_spec: Box::new(app_spec),
3564 promotion_requirements,
3565 }
3566 }
3567}
3568
3569#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
3581pub struct GetAgentUiRuntimeInfo200Response {
3582 #[serde(rename = "runtime")]
3583 pub runtime: String,
3584 #[serde(rename = "protocol", deserialize_with = "Option::deserialize")]
3585 pub protocol: Option<serde_json::Value>,
3586 #[serde(rename = "transport", deserialize_with = "Option::deserialize")]
3587 pub transport: Option<serde_json::Value>,
3588 #[serde(rename = "tools", deserialize_with = "Option::deserialize")]
3589 pub tools: Option<serde_json::Value>,
3590}
3591
3592impl GetAgentUiRuntimeInfo200Response {
3593 pub fn new(runtime: String, protocol: Option<serde_json::Value>, transport: Option<serde_json::Value>, tools: Option<serde_json::Value>) -> GetAgentUiRuntimeInfo200Response {
3594 GetAgentUiRuntimeInfo200Response {
3595 runtime,
3596 protocol,
3597 transport,
3598 tools,
3599 }
3600 }
3601}
3602
3603#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
3615pub struct GetLaunchpadImport200Response {
3616 #[serde(rename = "import")]
3617 pub import: Box<LaunchpadImportRecord>,
3618}
3619
3620impl GetLaunchpadImport200Response {
3621 pub fn new(import: LaunchpadImportRecord) -> GetLaunchpadImport200Response {
3622 GetLaunchpadImport200Response {
3623 import: Box::new(import),
3624 }
3625 }
3626}
3627
3628#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
3640pub struct GetLaunchpadMatrix200Response {
3641 #[serde(rename = "matrix")]
3642 pub matrix: Vec<LaunchpadMatrixCell>,
3643}
3644
3645impl GetLaunchpadMatrix200Response {
3646 pub fn new(matrix: Vec<LaunchpadMatrixCell>) -> GetLaunchpadMatrix200Response {
3647 GetLaunchpadMatrix200Response {
3648 matrix,
3649 }
3650 }
3651}
3652
3653#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
3665pub struct GetPublicDemoHealth200Response {
3666 #[serde(rename = "version")]
3667 pub version: String,
3668 #[serde(rename = "commit")]
3669 pub commit: String,
3670 #[serde(rename = "helm_ai_kernel_version")]
3671 pub helm_ai_kernel_version: String,
3672 #[serde(rename = "status")]
3673 pub status: String,
3674 #[serde(rename = "build_time")]
3675 pub build_time: String,
3676 #[serde(rename = "git_sha")]
3677 pub git_sha: String,
3678 #[serde(rename = "deployment_id")]
3679 pub deployment_id: String,
3680}
3681
3682impl GetPublicDemoHealth200Response {
3683 pub fn new(version: String, commit: String, helm_ai_kernel_version: String, status: String, build_time: String, git_sha: String, deployment_id: String) -> GetPublicDemoHealth200Response {
3684 GetPublicDemoHealth200Response {
3685 version,
3686 commit,
3687 helm_ai_kernel_version,
3688 status,
3689 build_time,
3690 git_sha,
3691 deployment_id,
3692 }
3693 }
3694}
3695
3696#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
3709pub struct GovernanceDecision {
3710 #[serde(rename = "decision_id")]
3711 pub decision_id: String,
3712 #[serde(rename = "effect_id")]
3713 pub effect_id: String,
3714 #[serde(rename = "verdict")]
3715 pub verdict: GovernanceDecisionVerdict,
3716 #[serde(rename = "reason_code", default, skip_serializing_if = "Option::is_none")]
3718 pub reason_code: Option<Option<String>>,
3719 #[serde(rename = "receipt", skip_serializing_if = "Option::is_none")]
3720 pub receipt: Option<Box<Receipt>>,
3721 #[serde(rename = "active_packs", skip_serializing_if = "Option::is_none")]
3723 pub active_packs: Option<Vec<String>>,
3724}
3725
3726impl GovernanceDecision {
3727 pub fn new(decision_id: String, effect_id: String, verdict: GovernanceDecisionVerdict) -> GovernanceDecision {
3729 GovernanceDecision {
3730 decision_id,
3731 effect_id,
3732 verdict,
3733 reason_code: None,
3734 receipt: None,
3735 active_packs: None,
3736 }
3737 }
3738}
3739#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
3741pub enum GovernanceDecisionVerdict {
3742 #[serde(rename = "ALLOW")]
3743 Allow,
3744 #[serde(rename = "DENY")]
3745 Deny,
3746 #[serde(rename = "ESCALATE")]
3747 Escalate,
3748}
3749
3750impl Default for GovernanceDecisionVerdict {
3751 fn default() -> GovernanceDecisionVerdict {
3752 Self::Allow
3753 }
3754}
3755
3756#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
3768pub struct GroundedActionRef {
3769 #[serde(rename = "grounded_action_id")]
3770 pub grounded_action_id: String,
3771 #[serde(rename = "receipt_refs", skip_serializing_if = "Option::is_none")]
3772 pub receipt_refs: Option<Vec<String>>,
3773 #[serde(rename = "screenshot_hash")]
3774 pub screenshot_hash: String,
3775 #[serde(rename = "dom_or_ax_snapshot_hash")]
3776 pub dom_or_ax_snapshot_hash: String,
3777 #[serde(rename = "target_ref")]
3778 pub target_ref: String,
3779 #[serde(rename = "bbox_or_element_id")]
3780 pub bbox_or_element_id: String,
3781 #[serde(rename = "action_type")]
3782 pub action_type: GroundedActionRefActionType,
3783 #[serde(rename = "precondition")]
3784 pub precondition: String,
3785 #[serde(rename = "postcondition")]
3786 pub postcondition: String,
3787 #[serde(rename = "postcondition_ref")]
3788 pub postcondition_ref: String,
3789 #[serde(rename = "verification_scope_ref")]
3790 pub verification_scope_ref: String,
3791 #[serde(rename = "policy_hash")]
3792 pub policy_hash: String,
3793 #[serde(rename = "proof_graph_node_ref")]
3794 pub proof_graph_node_ref: String,
3795 #[serde(rename = "sandbox_grant_hash", skip_serializing_if = "Option::is_none")]
3796 pub sandbox_grant_hash: Option<String>,
3797 #[serde(rename = "created_at", skip_serializing_if = "Option::is_none")]
3798 pub created_at: Option<String>,
3799 #[serde(rename = "grounding_hash", skip_serializing_if = "Option::is_none")]
3800 pub grounding_hash: Option<String>,
3801}
3802
3803impl GroundedActionRef {
3804 pub fn new(grounded_action_id: String, screenshot_hash: String, dom_or_ax_snapshot_hash: String, target_ref: String, bbox_or_element_id: String, action_type: GroundedActionRefActionType, precondition: String, postcondition: String, postcondition_ref: String, verification_scope_ref: String, policy_hash: String, proof_graph_node_ref: String) -> GroundedActionRef {
3805 GroundedActionRef {
3806 grounded_action_id,
3807 receipt_refs: None,
3808 screenshot_hash,
3809 dom_or_ax_snapshot_hash,
3810 target_ref,
3811 bbox_or_element_id,
3812 action_type,
3813 precondition,
3814 postcondition,
3815 postcondition_ref,
3816 verification_scope_ref,
3817 policy_hash,
3818 proof_graph_node_ref,
3819 sandbox_grant_hash: None,
3820 created_at: None,
3821 grounding_hash: None,
3822 }
3823 }
3824}
3825#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
3827pub enum GroundedActionRefActionType {
3828 #[serde(rename = "click")]
3829 Click,
3830 #[serde(rename = "type")]
3831 Type,
3832 #[serde(rename = "select")]
3833 Select,
3834 #[serde(rename = "submit")]
3835 Submit,
3836 #[serde(rename = "navigate")]
3837 Navigate,
3838}
3839
3840impl Default for GroundedActionRefActionType {
3841 fn default() -> GroundedActionRefActionType {
3842 Self::Click
3843 }
3844}
3845
3846#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
3858pub struct GuiActionReceipt {
3859 #[serde(rename = "receipt_id")]
3860 pub receipt_id: String,
3861 #[serde(rename = "grounded_action_ref")]
3862 pub grounded_action_ref: String,
3863 #[serde(rename = "screenshot_hash")]
3864 pub screenshot_hash: String,
3865 #[serde(rename = "dom_or_ax_snapshot_hash")]
3866 pub dom_or_ax_snapshot_hash: String,
3867 #[serde(rename = "target_ref")]
3868 pub target_ref: String,
3869 #[serde(rename = "bbox_or_element_id")]
3870 pub bbox_or_element_id: String,
3871 #[serde(rename = "action_type")]
3872 pub action_type: GuiActionReceiptActionType,
3873 #[serde(rename = "precondition")]
3874 pub precondition: String,
3875 #[serde(rename = "postcondition")]
3876 pub postcondition: String,
3877 #[serde(rename = "postcondition_ref")]
3878 pub postcondition_ref: String,
3879 #[serde(rename = "postcondition_verified")]
3880 pub postcondition_verified: bool,
3881 #[serde(rename = "verification_scope_ref")]
3882 pub verification_scope_ref: String,
3883 #[serde(rename = "policy_hash")]
3884 pub policy_hash: String,
3885 #[serde(rename = "proof_graph_node_ref")]
3886 pub proof_graph_node_ref: String,
3887 #[serde(rename = "sandbox_grant_hash", skip_serializing_if = "Option::is_none")]
3888 pub sandbox_grant_hash: Option<String>,
3889 #[serde(rename = "created_at", skip_serializing_if = "Option::is_none")]
3890 pub created_at: Option<String>,
3891 #[serde(rename = "receipt_hash", skip_serializing_if = "Option::is_none")]
3892 pub receipt_hash: Option<String>,
3893}
3894
3895impl GuiActionReceipt {
3896 pub fn new(receipt_id: String, grounded_action_ref: String, screenshot_hash: String, dom_or_ax_snapshot_hash: String, target_ref: String, bbox_or_element_id: String, action_type: GuiActionReceiptActionType, precondition: String, postcondition: String, postcondition_ref: String, postcondition_verified: bool, verification_scope_ref: String, policy_hash: String, proof_graph_node_ref: String) -> GuiActionReceipt {
3897 GuiActionReceipt {
3898 receipt_id,
3899 grounded_action_ref,
3900 screenshot_hash,
3901 dom_or_ax_snapshot_hash,
3902 target_ref,
3903 bbox_or_element_id,
3904 action_type,
3905 precondition,
3906 postcondition,
3907 postcondition_ref,
3908 postcondition_verified,
3909 verification_scope_ref,
3910 policy_hash,
3911 proof_graph_node_ref,
3912 sandbox_grant_hash: None,
3913 created_at: None,
3914 receipt_hash: None,
3915 }
3916 }
3917}
3918#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
3920pub enum GuiActionReceiptActionType {
3921 #[serde(rename = "click")]
3922 Click,
3923 #[serde(rename = "type")]
3924 Type,
3925 #[serde(rename = "select")]
3926 Select,
3927 #[serde(rename = "submit")]
3928 Submit,
3929 #[serde(rename = "navigate")]
3930 Navigate,
3931}
3932
3933impl Default for GuiActionReceiptActionType {
3934 fn default() -> GuiActionReceiptActionType {
3935 Self::Click
3936 }
3937}
3938
3939#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
3951pub struct HarnessChangeContract {
3952 #[serde(rename = "change_contract_id")]
3953 pub change_contract_id: String,
3954 #[serde(rename = "component_modified")]
3955 pub component_modified: HarnessChangeContractComponentModified,
3956 #[serde(rename = "failure_mode_targeted")]
3957 pub failure_mode_targeted: String,
3958 #[serde(rename = "predicted_improvement")]
3959 pub predicted_improvement: String,
3960 #[serde(rename = "invariants_preserved")]
3961 pub invariants_preserved: Vec<String>,
3962 #[serde(rename = "safety_properties")]
3963 pub safety_properties: Vec<String>,
3964 #[serde(rename = "regression_suite_refs")]
3965 pub regression_suite_refs: Vec<String>,
3966 #[serde(rename = "simulation_evidence_refs", skip_serializing_if = "Option::is_none")]
3967 pub simulation_evidence_refs: Option<Vec<String>>,
3968 #[serde(rename = "canary_scope", skip_serializing_if = "Option::is_none")]
3969 pub canary_scope: Option<std::collections::HashMap<String, serde_json::Value>>,
3970 #[serde(rename = "rollback_plan")]
3971 pub rollback_plan: std::collections::HashMap<String, serde_json::Value>,
3972 #[serde(rename = "approval_required")]
3973 pub approval_required: bool,
3974 #[serde(rename = "activation_receipt_ref", skip_serializing_if = "Option::is_none")]
3975 pub activation_receipt_ref: Option<String>,
3976 #[serde(rename = "created_at")]
3977 pub created_at: String,
3978 #[serde(rename = "contract_hash", skip_serializing_if = "Option::is_none")]
3979 pub contract_hash: Option<String>,
3980}
3981
3982impl HarnessChangeContract {
3983 pub fn new(change_contract_id: String, component_modified: HarnessChangeContractComponentModified, failure_mode_targeted: String, predicted_improvement: String, invariants_preserved: Vec<String>, safety_properties: Vec<String>, regression_suite_refs: Vec<String>, rollback_plan: std::collections::HashMap<String, serde_json::Value>, approval_required: bool, created_at: String) -> HarnessChangeContract {
3984 HarnessChangeContract {
3985 change_contract_id,
3986 component_modified,
3987 failure_mode_targeted,
3988 predicted_improvement,
3989 invariants_preserved,
3990 safety_properties,
3991 regression_suite_refs,
3992 simulation_evidence_refs: None,
3993 canary_scope: None,
3994 rollback_plan,
3995 approval_required,
3996 activation_receipt_ref: None,
3997 created_at,
3998 contract_hash: None,
3999 }
4000 }
4001}
4002#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
4004pub enum HarnessChangeContractComponentModified {
4005 #[serde(rename = "connector_contract")]
4006 ConnectorContract,
4007 #[serde(rename = "tool_schema")]
4008 ToolSchema,
4009 #[serde(rename = "sandbox_grant")]
4010 SandboxGrant,
4011 #[serde(rename = "mcp_approval")]
4012 McpApproval,
4013 #[serde(rename = "policy_overlay")]
4014 PolicyOverlay,
4015 #[serde(rename = "verifier")]
4016 Verifier,
4017 #[serde(rename = "evidence_template")]
4018 EvidenceTemplate,
4019 #[serde(rename = "routing_rule")]
4020 RoutingRule,
4021}
4022
4023impl Default for HarnessChangeContractComponentModified {
4024 fn default() -> HarnessChangeContractComponentModified {
4025 Self::ConnectorContract
4026 }
4027}
4028
4029#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
4041pub struct HarnessTrace {
4042 #[serde(rename = "trace_id")]
4043 pub trace_id: String,
4044 #[serde(rename = "plan_hash")]
4045 pub plan_hash: String,
4046 #[serde(rename = "context_refs", skip_serializing_if = "Option::is_none")]
4047 pub context_refs: Option<Vec<String>>,
4048 #[serde(rename = "memory_reads", skip_serializing_if = "Option::is_none")]
4049 pub memory_reads: Option<Vec<String>>,
4050 #[serde(rename = "memory_writes", skip_serializing_if = "Option::is_none")]
4051 pub memory_writes: Option<Vec<String>>,
4052 #[serde(rename = "tool_schema_hashes", skip_serializing_if = "Option::is_none")]
4053 pub tool_schema_hashes: Option<Vec<String>>,
4054 #[serde(rename = "permission_requests", skip_serializing_if = "Option::is_none")]
4055 pub permission_requests: Option<Vec<String>>,
4056 #[serde(rename = "sandbox_grant_hash", skip_serializing_if = "Option::is_none")]
4057 pub sandbox_grant_hash: Option<String>,
4058 #[serde(rename = "mcp_approval_ref", skip_serializing_if = "Option::is_none")]
4059 pub mcp_approval_ref: Option<String>,
4060 #[serde(rename = "connector_contract_hash", skip_serializing_if = "Option::is_none")]
4061 pub connector_contract_hash: Option<String>,
4062 #[serde(rename = "policy_hash")]
4063 pub policy_hash: String,
4064 #[serde(rename = "cpi_output_hash", skip_serializing_if = "Option::is_none")]
4065 pub cpi_output_hash: Option<String>,
4066 #[serde(rename = "verifier_outputs", skip_serializing_if = "Option::is_none")]
4067 pub verifier_outputs: Option<Vec<String>>,
4068 #[serde(rename = "human_interventions", skip_serializing_if = "Option::is_none")]
4069 pub human_interventions: Option<Vec<String>>,
4070 #[serde(rename = "state_updates", skip_serializing_if = "Option::is_none")]
4071 pub state_updates: Option<Vec<String>>,
4072 #[serde(rename = "receipt_refs")]
4073 pub receipt_refs: Vec<String>,
4074 #[serde(rename = "created_at")]
4075 pub created_at: String,
4076 #[serde(rename = "trace_hash", skip_serializing_if = "Option::is_none")]
4077 pub trace_hash: Option<String>,
4078}
4079
4080impl HarnessTrace {
4081 pub fn new(trace_id: String, plan_hash: String, policy_hash: String, receipt_refs: Vec<String>, created_at: String) -> HarnessTrace {
4082 HarnessTrace {
4083 trace_id,
4084 plan_hash,
4085 context_refs: None,
4086 memory_reads: None,
4087 memory_writes: None,
4088 tool_schema_hashes: None,
4089 permission_requests: None,
4090 sandbox_grant_hash: None,
4091 mcp_approval_ref: None,
4092 connector_contract_hash: None,
4093 policy_hash,
4094 cpi_output_hash: None,
4095 verifier_outputs: None,
4096 human_interventions: None,
4097 state_updates: None,
4098 receipt_refs,
4099 created_at,
4100 trace_hash: None,
4101 }
4102 }
4103}
4104
4105#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
4117pub struct HealthCheck200Response {
4118 #[serde(rename = "status", skip_serializing_if = "Option::is_none")]
4119 pub status: Option<String>,
4120 #[serde(rename = "version", skip_serializing_if = "Option::is_none")]
4121 pub version: Option<String>,
4122}
4123
4124impl HealthCheck200Response {
4125 pub fn new() -> HealthCheck200Response {
4126 HealthCheck200Response {
4127 status: None,
4128 version: None,
4129 }
4130 }
4131}
4132
4133#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
4146pub struct HelmError {
4147 #[serde(rename = "code", skip_serializing_if = "Option::is_none")]
4149 pub code: Option<String>,
4150 #[serde(rename = "message", skip_serializing_if = "Option::is_none")]
4152 pub message: Option<String>,
4153 #[serde(rename = "details", skip_serializing_if = "Option::is_none")]
4154 pub details: Option<Vec<HelmErrorDetail>>,
4155 #[serde(rename = "type", skip_serializing_if = "Option::is_none")]
4157 pub r#type: Option<String>,
4158 #[serde(rename = "title", skip_serializing_if = "Option::is_none")]
4160 pub title: Option<String>,
4161 #[serde(rename = "status", skip_serializing_if = "Option::is_none")]
4163 pub status: Option<i32>,
4164 #[serde(rename = "detail", skip_serializing_if = "Option::is_none")]
4166 pub detail: Option<String>,
4167 #[serde(rename = "instance", skip_serializing_if = "Option::is_none")]
4169 pub instance: Option<String>,
4170 #[serde(rename = "trace_id", skip_serializing_if = "Option::is_none")]
4172 pub trace_id: Option<String>,
4173 #[serde(rename = "error")]
4174 pub error: Box<HelmErrorError>,
4175}
4176
4177impl HelmError {
4178 pub fn new(error: HelmErrorError) -> HelmError {
4180 HelmError {
4181 code: None,
4182 message: None,
4183 details: None,
4184 r#type: None,
4185 title: None,
4186 status: None,
4187 detail: None,
4188 instance: None,
4189 trace_id: None,
4190 error: Box::new(error),
4191 }
4192 }
4193}
4194
4195#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
4208pub struct HelmErrorDetail {
4209 #[serde(rename = "type")]
4211 pub r#type: String,
4212 #[serde(rename = "value")]
4214 pub value: String,
4215 #[serde(rename = "debug")]
4216 pub debug: Box<HelmErrorDetailFields>,
4217}
4218
4219impl HelmErrorDetail {
4220 pub fn new(r#type: String, value: String, debug: HelmErrorDetailFields) -> HelmErrorDetail {
4222 HelmErrorDetail {
4223 r#type,
4224 value,
4225 debug: Box::new(debug),
4226 }
4227 }
4228}
4229
4230#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
4243pub struct HelmErrorDetailFields {
4244 #[serde(rename = "reason_code")]
4246 pub reason_code: String,
4247 #[serde(rename = "retryable")]
4249 pub retryable: bool,
4250}
4251
4252impl HelmErrorDetailFields {
4253 pub fn new(reason_code: String, retryable: bool) -> HelmErrorDetailFields {
4255 HelmErrorDetailFields {
4256 reason_code,
4257 retryable,
4258 }
4259 }
4260}
4261
4262#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
4275pub struct HelmErrorError {
4276 #[serde(rename = "message")]
4278 pub message: String,
4279 #[serde(rename = "type")]
4281 pub r#type: String,
4282 #[serde(rename = "code")]
4284 pub code: String,
4285 #[serde(rename = "reason_code")]
4287 pub reason_code: String,
4288 #[serde(rename = "details", skip_serializing_if = "Option::is_none")]
4290 pub details: Option<std::collections::HashMap<String, serde_json::Value>>,
4291}
4292
4293impl HelmErrorError {
4294 pub fn new(message: String, r#type: String, code: String, reason_code: String) -> HelmErrorError {
4296 HelmErrorError {
4297 message,
4298 r#type,
4299 code,
4300 reason_code,
4301 details: None,
4302 }
4303 }
4304}
4305
4306#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
4318pub struct ImportEvidenceLedger {
4319 #[serde(rename = "status", skip_serializing_if = "Option::is_none")]
4320 pub status: Option<String>,
4321 #[serde(rename = "receipt_refs", skip_serializing_if = "Option::is_none")]
4322 pub receipt_refs: Option<Vec<String>>,
4323 #[serde(rename = "evidence_pack_refs", skip_serializing_if = "Option::is_none")]
4324 pub evidence_pack_refs: Option<Vec<String>>,
4325 #[serde(rename = "sbom_ref", skip_serializing_if = "Option::is_none")]
4326 pub sbom_ref: Option<String>,
4327 #[serde(rename = "vulnerability_scan_ref", skip_serializing_if = "Option::is_none")]
4328 pub vulnerability_scan_ref: Option<String>,
4329 #[serde(rename = "provenance_ref", skip_serializing_if = "Option::is_none")]
4330 pub provenance_ref: Option<String>,
4331 #[serde(rename = "license_ref", skip_serializing_if = "Option::is_none")]
4332 pub license_ref: Option<String>,
4333 #[serde(rename = "policy_refs", skip_serializing_if = "Option::is_none")]
4334 pub policy_refs: Option<Vec<String>>,
4335 #[serde(rename = "offline_verify_command", skip_serializing_if = "Option::is_none")]
4336 pub offline_verify_command: Option<String>,
4337}
4338
4339impl ImportEvidenceLedger {
4340 pub fn new() -> ImportEvidenceLedger {
4341 ImportEvidenceLedger {
4342 status: None,
4343 receipt_refs: None,
4344 evidence_pack_refs: None,
4345 sbom_ref: None,
4346 vulnerability_scan_ref: None,
4347 provenance_ref: None,
4348 license_ref: None,
4349 policy_refs: None,
4350 offline_verify_command: None,
4351 }
4352 }
4353}
4354
4355#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
4367pub struct ImportPreflightResult {
4368 #[serde(rename = "import_id")]
4369 pub import_id: String,
4370 #[serde(rename = "status")]
4371 pub status: String,
4372 #[serde(rename = "checks")]
4373 pub checks: Vec<PreflightCheck>,
4374 #[serde(rename = "blocked_reasons", skip_serializing_if = "Option::is_none")]
4375 pub blocked_reasons: Option<Vec<String>>,
4376 #[serde(rename = "evidence_ledger")]
4377 pub evidence_ledger: Box<ImportEvidenceLedger>,
4378}
4379
4380impl ImportPreflightResult {
4381 pub fn new(import_id: String, status: String, checks: Vec<PreflightCheck>, evidence_ledger: ImportEvidenceLedger) -> ImportPreflightResult {
4382 ImportPreflightResult {
4383 import_id,
4384 status,
4385 checks,
4386 blocked_reasons: None,
4387 evidence_ledger: Box::new(evidence_ledger),
4388 }
4389 }
4390}
4391
4392#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
4404pub struct LaunchRecipe {
4405 #[serde(rename = "import_id")]
4406 pub import_id: String,
4407 #[serde(rename = "generated_at", skip_serializing_if = "Option::is_none")]
4408 pub generated_at: Option<String>,
4409 #[serde(rename = "detection_order")]
4410 pub detection_order: Vec<String>,
4411 #[serde(rename = "build_strategy")]
4412 pub build_strategy: Box<BuildStrategy>,
4413 #[serde(rename = "target_plans")]
4414 pub target_plans: Vec<TargetPlan>,
4415 #[serde(rename = "generated_app_specs")]
4416 pub generated_app_specs: Vec<GeneratedAppSpecCandidate>,
4417 #[serde(rename = "promotion_state")]
4418 pub promotion_state: String,
4419 #[serde(rename = "promotion_requirements", skip_serializing_if = "Option::is_none")]
4420 pub promotion_requirements: Option<Vec<String>>,
4421 #[serde(rename = "cli_equivalent", skip_serializing_if = "Option::is_none")]
4422 pub cli_equivalent: Option<String>,
4423}
4424
4425impl LaunchRecipe {
4426 pub fn new(import_id: String, detection_order: Vec<String>, build_strategy: BuildStrategy, target_plans: Vec<TargetPlan>, generated_app_specs: Vec<GeneratedAppSpecCandidate>, promotion_state: String) -> LaunchRecipe {
4427 LaunchRecipe {
4428 import_id,
4429 generated_at: None,
4430 detection_order,
4431 build_strategy: Box::new(build_strategy),
4432 target_plans,
4433 generated_app_specs,
4434 promotion_state,
4435 promotion_requirements: None,
4436 cli_equivalent: None,
4437 }
4438 }
4439}
4440
4441#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
4453pub struct LaunchpadApp {
4454 #[serde(rename = "id")]
4455 pub id: String,
4456 #[serde(rename = "app_id", skip_serializing_if = "Option::is_none")]
4457 pub app_id: Option<String>,
4458 #[serde(rename = "name")]
4459 pub name: String,
4460 #[serde(rename = "version", skip_serializing_if = "Option::is_none")]
4461 pub version: Option<String>,
4462 #[serde(rename = "oci_ref", skip_serializing_if = "Option::is_none")]
4463 pub oci_ref: Option<String>,
4464 #[serde(rename = "immutable_digest", skip_serializing_if = "Option::is_none")]
4465 pub immutable_digest: Option<String>,
4466 #[serde(rename = "oss_supported", skip_serializing_if = "Option::is_none")]
4467 pub oss_supported: Option<bool>,
4468 #[serde(rename = "availability", skip_serializing_if = "Option::is_none")]
4469 pub availability: Option<String>,
4470 #[serde(rename = "redistribution", skip_serializing_if = "Option::is_none")]
4471 pub redistribution: Option<String>,
4472 #[serde(rename = "install_strategy", skip_serializing_if = "Option::is_none")]
4473 pub install_strategy: Option<String>,
4474 #[serde(rename = "risk_class", skip_serializing_if = "Option::is_none")]
4475 pub risk_class: Option<String>,
4476 #[serde(rename = "blocked_reason", skip_serializing_if = "Option::is_none")]
4477 pub blocked_reason: Option<String>,
4478 #[serde(rename = "required_secrets", skip_serializing_if = "Option::is_none")]
4479 pub required_secrets: Option<Vec<String>>,
4480 #[serde(rename = "model_gateway_env", skip_serializing_if = "Option::is_none")]
4481 pub model_gateway_env: Option<Vec<String>>,
4482 #[serde(rename = "declared_capabilities", skip_serializing_if = "Option::is_none")]
4483 pub declared_capabilities: Option<Vec<String>>,
4484 #[serde(rename = "mcp_servers", skip_serializing_if = "Option::is_none")]
4485 pub mcp_servers: Option<Vec<LaunchpadMcpServer>>,
4486 #[serde(rename = "filesystem_needs", skip_serializing_if = "Option::is_none")]
4487 pub filesystem_needs: Option<Vec<String>>,
4488 #[serde(rename = "network_needs", skip_serializing_if = "Option::is_none")]
4489 pub network_needs: Option<Vec<String>>,
4490 #[serde(rename = "healthcheck", skip_serializing_if = "Option::is_none")]
4491 pub healthcheck: Option<std::collections::HashMap<String, serde_json::Value>>,
4492 #[serde(rename = "teardown_recipe", skip_serializing_if = "Option::is_none")]
4493 pub teardown_recipe: Option<std::collections::HashMap<String, serde_json::Value>>,
4494 #[serde(rename = "evidence_profile", skip_serializing_if = "Option::is_none")]
4495 pub evidence_profile: Option<std::collections::HashMap<String, serde_json::Value>>,
4496 #[serde(rename = "policy_ref", skip_serializing_if = "Option::is_none")]
4497 pub policy_ref: Option<String>,
4498 #[serde(rename = "user_state", skip_serializing_if = "Option::is_none")]
4499 pub user_state: Option<String>,
4500 #[serde(rename = "required_capability", skip_serializing_if = "Option::is_none")]
4501 pub required_capability: Option<String>,
4502 #[serde(rename = "upgrade_reason", skip_serializing_if = "Option::is_none")]
4503 pub upgrade_reason: Option<String>,
4504 #[serde(rename = "entitlement_decision", skip_serializing_if = "Option::is_none")]
4505 pub entitlement_decision: Option<Box<EntitlementDecision>>,
4506 #[serde(rename = "action_states", skip_serializing_if = "Option::is_none")]
4507 pub action_states: Option<std::collections::HashMap<String, EntitlementDecision>>,
4508 #[serde(rename = "status", skip_serializing_if = "Option::is_none")]
4509 pub status: Option<Box<LaunchpadAppStatus>>,
4510}
4511
4512impl LaunchpadApp {
4513 pub fn new(id: String, name: String) -> LaunchpadApp {
4514 LaunchpadApp {
4515 id,
4516 app_id: None,
4517 name,
4518 version: None,
4519 oci_ref: None,
4520 immutable_digest: None,
4521 oss_supported: None,
4522 availability: None,
4523 redistribution: None,
4524 install_strategy: None,
4525 risk_class: None,
4526 blocked_reason: None,
4527 required_secrets: None,
4528 model_gateway_env: None,
4529 declared_capabilities: None,
4530 mcp_servers: None,
4531 filesystem_needs: None,
4532 network_needs: None,
4533 healthcheck: None,
4534 teardown_recipe: None,
4535 evidence_profile: None,
4536 policy_ref: None,
4537 user_state: None,
4538 required_capability: None,
4539 upgrade_reason: None,
4540 entitlement_decision: None,
4541 action_states: None,
4542 status: None,
4543 }
4544 }
4545}
4546
4547#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
4559pub struct LaunchpadAppStatus {
4560 #[serde(rename = "state", skip_serializing_if = "Option::is_none")]
4561 pub state: Option<String>,
4562 #[serde(rename = "verdict", skip_serializing_if = "Option::is_none")]
4563 pub verdict: Option<String>,
4564 #[serde(rename = "reason_code", skip_serializing_if = "Option::is_none")]
4565 pub reason_code: Option<String>,
4566 #[serde(rename = "human_summary", skip_serializing_if = "Option::is_none")]
4567 pub human_summary: Option<String>,
4568 #[serde(rename = "missing_secrets", skip_serializing_if = "Option::is_none")]
4569 pub missing_secrets: Option<Vec<String>>,
4570 #[serde(rename = "quarantined_mcp", skip_serializing_if = "Option::is_none")]
4571 pub quarantined_mcp: Option<i32>,
4572 #[serde(rename = "last_run_id", skip_serializing_if = "Option::is_none")]
4573 pub last_run_id: Option<String>,
4574 #[serde(rename = "last_evidencepack_ref", skip_serializing_if = "Option::is_none")]
4575 pub last_evidencepack_ref: Option<String>,
4576 #[serde(rename = "proof_status", skip_serializing_if = "Option::is_none")]
4577 pub proof_status: Option<String>,
4578}
4579
4580impl LaunchpadAppStatus {
4581 pub fn new() -> LaunchpadAppStatus {
4582 LaunchpadAppStatus {
4583 state: None,
4584 verdict: None,
4585 reason_code: None,
4586 human_summary: None,
4587 missing_secrets: None,
4588 quarantined_mcp: None,
4589 last_run_id: None,
4590 last_evidencepack_ref: None,
4591 proof_status: None,
4592 }
4593 }
4594}
4595
4596#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
4608pub struct LaunchpadFixAction {
4609 #[serde(rename = "label", skip_serializing_if = "Option::is_none")]
4610 pub label: Option<String>,
4611 #[serde(rename = "cli", skip_serializing_if = "Option::is_none")]
4612 pub cli: Option<String>,
4613 #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
4614 pub description: Option<String>,
4615}
4616
4617impl LaunchpadFixAction {
4618 pub fn new() -> LaunchpadFixAction {
4619 LaunchpadFixAction {
4620 label: None,
4621 cli: None,
4622 description: None,
4623 }
4624 }
4625}
4626
4627#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
4639pub struct LaunchpadGateResult {
4640 #[serde(rename = "id")]
4641 pub id: String,
4642 #[serde(rename = "group")]
4643 pub group: String,
4644 #[serde(rename = "label")]
4645 pub label: String,
4646 #[serde(rename = "verdict")]
4647 pub verdict: String,
4648 #[serde(rename = "reason_code", skip_serializing_if = "Option::is_none")]
4649 pub reason_code: Option<String>,
4650 #[serde(rename = "receipt_ref", skip_serializing_if = "Option::is_none")]
4651 pub receipt_ref: Option<String>,
4652 #[serde(rename = "proofgraph_node", skip_serializing_if = "Option::is_none")]
4653 pub proofgraph_node: Option<String>,
4654 #[serde(rename = "evidence_refs", skip_serializing_if = "Option::is_none")]
4655 pub evidence_refs: Option<Vec<String>>,
4656 #[serde(rename = "summary", skip_serializing_if = "Option::is_none")]
4657 pub summary: Option<String>,
4658 #[serde(rename = "why", skip_serializing_if = "Option::is_none")]
4659 pub why: Option<String>,
4660 #[serde(rename = "proof_status")]
4661 pub proof_status: String,
4662 #[serde(rename = "raw_detail_ref", skip_serializing_if = "Option::is_none")]
4663 pub raw_detail_ref: Option<String>,
4664 #[serde(rename = "raw_proof_ref", skip_serializing_if = "Option::is_none")]
4665 pub raw_proof_ref: Option<String>,
4666 #[serde(rename = "receipt_required", skip_serializing_if = "Option::is_none")]
4667 pub receipt_required: Option<bool>,
4668 #[serde(rename = "cli_equivalent", skip_serializing_if = "Option::is_none")]
4669 pub cli_equivalent: Option<String>,
4670 #[serde(rename = "fix_actions", skip_serializing_if = "Option::is_none")]
4671 pub fix_actions: Option<Vec<LaunchpadFixAction>>,
4672}
4673
4674impl LaunchpadGateResult {
4675 pub fn new(id: String, group: String, label: String, verdict: String, proof_status: String) -> LaunchpadGateResult {
4676 LaunchpadGateResult {
4677 id,
4678 group,
4679 label,
4680 verdict,
4681 reason_code: None,
4682 receipt_ref: None,
4683 proofgraph_node: None,
4684 evidence_refs: None,
4685 summary: None,
4686 why: None,
4687 proof_status,
4688 raw_detail_ref: None,
4689 raw_proof_ref: None,
4690 receipt_required: None,
4691 cli_equivalent: None,
4692 fix_actions: None,
4693 }
4694 }
4695}
4696
4697#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
4709pub struct LaunchpadImportRecord {
4710 #[serde(rename = "id")]
4711 pub id: String,
4712 #[serde(rename = "state")]
4713 pub state: LaunchpadImportRecordState,
4714 #[serde(rename = "created_at", skip_serializing_if = "Option::is_none")]
4715 pub created_at: Option<String>,
4716 #[serde(rename = "updated_at", skip_serializing_if = "Option::is_none")]
4717 pub updated_at: Option<String>,
4718 #[serde(rename = "request")]
4719 pub request: Box<LaunchpadImportRequest>,
4720 #[serde(rename = "source_snapshot")]
4721 pub source_snapshot: Box<SourceSnapshot>,
4722 #[serde(rename = "capability_graph")]
4723 pub capability_graph: Box<CapabilityGraph>,
4724 #[serde(rename = "launch_recipe")]
4725 pub launch_recipe: Box<LaunchRecipe>,
4726 #[serde(rename = "preflight", skip_serializing_if = "Option::is_none")]
4727 pub preflight: Option<Box<ImportPreflightResult>>,
4728 #[serde(rename = "evidence_ledger")]
4729 pub evidence_ledger: Box<ImportEvidenceLedger>,
4730}
4731
4732impl LaunchpadImportRecord {
4733 pub fn new(id: String, state: LaunchpadImportRecordState, request: LaunchpadImportRequest, source_snapshot: SourceSnapshot, capability_graph: CapabilityGraph, launch_recipe: LaunchRecipe, evidence_ledger: ImportEvidenceLedger) -> LaunchpadImportRecord {
4734 LaunchpadImportRecord {
4735 id,
4736 state,
4737 created_at: None,
4738 updated_at: None,
4739 request: Box::new(request),
4740 source_snapshot: Box::new(source_snapshot),
4741 capability_graph: Box::new(capability_graph),
4742 launch_recipe: Box::new(launch_recipe),
4743 preflight: None,
4744 evidence_ledger: Box::new(evidence_ledger),
4745 }
4746 }
4747}
4748#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
4750pub enum LaunchpadImportRecordState {
4751 #[serde(rename = "IMPORTED")]
4752 Imported,
4753 #[serde(rename = "PREFLIGHTED")]
4754 Preflighted,
4755 #[serde(rename = "PROMOTABLE")]
4756 Promotable,
4757 #[serde(rename = "BLOCKED")]
4758 Blocked,
4759 #[serde(rename = "LAUNCHED")]
4760 Launched,
4761 #[serde(rename = "TORN_DOWN")]
4762 TornDown,
4763}
4764
4765impl Default for LaunchpadImportRecordState {
4766 fn default() -> LaunchpadImportRecordState {
4767 Self::Imported
4768 }
4769}
4770
4771#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
4783pub struct LaunchpadImportRequest {
4784 #[serde(rename = "repo_url")]
4785 pub repo_url: String,
4786 #[serde(rename = "ref", skip_serializing_if = "Option::is_none")]
4787 pub r#ref: Option<String>,
4788 #[serde(rename = "desired_target", skip_serializing_if = "Option::is_none")]
4789 pub desired_target: Option<String>,
4790}
4791
4792impl LaunchpadImportRequest {
4793 pub fn new(repo_url: String) -> LaunchpadImportRequest {
4794 LaunchpadImportRequest {
4795 repo_url,
4796 r#ref: None,
4797 desired_target: None,
4798 }
4799 }
4800}
4801
4802#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
4814pub struct LaunchpadMatrixCell {
4815 #[serde(rename = "app_id")]
4816 pub app_id: String,
4817 #[serde(rename = "substrate_id")]
4818 pub substrate_id: String,
4819 #[serde(rename = "launchable")]
4820 pub launchable: bool,
4821 #[serde(rename = "verdict")]
4822 pub verdict: String,
4823 #[serde(rename = "reason")]
4824 pub reason: String,
4825 #[serde(rename = "availability")]
4826 pub availability: String,
4827 #[serde(rename = "user_state", skip_serializing_if = "Option::is_none")]
4828 pub user_state: Option<String>,
4829 #[serde(rename = "required_capability", skip_serializing_if = "Option::is_none")]
4830 pub required_capability: Option<String>,
4831 #[serde(rename = "upgrade_reason", skip_serializing_if = "Option::is_none")]
4832 pub upgrade_reason: Option<String>,
4833 #[serde(rename = "entitlement_decision", skip_serializing_if = "Option::is_none")]
4834 pub entitlement_decision: Option<Box<EntitlementDecision>>,
4835 #[serde(rename = "action_states", skip_serializing_if = "Option::is_none")]
4836 pub action_states: Option<std::collections::HashMap<String, EntitlementDecision>>,
4837}
4838
4839impl LaunchpadMatrixCell {
4840 pub fn new(app_id: String, substrate_id: String, launchable: bool, verdict: String, reason: String, availability: String) -> LaunchpadMatrixCell {
4841 LaunchpadMatrixCell {
4842 app_id,
4843 substrate_id,
4844 launchable,
4845 verdict,
4846 reason,
4847 availability,
4848 user_state: None,
4849 required_capability: None,
4850 upgrade_reason: None,
4851 entitlement_decision: None,
4852 action_states: None,
4853 }
4854 }
4855}
4856
4857#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
4869pub struct LaunchpadMcpServer {
4870 #[serde(rename = "id", skip_serializing_if = "Option::is_none")]
4871 pub id: Option<String>,
4872 #[serde(rename = "endpoint", skip_serializing_if = "Option::is_none")]
4873 pub endpoint: Option<String>,
4874 #[serde(rename = "transport", skip_serializing_if = "Option::is_none")]
4875 pub transport: Option<String>,
4876 #[serde(rename = "status", skip_serializing_if = "Option::is_none")]
4877 pub status: Option<String>,
4878 #[serde(rename = "risk_class", skip_serializing_if = "Option::is_none")]
4879 pub risk_class: Option<String>,
4880 #[serde(rename = "tools", skip_serializing_if = "Option::is_none")]
4881 pub tools: Option<Vec<String>>,
4882 #[serde(rename = "receipt_ref", skip_serializing_if = "Option::is_none")]
4883 pub receipt_ref: Option<String>,
4884}
4885
4886impl LaunchpadMcpServer {
4887 pub fn new() -> LaunchpadMcpServer {
4888 LaunchpadMcpServer {
4889 id: None,
4890 endpoint: None,
4891 transport: None,
4892 status: None,
4893 risk_class: None,
4894 tools: None,
4895 receipt_ref: None,
4896 }
4897 }
4898}
4899
4900#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
4912pub struct LaunchpadPlanRequest {
4913 #[serde(rename = "app_id")]
4914 pub app_id: String,
4915 #[serde(rename = "substrate_id")]
4916 pub substrate_id: String,
4917 #[serde(rename = "principal", skip_serializing_if = "Option::is_none")]
4918 pub principal: Option<String>,
4919}
4920
4921impl LaunchpadPlanRequest {
4922 pub fn new(app_id: String, substrate_id: String) -> LaunchpadPlanRequest {
4923 LaunchpadPlanRequest {
4924 app_id,
4925 substrate_id,
4926 principal: None,
4927 }
4928 }
4929}
4930
4931#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
4943pub struct LaunchpadPlanResponse {
4944 #[serde(rename = "launch_id", skip_serializing_if = "Option::is_none")]
4945 pub launch_id: Option<String>,
4946 #[serde(rename = "app_id", skip_serializing_if = "Option::is_none")]
4947 pub app_id: Option<String>,
4948 #[serde(rename = "substrate_id", skip_serializing_if = "Option::is_none")]
4949 pub substrate_id: Option<String>,
4950 #[serde(rename = "state", skip_serializing_if = "Option::is_none")]
4951 pub state: Option<String>,
4952 #[serde(rename = "kernel_verdict", skip_serializing_if = "Option::is_none")]
4953 pub kernel_verdict: Option<String>,
4954 #[serde(rename = "reason", skip_serializing_if = "Option::is_none")]
4955 pub reason: Option<String>,
4956 #[serde(rename = "reason_code", skip_serializing_if = "Option::is_none")]
4957 pub reason_code: Option<String>,
4958 #[serde(rename = "plan_hash", skip_serializing_if = "Option::is_none")]
4959 pub plan_hash: Option<String>,
4960 #[serde(rename = "user_state", skip_serializing_if = "Option::is_none")]
4961 pub user_state: Option<String>,
4962 #[serde(rename = "required_capability", skip_serializing_if = "Option::is_none")]
4963 pub required_capability: Option<String>,
4964 #[serde(rename = "upgrade_reason", skip_serializing_if = "Option::is_none")]
4965 pub upgrade_reason: Option<String>,
4966 #[serde(rename = "entitlement_decision", skip_serializing_if = "Option::is_none")]
4967 pub entitlement_decision: Option<Box<EntitlementDecision>>,
4968 #[serde(rename = "action_states", skip_serializing_if = "Option::is_none")]
4969 pub action_states: Option<std::collections::HashMap<String, EntitlementDecision>>,
4970}
4971
4972impl LaunchpadPlanResponse {
4973 pub fn new() -> LaunchpadPlanResponse {
4974 LaunchpadPlanResponse {
4975 launch_id: None,
4976 app_id: None,
4977 substrate_id: None,
4978 state: None,
4979 kernel_verdict: None,
4980 reason: None,
4981 reason_code: None,
4982 plan_hash: None,
4983 user_state: None,
4984 required_capability: None,
4985 upgrade_reason: None,
4986 entitlement_decision: None,
4987 action_states: None,
4988 }
4989 }
4990}
4991
4992#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
5004pub struct LaunchpadPolicySimulation {
5005 #[serde(rename = "app_id", skip_serializing_if = "Option::is_none")]
5006 pub app_id: Option<String>,
5007 #[serde(rename = "verdict", skip_serializing_if = "Option::is_none")]
5008 pub verdict: Option<String>,
5009 #[serde(rename = "reason_code", skip_serializing_if = "Option::is_none")]
5010 pub reason_code: Option<String>,
5011 #[serde(rename = "plain_english", skip_serializing_if = "Option::is_none")]
5012 pub plain_english: Option<String>,
5013 #[serde(rename = "structured", skip_serializing_if = "Option::is_none")]
5014 pub structured: Option<std::collections::HashMap<String, serde_json::Value>>,
5015 #[serde(rename = "diff", skip_serializing_if = "Option::is_none")]
5016 pub diff: Option<Vec<String>>,
5017 #[serde(rename = "raw", skip_serializing_if = "Option::is_none")]
5018 pub raw: Option<std::collections::HashMap<String, serde_json::Value>>,
5019 #[serde(rename = "receipt_ref", skip_serializing_if = "Option::is_none")]
5020 pub receipt_ref: Option<String>,
5021 #[serde(rename = "proof_status", skip_serializing_if = "Option::is_none")]
5022 pub proof_status: Option<String>,
5023 #[serde(rename = "cli_equivalent", skip_serializing_if = "Option::is_none")]
5024 pub cli_equivalent: Option<String>,
5025 #[serde(rename = "fix_actions", skip_serializing_if = "Option::is_none")]
5026 pub fix_actions: Option<Vec<LaunchpadFixAction>>,
5027}
5028
5029impl LaunchpadPolicySimulation {
5030 pub fn new() -> LaunchpadPolicySimulation {
5031 LaunchpadPolicySimulation {
5032 app_id: None,
5033 verdict: None,
5034 reason_code: None,
5035 plain_english: None,
5036 structured: None,
5037 diff: None,
5038 raw: None,
5039 receipt_ref: None,
5040 proof_status: None,
5041 cli_equivalent: None,
5042 fix_actions: None,
5043 }
5044 }
5045}
5046
5047#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
5059pub struct LaunchpadRun {
5060 #[serde(rename = "launch_id", skip_serializing_if = "Option::is_none")]
5061 pub launch_id: Option<String>,
5062 #[serde(rename = "run_id", skip_serializing_if = "Option::is_none")]
5063 pub run_id: Option<String>,
5064 #[serde(rename = "app_id", skip_serializing_if = "Option::is_none")]
5065 pub app_id: Option<String>,
5066 #[serde(rename = "substrate_id", skip_serializing_if = "Option::is_none")]
5067 pub substrate_id: Option<String>,
5068 #[serde(rename = "state", skip_serializing_if = "Option::is_none")]
5069 pub state: Option<String>,
5070 #[serde(rename = "kernel_verdict", skip_serializing_if = "Option::is_none")]
5071 pub kernel_verdict: Option<String>,
5072 #[serde(rename = "reason", skip_serializing_if = "Option::is_none")]
5073 pub reason: Option<String>,
5074 #[serde(rename = "reason_code", skip_serializing_if = "Option::is_none")]
5075 pub reason_code: Option<String>,
5076 #[serde(rename = "plan_hash", skip_serializing_if = "Option::is_none")]
5077 pub plan_hash: Option<String>,
5078 #[serde(rename = "launchplan_hash", skip_serializing_if = "Option::is_none")]
5079 pub launchplan_hash: Option<String>,
5080 #[serde(rename = "install_receipt_ref", skip_serializing_if = "Option::is_none")]
5081 pub install_receipt_ref: Option<String>,
5082 #[serde(rename = "launch_receipt_ref", skip_serializing_if = "Option::is_none")]
5083 pub launch_receipt_ref: Option<String>,
5084 #[serde(rename = "health_receipt_ref", skip_serializing_if = "Option::is_none")]
5085 pub health_receipt_ref: Option<String>,
5086 #[serde(rename = "teardown_receipt_ref", skip_serializing_if = "Option::is_none")]
5087 pub teardown_receipt_ref: Option<String>,
5088 #[serde(rename = "evidence_pack_refs", skip_serializing_if = "Option::is_none")]
5089 pub evidence_pack_refs: Option<Vec<String>>,
5090 #[serde(rename = "secret_grant_refs", skip_serializing_if = "Option::is_none")]
5091 pub secret_grant_refs: Option<Vec<String>>,
5092 #[serde(rename = "start_receipt_refs", skip_serializing_if = "Option::is_none")]
5093 pub start_receipt_refs: Option<Vec<String>>,
5094 #[serde(rename = "verification_command", skip_serializing_if = "Option::is_none")]
5095 pub verification_command: Option<String>,
5096 #[serde(rename = "teardown_command", skip_serializing_if = "Option::is_none")]
5097 pub teardown_command: Option<String>,
5098 #[serde(rename = "runtime_handles", skip_serializing_if = "Option::is_none")]
5099 pub runtime_handles: Option<std::collections::HashMap<String, serde_json::Value>>,
5100}
5101
5102impl LaunchpadRun {
5103 pub fn new() -> LaunchpadRun {
5104 LaunchpadRun {
5105 launch_id: None,
5106 run_id: None,
5107 app_id: None,
5108 substrate_id: None,
5109 state: None,
5110 kernel_verdict: None,
5111 reason: None,
5112 reason_code: None,
5113 plan_hash: None,
5114 launchplan_hash: None,
5115 install_receipt_ref: None,
5116 launch_receipt_ref: None,
5117 health_receipt_ref: None,
5118 teardown_receipt_ref: None,
5119 evidence_pack_refs: None,
5120 secret_grant_refs: None,
5121 start_receipt_refs: None,
5122 verification_command: None,
5123 teardown_command: None,
5124 runtime_handles: None,
5125 }
5126 }
5127}
5128
5129#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
5141pub struct LaunchpadRunDetail {
5142 #[serde(rename = "run")]
5143 pub run: Box<LaunchpadRun>,
5144 #[serde(rename = "app", skip_serializing_if = "Option::is_none")]
5145 pub app: Option<Box<LaunchpadApp>>,
5146 #[serde(rename = "instance")]
5147 pub instance: Box<LaunchpadRuntimeInstance>,
5148 #[serde(rename = "gates")]
5149 pub gates: Vec<LaunchpadGateResult>,
5150 #[serde(rename = "events")]
5151 pub events: Vec<LaunchpadRunEvent>,
5152 #[serde(rename = "offline_verification", skip_serializing_if = "Option::is_none")]
5153 pub offline_verification: Option<std::collections::HashMap<String, serde_json::Value>>,
5154}
5155
5156impl LaunchpadRunDetail {
5157 pub fn new(run: LaunchpadRun, instance: LaunchpadRuntimeInstance, gates: Vec<LaunchpadGateResult>, events: Vec<LaunchpadRunEvent>) -> LaunchpadRunDetail {
5158 LaunchpadRunDetail {
5159 run: Box::new(run),
5160 app: None,
5161 instance: Box::new(instance),
5162 gates,
5163 events,
5164 offline_verification: None,
5165 }
5166 }
5167}
5168
5169#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
5181pub struct LaunchpadRunEvent {
5182 #[serde(rename = "run_id")]
5183 pub run_id: String,
5184 #[serde(rename = "stage")]
5185 pub stage: String,
5186 #[serde(rename = "verdict")]
5187 pub verdict: String,
5188 #[serde(rename = "reason_code", skip_serializing_if = "Option::is_none")]
5189 pub reason_code: Option<String>,
5190 #[serde(rename = "receipt_ref", skip_serializing_if = "Option::is_none")]
5191 pub receipt_ref: Option<String>,
5192 #[serde(rename = "proofgraph_node", skip_serializing_if = "Option::is_none")]
5193 pub proofgraph_node: Option<String>,
5194 #[serde(rename = "evidence_refs", skip_serializing_if = "Option::is_none")]
5195 pub evidence_refs: Option<Vec<String>>,
5196 #[serde(rename = "raw_payload_ref", skip_serializing_if = "Option::is_none")]
5197 pub raw_payload_ref: Option<String>,
5198 #[serde(rename = "human_summary", skip_serializing_if = "Option::is_none")]
5199 pub human_summary: Option<String>,
5200 #[serde(rename = "why", skip_serializing_if = "Option::is_none")]
5201 pub why: Option<String>,
5202 #[serde(rename = "proof_status")]
5203 pub proof_status: String,
5204 #[serde(rename = "receipt_required", skip_serializing_if = "Option::is_none")]
5205 pub receipt_required: Option<bool>,
5206 #[serde(rename = "cli_equivalent", skip_serializing_if = "Option::is_none")]
5207 pub cli_equivalent: Option<String>,
5208 #[serde(rename = "fix_actions", skip_serializing_if = "Option::is_none")]
5209 pub fix_actions: Option<Vec<LaunchpadFixAction>>,
5210 #[serde(rename = "created_at", skip_serializing_if = "Option::is_none")]
5211 pub created_at: Option<String>,
5212}
5213
5214impl LaunchpadRunEvent {
5215 pub fn new(run_id: String, stage: String, verdict: String, proof_status: String) -> LaunchpadRunEvent {
5216 LaunchpadRunEvent {
5217 run_id,
5218 stage,
5219 verdict,
5220 reason_code: None,
5221 receipt_ref: None,
5222 proofgraph_node: None,
5223 evidence_refs: None,
5224 raw_payload_ref: None,
5225 human_summary: None,
5226 why: None,
5227 proof_status,
5228 receipt_required: None,
5229 cli_equivalent: None,
5230 fix_actions: None,
5231 created_at: None,
5232 }
5233 }
5234}
5235
5236#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
5248pub struct LaunchpadRuntimeInstance {
5249 #[serde(rename = "run_id")]
5250 pub run_id: String,
5251 #[serde(rename = "container_id", skip_serializing_if = "Option::is_none")]
5252 pub container_id: Option<String>,
5253 #[serde(rename = "launchplan_hash", skip_serializing_if = "Option::is_none")]
5254 pub launchplan_hash: Option<String>,
5255 #[serde(rename = "state")]
5256 pub state: String,
5257 #[serde(rename = "verdict", skip_serializing_if = "Option::is_none")]
5258 pub verdict: Option<String>,
5259 #[serde(rename = "active_grants", skip_serializing_if = "Option::is_none")]
5260 pub active_grants: Option<Vec<String>>,
5261 #[serde(rename = "receipt_refs", skip_serializing_if = "Option::is_none")]
5262 pub receipt_refs: Option<Vec<String>>,
5263 #[serde(rename = "evidencepack_ref", skip_serializing_if = "Option::is_none")]
5264 pub evidencepack_ref: Option<String>,
5265 #[serde(rename = "offline_verify_command", skip_serializing_if = "Option::is_none")]
5266 pub offline_verify_command: Option<String>,
5267 #[serde(rename = "teardown_command", skip_serializing_if = "Option::is_none")]
5268 pub teardown_command: Option<String>,
5269 #[serde(rename = "sandbox_grant", skip_serializing_if = "Option::is_none")]
5270 pub sandbox_grant: Option<Box<LaunchpadSandboxGrant>>,
5271 #[serde(rename = "cli_equivalent", skip_serializing_if = "Option::is_none")]
5272 pub cli_equivalent: Option<String>,
5273}
5274
5275impl LaunchpadRuntimeInstance {
5276 pub fn new(run_id: String, state: String) -> LaunchpadRuntimeInstance {
5277 LaunchpadRuntimeInstance {
5278 run_id,
5279 container_id: None,
5280 launchplan_hash: None,
5281 state,
5282 verdict: None,
5283 active_grants: None,
5284 receipt_refs: None,
5285 evidencepack_ref: None,
5286 offline_verify_command: None,
5287 teardown_command: None,
5288 sandbox_grant: None,
5289 cli_equivalent: None,
5290 }
5291 }
5292}
5293
5294#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
5306pub struct LaunchpadSandboxGrant {
5307 #[serde(rename = "backend_profile", skip_serializing_if = "Option::is_none")]
5308 pub backend_profile: Option<String>,
5309 #[serde(rename = "runtime", skip_serializing_if = "Option::is_none")]
5310 pub runtime: Option<String>,
5311 #[serde(rename = "runtime_version", skip_serializing_if = "Option::is_none")]
5312 pub runtime_version: Option<String>,
5313 #[serde(rename = "image_digest", skip_serializing_if = "Option::is_none")]
5314 pub image_digest: Option<String>,
5315 #[serde(rename = "filesystem_preopens", skip_serializing_if = "Option::is_none")]
5316 pub filesystem_preopens: Option<Vec<String>>,
5317 #[serde(rename = "network_policy", skip_serializing_if = "Option::is_none")]
5318 pub network_policy: Option<Vec<String>>,
5319 #[serde(rename = "env", skip_serializing_if = "Option::is_none")]
5320 pub env: Option<Vec<String>>,
5321 #[serde(rename = "resource_limits", skip_serializing_if = "Option::is_none")]
5322 pub resource_limits: Option<std::collections::HashMap<String, String>>,
5323 #[serde(rename = "policy_epoch", skip_serializing_if = "Option::is_none")]
5324 pub policy_epoch: Option<String>,
5325 #[serde(rename = "grant_hash", skip_serializing_if = "Option::is_none")]
5326 pub grant_hash: Option<String>,
5327 #[serde(rename = "proof_status", skip_serializing_if = "Option::is_none")]
5328 pub proof_status: Option<String>,
5329}
5330
5331impl LaunchpadSandboxGrant {
5332 pub fn new() -> LaunchpadSandboxGrant {
5333 LaunchpadSandboxGrant {
5334 backend_profile: None,
5335 runtime: None,
5336 runtime_version: None,
5337 image_digest: None,
5338 filesystem_preopens: None,
5339 network_policy: None,
5340 env: None,
5341 resource_limits: None,
5342 policy_epoch: None,
5343 grant_hash: None,
5344 proof_status: None,
5345 }
5346 }
5347}
5348
5349#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
5361pub struct LaunchpadSecretGrant {
5362 #[serde(rename = "name")]
5363 pub name: String,
5364 #[serde(rename = "required", skip_serializing_if = "Option::is_none")]
5365 pub required: Option<bool>,
5366 #[serde(rename = "provider", skip_serializing_if = "Option::is_none")]
5367 pub provider: Option<String>,
5368 #[serde(rename = "scope", skip_serializing_if = "Option::is_none")]
5369 pub scope: Option<String>,
5370 #[serde(rename = "status")]
5371 pub status: String,
5372 #[serde(rename = "launch_impact", skip_serializing_if = "Option::is_none")]
5373 pub launch_impact: Option<String>,
5374 #[serde(rename = "grant_ref", skip_serializing_if = "Option::is_none")]
5375 pub grant_ref: Option<String>,
5376 #[serde(rename = "receipt_ref", skip_serializing_if = "Option::is_none")]
5377 pub receipt_ref: Option<String>,
5378 #[serde(rename = "value_env", skip_serializing_if = "Option::is_none")]
5379 pub value_env: Option<String>,
5380}
5381
5382impl LaunchpadSecretGrant {
5383 pub fn new(name: String, status: String) -> LaunchpadSecretGrant {
5384 LaunchpadSecretGrant {
5385 name,
5386 required: None,
5387 provider: None,
5388 scope: None,
5389 status,
5390 launch_impact: None,
5391 grant_ref: None,
5392 receipt_ref: None,
5393 value_env: None,
5394 }
5395 }
5396}
5397
5398#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
5410pub struct LaunchpadSubstrate {
5411 #[serde(rename = "id")]
5412 pub id: String,
5413 #[serde(rename = "name")]
5414 pub name: String,
5415 #[serde(rename = "kind", skip_serializing_if = "Option::is_none")]
5416 pub kind: Option<String>,
5417 #[serde(rename = "availability", skip_serializing_if = "Option::is_none")]
5418 pub availability: Option<String>,
5419 #[serde(rename = "default_dry_run", skip_serializing_if = "Option::is_none")]
5420 pub default_dry_run: Option<bool>,
5421 #[serde(rename = "blocked_reason", skip_serializing_if = "Option::is_none")]
5422 pub blocked_reason: Option<String>,
5423}
5424
5425impl LaunchpadSubstrate {
5426 pub fn new(id: String, name: String) -> LaunchpadSubstrate {
5427 LaunchpadSubstrate {
5428 id,
5429 name,
5430 kind: None,
5431 availability: None,
5432 default_dry_run: None,
5433 blocked_reason: None,
5434 }
5435 }
5436}
5437
5438#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
5450pub struct ListConsoleSurfaces200Response {
5451 #[serde(rename = "surfaces", skip_serializing_if = "Option::is_none")]
5452 pub surfaces: Option<Vec<ConsoleSurfaceRef>>,
5453}
5454
5455impl ListConsoleSurfaces200Response {
5456 pub fn new() -> ListConsoleSurfaces200Response {
5457 ListConsoleSurfaces200Response {
5458 surfaces: None,
5459 }
5460 }
5461}
5462
5463#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
5475pub struct ListLaunchpadApps200Response {
5476 #[serde(rename = "apps")]
5477 pub apps: Vec<LaunchpadApp>,
5478}
5479
5480impl ListLaunchpadApps200Response {
5481 pub fn new(apps: Vec<LaunchpadApp>) -> ListLaunchpadApps200Response {
5482 ListLaunchpadApps200Response {
5483 apps,
5484 }
5485 }
5486}
5487
5488#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
5500pub struct ListLaunchpadImports200Response {
5501 #[serde(rename = "imports")]
5502 pub imports: Vec<LaunchpadImportRecord>,
5503 #[serde(rename = "cli_equivalent", skip_serializing_if = "Option::is_none")]
5504 pub cli_equivalent: Option<String>,
5505}
5506
5507impl ListLaunchpadImports200Response {
5508 pub fn new(imports: Vec<LaunchpadImportRecord>) -> ListLaunchpadImports200Response {
5509 ListLaunchpadImports200Response {
5510 imports,
5511 cli_equivalent: None,
5512 }
5513 }
5514}
5515
5516#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
5528pub struct ListLaunchpadRunEvents200Response {
5529 #[serde(rename = "events", skip_serializing_if = "Option::is_none")]
5530 pub events: Option<Vec<LaunchpadRunEvent>>,
5531}
5532
5533impl ListLaunchpadRunEvents200Response {
5534 pub fn new() -> ListLaunchpadRunEvents200Response {
5535 ListLaunchpadRunEvents200Response {
5536 events: None,
5537 }
5538 }
5539}
5540
5541#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
5553pub struct ListLaunchpadRuns200Response {
5554 #[serde(rename = "runs", skip_serializing_if = "Option::is_none")]
5555 pub runs: Option<Vec<LaunchpadRun>>,
5556 #[serde(rename = "instances", skip_serializing_if = "Option::is_none")]
5557 pub instances: Option<Vec<LaunchpadRuntimeInstance>>,
5558}
5559
5560impl ListLaunchpadRuns200Response {
5561 pub fn new() -> ListLaunchpadRuns200Response {
5562 ListLaunchpadRuns200Response {
5563 runs: None,
5564 instances: None,
5565 }
5566 }
5567}
5568
5569#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
5581pub struct ListLaunchpadSecretGrants200Response {
5582 #[serde(rename = "secrets", skip_serializing_if = "Option::is_none")]
5583 pub secrets: Option<Vec<LaunchpadSecretGrant>>,
5584}
5585
5586impl ListLaunchpadSecretGrants200Response {
5587 pub fn new() -> ListLaunchpadSecretGrants200Response {
5588 ListLaunchpadSecretGrants200Response {
5589 secrets: None,
5590 }
5591 }
5592}
5593
5594#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
5606pub struct ListLaunchpadSubstrates200Response {
5607 #[serde(rename = "substrates")]
5608 pub substrates: Vec<LaunchpadSubstrate>,
5609}
5610
5611impl ListLaunchpadSubstrates200Response {
5612 pub fn new(substrates: Vec<LaunchpadSubstrate>) -> ListLaunchpadSubstrates200Response {
5613 ListLaunchpadSubstrates200Response {
5614 substrates,
5615 }
5616 }
5617}
5618
5619#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
5631pub struct LocalConsoleRuntimeConfig {
5632 #[serde(rename = "api_base_url")]
5633 pub api_base_url: String,
5634 #[serde(rename = "local_mode")]
5635 pub local_mode: bool,
5636 #[serde(rename = "start_onboarding")]
5637 pub start_onboarding: bool,
5638 #[serde(rename = "tenant_id")]
5639 pub tenant_id: String,
5640 #[serde(rename = "principal_id")]
5641 pub principal_id: String,
5642 #[serde(rename = "profile")]
5643 pub profile: LocalConsoleRuntimeConfigProfile,
5644 #[serde(rename = "entitlements")]
5645 pub entitlements: Vec<LocalConsoleRuntimeConfigEntitlements>,
5646}
5647
5648impl LocalConsoleRuntimeConfig {
5649 pub fn new(api_base_url: String, local_mode: bool, start_onboarding: bool, tenant_id: String, principal_id: String, profile: LocalConsoleRuntimeConfigProfile, entitlements: Vec<LocalConsoleRuntimeConfigEntitlements>) -> LocalConsoleRuntimeConfig {
5650 LocalConsoleRuntimeConfig {
5651 api_base_url,
5652 local_mode,
5653 start_onboarding,
5654 tenant_id,
5655 principal_id,
5656 profile,
5657 entitlements,
5658 }
5659 }
5660}
5661#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
5663pub enum LocalConsoleRuntimeConfigProfile {
5664 #[serde(rename = "claude")]
5665 Claude,
5666 #[serde(rename = "codex")]
5667 Codex,
5668 #[serde(rename = "mcp")]
5669 Mcp,
5670 #[serde(rename = "openai-compatible")]
5671 OpenaiCompatible,
5672}
5673
5674impl Default for LocalConsoleRuntimeConfigProfile {
5675 fn default() -> LocalConsoleRuntimeConfigProfile {
5676 Self::Claude
5677 }
5678}
5679#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
5681pub enum LocalConsoleRuntimeConfigEntitlements {
5682 #[serde(rename = "OSS_CORE")]
5683 OssCore,
5684}
5685
5686impl Default for LocalConsoleRuntimeConfigEntitlements {
5687 fn default() -> LocalConsoleRuntimeConfigEntitlements {
5688 Self::OssCore
5689 }
5690}
5691
5692#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
5704pub struct LocalSessionExchangeRequest {
5705 #[serde(rename = "token")]
5706 pub token: String,
5707}
5708
5709impl LocalSessionExchangeRequest {
5710 pub fn new(token: String) -> LocalSessionExchangeRequest {
5711 LocalSessionExchangeRequest {
5712 token,
5713 }
5714 }
5715}
5716
5717#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
5729pub struct LocalSessionExchangeResponse {
5730 #[serde(rename = "session_token")]
5731 pub session_token: String,
5732 #[serde(rename = "tenant_id")]
5733 pub tenant_id: String,
5734 #[serde(rename = "principal_id")]
5735 pub principal_id: String,
5736 #[serde(rename = "principal")]
5737 pub principal: String,
5738 #[serde(rename = "expires_at")]
5739 pub expires_at: String,
5740 #[serde(rename = "entitlements")]
5741 pub entitlements: Vec<LocalSessionExchangeResponseEntitlements>,
5742}
5743
5744impl LocalSessionExchangeResponse {
5745 pub fn new(session_token: String, tenant_id: String, principal_id: String, principal: String, expires_at: String, entitlements: Vec<LocalSessionExchangeResponseEntitlements>) -> LocalSessionExchangeResponse {
5746 LocalSessionExchangeResponse {
5747 session_token,
5748 tenant_id,
5749 principal_id,
5750 principal,
5751 expires_at,
5752 entitlements,
5753 }
5754 }
5755}
5756#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
5758pub enum LocalSessionExchangeResponseEntitlements {
5759 #[serde(rename = "OSS_CORE")]
5760 OssCore,
5761}
5762
5763impl Default for LocalSessionExchangeResponseEntitlements {
5764 fn default() -> LocalSessionExchangeResponseEntitlements {
5765 Self::OssCore
5766 }
5767}
5768
5769#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
5781pub struct McpAuthorizationProfile {
5782 #[serde(rename = "profile_id", skip_serializing_if = "Option::is_none")]
5783 pub profile_id: Option<String>,
5784 #[serde(rename = "protocol_version", skip_serializing_if = "Option::is_none")]
5786 pub protocol_version: Option<String>,
5787 #[serde(rename = "resource", skip_serializing_if = "Option::is_none")]
5788 pub resource: Option<String>,
5789 #[serde(rename = "required_audience", skip_serializing_if = "Option::is_none")]
5791 pub required_audience: Option<String>,
5792 #[serde(rename = "authorization_servers", skip_serializing_if = "Option::is_none")]
5793 pub authorization_servers: Option<Vec<String>>,
5794 #[serde(rename = "scopes_supported", skip_serializing_if = "Option::is_none")]
5795 pub scopes_supported: Option<Vec<String>>,
5796 #[serde(rename = "tool_scopes", skip_serializing_if = "Option::is_none")]
5798 pub tool_scopes: Option<std::collections::HashMap<String, serde_json::Value>>,
5799 #[serde(rename = "required_scopes", skip_serializing_if = "Option::is_none")]
5800 pub required_scopes: Option<Vec<String>>,
5801 #[serde(rename = "protocol_versions", skip_serializing_if = "Option::is_none")]
5802 pub protocol_versions: Option<Vec<String>>,
5803 #[serde(rename = "stale_after", skip_serializing_if = "Option::is_none")]
5805 pub stale_after: Option<String>,
5806 #[serde(rename = "tool_scope_hash", skip_serializing_if = "Option::is_none")]
5807 pub tool_scope_hash: Option<String>,
5808 #[serde(rename = "profile_hash", skip_serializing_if = "Option::is_none")]
5809 pub profile_hash: Option<String>,
5810}
5811
5812impl McpAuthorizationProfile {
5813 pub fn new() -> McpAuthorizationProfile {
5814 McpAuthorizationProfile {
5815 profile_id: None,
5816 protocol_version: None,
5817 resource: None,
5818 required_audience: None,
5819 authorization_servers: None,
5820 scopes_supported: None,
5821 tool_scopes: None,
5822 required_scopes: None,
5823 protocol_versions: None,
5824 stale_after: None,
5825 tool_scope_hash: None,
5826 profile_hash: None,
5827 }
5828 }
5829}
5830
5831#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
5843pub struct McpAuthorizeCallRequest {
5844 #[serde(rename = "server_id")]
5845 pub server_id: String,
5846 #[serde(rename = "tool_name")]
5847 pub tool_name: String,
5848 #[serde(rename = "args_hash", skip_serializing_if = "Option::is_none")]
5849 pub args_hash: Option<String>,
5850 #[serde(rename = "granted_scopes", skip_serializing_if = "Option::is_none")]
5851 pub granted_scopes: Option<Vec<String>>,
5852 #[serde(rename = "pinned_schema_hash", skip_serializing_if = "Option::is_none")]
5854 pub pinned_schema_hash: Option<String>,
5855 #[serde(rename = "tool_schema", skip_serializing_if = "Option::is_none")]
5856 pub tool_schema: Option<std::collections::HashMap<String, serde_json::Value>>,
5857 #[serde(rename = "output_schema", skip_serializing_if = "Option::is_none")]
5858 pub output_schema: Option<std::collections::HashMap<String, serde_json::Value>>,
5859 #[serde(rename = "oauth_resource", skip_serializing_if = "Option::is_none")]
5860 pub oauth_resource: Option<String>,
5861 #[serde(rename = "receipt_id", skip_serializing_if = "Option::is_none")]
5862 pub receipt_id: Option<String>,
5863}
5864
5865impl McpAuthorizeCallRequest {
5866 pub fn new(server_id: String, tool_name: String) -> McpAuthorizeCallRequest {
5867 McpAuthorizeCallRequest {
5868 server_id,
5869 tool_name,
5870 args_hash: None,
5871 granted_scopes: None,
5872 pinned_schema_hash: None,
5873 tool_schema: None,
5874 output_schema: None,
5875 oauth_resource: None,
5876 receipt_id: None,
5877 }
5878 }
5879}
5880
5881#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
5893pub struct McpCapabilityManifest {
5894 #[serde(rename = "server_name", skip_serializing_if = "Option::is_none")]
5895 pub server_name: Option<String>,
5896 #[serde(rename = "version", skip_serializing_if = "Option::is_none")]
5897 pub version: Option<String>,
5898 #[serde(rename = "governance", skip_serializing_if = "Option::is_none")]
5899 pub governance: Option<String>,
5900 #[serde(rename = "tools", skip_serializing_if = "Option::is_none")]
5901 pub tools: Option<Vec<McpToolRef>>,
5902}
5903
5904impl McpCapabilityManifest {
5905 pub fn new() -> McpCapabilityManifest {
5906 McpCapabilityManifest {
5907 server_name: None,
5908 version: None,
5909 governance: None,
5910 tools: None,
5911 }
5912 }
5913}
5914
5915#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
5927pub struct McpProtectedResourceMetadata {
5928 #[serde(rename = "resource", skip_serializing_if = "Option::is_none")]
5929 pub resource: Option<String>,
5930 #[serde(rename = "authorization_servers", skip_serializing_if = "Option::is_none")]
5931 pub authorization_servers: Option<Vec<String>>,
5932 #[serde(rename = "scopes_supported", skip_serializing_if = "Option::is_none")]
5933 pub scopes_supported: Option<Vec<String>>,
5934 #[serde(rename = "bearer_methods_supported", skip_serializing_if = "Option::is_none")]
5935 pub bearer_methods_supported: Option<Vec<String>>,
5936 #[serde(rename = "resource_documentation", skip_serializing_if = "Option::is_none")]
5937 pub resource_documentation: Option<String>,
5938}
5939
5940impl McpProtectedResourceMetadata {
5941 pub fn new() -> McpProtectedResourceMetadata {
5942 McpProtectedResourceMetadata {
5943 resource: None,
5944 authorization_servers: None,
5945 scopes_supported: None,
5946 bearer_methods_supported: None,
5947 resource_documentation: None,
5948 }
5949 }
5950}
5951
5952#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
5964pub struct McpQuarantineRecord {
5965 #[serde(rename = "server_id")]
5966 pub server_id: String,
5967 #[serde(rename = "name", skip_serializing_if = "Option::is_none")]
5968 pub name: Option<String>,
5969 #[serde(rename = "transport", skip_serializing_if = "Option::is_none")]
5970 pub transport: Option<String>,
5971 #[serde(rename = "endpoint", skip_serializing_if = "Option::is_none")]
5972 pub endpoint: Option<String>,
5973 #[serde(rename = "tool_names", skip_serializing_if = "Option::is_none")]
5974 pub tool_names: Option<Vec<String>>,
5975 #[serde(rename = "risk")]
5976 pub risk: McpQuarantineRecordRisk,
5977 #[serde(rename = "state")]
5978 pub state: McpQuarantineRecordState,
5979 #[serde(rename = "discovered_at")]
5980 pub discovered_at: String,
5981 #[serde(rename = "approved_at", skip_serializing_if = "Option::is_none")]
5982 pub approved_at: Option<String>,
5983 #[serde(rename = "approved_by", skip_serializing_if = "Option::is_none")]
5984 pub approved_by: Option<String>,
5985 #[serde(rename = "approval_receipt_id", skip_serializing_if = "Option::is_none")]
5986 pub approval_receipt_id: Option<String>,
5987 #[serde(rename = "revoked_at", skip_serializing_if = "Option::is_none")]
5988 pub revoked_at: Option<String>,
5989 #[serde(rename = "expires_at", skip_serializing_if = "Option::is_none")]
5990 pub expires_at: Option<String>,
5991 #[serde(rename = "reason", skip_serializing_if = "Option::is_none")]
5992 pub reason: Option<String>,
5993}
5994
5995impl McpQuarantineRecord {
5996 pub fn new(server_id: String, risk: McpQuarantineRecordRisk, state: McpQuarantineRecordState, discovered_at: String) -> McpQuarantineRecord {
5997 McpQuarantineRecord {
5998 server_id,
5999 name: None,
6000 transport: None,
6001 endpoint: None,
6002 tool_names: None,
6003 risk,
6004 state,
6005 discovered_at,
6006 approved_at: None,
6007 approved_by: None,
6008 approval_receipt_id: None,
6009 revoked_at: None,
6010 expires_at: None,
6011 reason: None,
6012 }
6013 }
6014}
6015#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
6017pub enum McpQuarantineRecordRisk {
6018 #[serde(rename = "unknown")]
6019 Unknown,
6020 #[serde(rename = "low")]
6021 Low,
6022 #[serde(rename = "medium")]
6023 Medium,
6024 #[serde(rename = "high")]
6025 High,
6026 #[serde(rename = "critical")]
6027 Critical,
6028}
6029
6030impl Default for McpQuarantineRecordRisk {
6031 fn default() -> McpQuarantineRecordRisk {
6032 Self::Unknown
6033 }
6034}
6035#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
6037pub enum McpQuarantineRecordState {
6038 #[serde(rename = "discovered")]
6039 Discovered,
6040 #[serde(rename = "quarantined")]
6041 Quarantined,
6042 #[serde(rename = "approved")]
6043 Approved,
6044 #[serde(rename = "revoked")]
6045 Revoked,
6046 #[serde(rename = "expired")]
6047 Expired,
6048}
6049
6050impl Default for McpQuarantineRecordState {
6051 fn default() -> McpQuarantineRecordState {
6052 Self::Discovered
6053 }
6054}
6055
6056#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
6068pub struct McpRegistryApprovalRequest {
6069 #[serde(rename = "server_id")]
6070 pub server_id: String,
6071 #[serde(rename = "approver_id")]
6072 pub approver_id: String,
6073 #[serde(rename = "approval_receipt_id")]
6074 pub approval_receipt_id: String,
6075 #[serde(rename = "reason", skip_serializing_if = "Option::is_none")]
6076 pub reason: Option<String>,
6077}
6078
6079impl McpRegistryApprovalRequest {
6080 pub fn new(server_id: String, approver_id: String, approval_receipt_id: String) -> McpRegistryApprovalRequest {
6081 McpRegistryApprovalRequest {
6082 server_id,
6083 approver_id,
6084 approval_receipt_id,
6085 reason: None,
6086 }
6087 }
6088}
6089
6090#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
6102pub struct McpRegistryDiscoverRequest {
6103 #[serde(rename = "server_id")]
6104 pub server_id: String,
6105 #[serde(rename = "name", skip_serializing_if = "Option::is_none")]
6106 pub name: Option<String>,
6107 #[serde(rename = "transport", skip_serializing_if = "Option::is_none")]
6108 pub transport: Option<String>,
6109 #[serde(rename = "endpoint", skip_serializing_if = "Option::is_none")]
6110 pub endpoint: Option<String>,
6111 #[serde(rename = "tool_names", skip_serializing_if = "Option::is_none")]
6112 pub tool_names: Option<Vec<String>>,
6113 #[serde(rename = "risk", skip_serializing_if = "Option::is_none")]
6114 pub risk: Option<McpRegistryDiscoverRequestRisk>,
6115 #[serde(rename = "reason", skip_serializing_if = "Option::is_none")]
6116 pub reason: Option<String>,
6117}
6118
6119impl McpRegistryDiscoverRequest {
6120 pub fn new(server_id: String) -> McpRegistryDiscoverRequest {
6121 McpRegistryDiscoverRequest {
6122 server_id,
6123 name: None,
6124 transport: None,
6125 endpoint: None,
6126 tool_names: None,
6127 risk: None,
6128 reason: None,
6129 }
6130 }
6131}
6132#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
6134pub enum McpRegistryDiscoverRequestRisk {
6135 #[serde(rename = "unknown")]
6136 Unknown,
6137 #[serde(rename = "low")]
6138 Low,
6139 #[serde(rename = "medium")]
6140 Medium,
6141 #[serde(rename = "high")]
6142 High,
6143 #[serde(rename = "critical")]
6144 Critical,
6145}
6146
6147impl Default for McpRegistryDiscoverRequestRisk {
6148 fn default() -> McpRegistryDiscoverRequestRisk {
6149 Self::Unknown
6150 }
6151}
6152
6153#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
6165pub struct McpRemoteDiscovery {
6166 #[serde(rename = "server_name", skip_serializing_if = "Option::is_none")]
6167 pub server_name: Option<String>,
6168 #[serde(rename = "version", skip_serializing_if = "Option::is_none")]
6169 pub version: Option<String>,
6170 #[serde(rename = "capabilities_url", skip_serializing_if = "Option::is_none")]
6171 pub capabilities_url: Option<String>,
6172 #[serde(rename = "execute_url", skip_serializing_if = "Option::is_none")]
6173 pub execute_url: Option<String>,
6174 #[serde(rename = "mcp_endpoint", skip_serializing_if = "Option::is_none")]
6175 pub mcp_endpoint: Option<String>,
6176 #[serde(rename = "supported_protocol_versions", skip_serializing_if = "Option::is_none")]
6177 pub supported_protocol_versions: Option<Vec<String>>,
6178 #[serde(rename = "auth_mode", skip_serializing_if = "Option::is_none")]
6179 pub auth_mode: Option<String>,
6180 #[serde(rename = "governance", skip_serializing_if = "Option::is_none")]
6181 pub governance: Option<String>,
6182}
6183
6184impl McpRemoteDiscovery {
6185 pub fn new() -> McpRemoteDiscovery {
6186 McpRemoteDiscovery {
6187 server_name: None,
6188 version: None,
6189 capabilities_url: None,
6190 execute_url: None,
6191 mcp_endpoint: None,
6192 supported_protocol_versions: None,
6193 auth_mode: None,
6194 governance: None,
6195 }
6196 }
6197}
6198
6199#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
6211pub struct McpScanRequest {
6212 #[serde(rename = "server_id")]
6213 pub server_id: String,
6214 #[serde(rename = "name", skip_serializing_if = "Option::is_none")]
6215 pub name: Option<String>,
6216 #[serde(rename = "transport", skip_serializing_if = "Option::is_none")]
6217 pub transport: Option<String>,
6218 #[serde(rename = "endpoint", skip_serializing_if = "Option::is_none")]
6219 pub endpoint: Option<String>,
6220 #[serde(rename = "tool_names", skip_serializing_if = "Option::is_none")]
6221 pub tool_names: Option<Vec<String>>,
6222 #[serde(rename = "manifest", skip_serializing_if = "Option::is_none")]
6224 pub manifest: Option<std::collections::HashMap<String, serde_json::Value>>,
6225}
6226
6227impl McpScanRequest {
6228 pub fn new(server_id: String) -> McpScanRequest {
6229 McpScanRequest {
6230 server_id,
6231 name: None,
6232 transport: None,
6233 endpoint: None,
6234 tool_names: None,
6235 manifest: None,
6236 }
6237 }
6238}
6239
6240#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
6252pub struct McpScanResult {
6253 #[serde(rename = "server_id", skip_serializing_if = "Option::is_none")]
6254 pub server_id: Option<String>,
6255 #[serde(rename = "risk", skip_serializing_if = "Option::is_none")]
6256 pub risk: Option<String>,
6257 #[serde(rename = "state", skip_serializing_if = "Option::is_none")]
6258 pub state: Option<String>,
6259 #[serde(rename = "tool_count", skip_serializing_if = "Option::is_none")]
6260 pub tool_count: Option<i32>,
6261 #[serde(rename = "findings", skip_serializing_if = "Option::is_none")]
6262 pub findings: Option<Vec<String>>,
6263 #[serde(rename = "recommended_action", skip_serializing_if = "Option::is_none")]
6264 pub recommended_action: Option<String>,
6265 #[serde(rename = "quarantine_record_id", skip_serializing_if = "Option::is_none")]
6266 pub quarantine_record_id: Option<String>,
6267 #[serde(rename = "requires_approval", skip_serializing_if = "Option::is_none")]
6268 pub requires_approval: Option<bool>,
6269 #[serde(rename = "schema_pin_required", skip_serializing_if = "Option::is_none")]
6271 pub schema_pin_required: Option<bool>,
6272 #[serde(rename = "authorization_needed", skip_serializing_if = "Option::is_none")]
6273 pub authorization_needed: Option<bool>,
6274 #[serde(rename = "scanned_at", skip_serializing_if = "Option::is_none")]
6275 pub scanned_at: Option<String>,
6276}
6277
6278impl McpScanResult {
6279 pub fn new() -> McpScanResult {
6280 McpScanResult {
6281 server_id: None,
6282 risk: None,
6283 state: None,
6284 tool_count: None,
6285 findings: None,
6286 recommended_action: None,
6287 quarantine_record_id: None,
6288 requires_approval: None,
6289 schema_pin_required: None,
6290 authorization_needed: None,
6291 scanned_at: None,
6292 }
6293 }
6294}
6295
6296#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
6308pub struct McpToolCallRequest {
6309 #[serde(rename = "method")]
6310 pub method: String,
6311 #[serde(rename = "params", skip_serializing_if = "Option::is_none")]
6312 pub params: Option<std::collections::HashMap<String, serde_json::Value>>,
6313}
6314
6315impl McpToolCallRequest {
6316 pub fn new(method: String) -> McpToolCallRequest {
6317 McpToolCallRequest {
6318 method,
6319 params: None,
6320 }
6321 }
6322}
6323
6324#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
6336pub struct McpToolCallResponse {
6337 #[serde(rename = "result", skip_serializing_if = "Option::is_none")]
6338 pub result: Option<Box<McpToolCallResponseResult>>,
6339 #[serde(rename = "error", skip_serializing_if = "Option::is_none")]
6340 pub error: Option<String>,
6341 #[serde(rename = "reason_code", skip_serializing_if = "Option::is_none")]
6342 pub reason_code: Option<String>,
6343 #[serde(rename = "args_hash", skip_serializing_if = "Option::is_none")]
6344 pub args_hash: Option<String>,
6345 #[serde(rename = "proofgraph_node", skip_serializing_if = "Option::is_none")]
6346 pub proofgraph_node: Option<String>,
6347 #[serde(rename = "receipt_id", skip_serializing_if = "Option::is_none")]
6348 pub receipt_id: Option<String>,
6349}
6350
6351impl McpToolCallResponse {
6352 pub fn new() -> McpToolCallResponse {
6353 McpToolCallResponse {
6354 result: None,
6355 error: None,
6356 reason_code: None,
6357 args_hash: None,
6358 proofgraph_node: None,
6359 receipt_id: None,
6360 }
6361 }
6362}
6363
6364#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
6378#[serde(untagged)]
6379pub enum McpToolCallResponseResult {
6380 String(String),
6381 Object(std::collections::HashMap<String, serde_json::Value>),
6382}
6383
6384impl Default for McpToolCallResponseResult {
6385 fn default() -> Self {
6386 Self::String(Default::default())
6387 }
6388}
6389
6390#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
6402pub struct McpToolRef {
6403 #[serde(rename = "name", skip_serializing_if = "Option::is_none")]
6404 pub name: Option<String>,
6405 #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
6406 pub description: Option<String>,
6407 #[serde(rename = "server_id", skip_serializing_if = "Option::is_none")]
6408 pub server_id: Option<String>,
6409 #[serde(rename = "schema", skip_serializing_if = "Option::is_none")]
6410 pub schema: Option<std::collections::HashMap<String, serde_json::Value>>,
6411}
6412
6413impl McpToolRef {
6414 pub fn new() -> McpToolRef {
6415 McpToolRef {
6416 name: None,
6417 description: None,
6418 server_id: None,
6419 schema: None,
6420 }
6421 }
6422}
6423
6424#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
6436pub struct McpjsonrpcError {
6437 #[serde(rename = "code", skip_serializing_if = "Option::is_none")]
6438 pub code: Option<i32>,
6439 #[serde(rename = "message", skip_serializing_if = "Option::is_none")]
6440 pub message: Option<String>,
6441}
6442
6443impl McpjsonrpcError {
6444 pub fn new() -> McpjsonrpcError {
6445 McpjsonrpcError {
6446 code: None,
6447 message: None,
6448 }
6449 }
6450}
6451
6452#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
6464pub struct McpjsonrpcRequest {
6465 #[serde(rename = "jsonrpc")]
6466 pub jsonrpc: McpjsonrpcRequestJsonrpc,
6467 #[serde(rename = "id", skip_serializing_if = "Option::is_none")]
6468 pub id: Option<Box<McpjsonrpcRequestId>>,
6469 #[serde(rename = "method")]
6470 pub method: String,
6471 #[serde(rename = "params", skip_serializing_if = "Option::is_none")]
6472 pub params: Option<std::collections::HashMap<String, serde_json::Value>>,
6473}
6474
6475impl McpjsonrpcRequest {
6476 pub fn new(jsonrpc: McpjsonrpcRequestJsonrpc, method: String) -> McpjsonrpcRequest {
6477 McpjsonrpcRequest {
6478 jsonrpc,
6479 id: None,
6480 method,
6481 params: None,
6482 }
6483 }
6484}
6485#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
6487pub enum McpjsonrpcRequestJsonrpc {
6488 #[serde(rename = "2.0")]
6489 Variant2Period0,
6490}
6491
6492impl Default for McpjsonrpcRequestJsonrpc {
6493 fn default() -> McpjsonrpcRequestJsonrpc {
6494 Self::Variant2Period0
6495 }
6496}
6497
6498#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
6512#[serde(untagged)]
6513pub enum McpjsonrpcRequestId {
6514 String(String),
6515 Integer(i32),
6516}
6517
6518impl Default for McpjsonrpcRequestId {
6519 fn default() -> Self {
6520 Self::String(Default::default())
6521 }
6522}
6523
6524#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
6536pub struct McpjsonrpcResponse {
6537 #[serde(rename = "jsonrpc", skip_serializing_if = "Option::is_none")]
6538 pub jsonrpc: Option<McpjsonrpcResponseJsonrpc>,
6539 #[serde(rename = "id", skip_serializing_if = "Option::is_none")]
6540 pub id: Option<Box<McpjsonrpcResponseId>>,
6541 #[serde(rename = "result", skip_serializing_if = "Option::is_none")]
6542 pub result: Option<std::collections::HashMap<String, serde_json::Value>>,
6543 #[serde(rename = "error", skip_serializing_if = "Option::is_none")]
6544 pub error: Option<Box<McpjsonrpcError>>,
6545}
6546
6547impl McpjsonrpcResponse {
6548 pub fn new() -> McpjsonrpcResponse {
6549 McpjsonrpcResponse {
6550 jsonrpc: None,
6551 id: None,
6552 result: None,
6553 error: None,
6554 }
6555 }
6556}
6557#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
6559pub enum McpjsonrpcResponseJsonrpc {
6560 #[serde(rename = "2.0")]
6561 Variant2Period0,
6562}
6563
6564impl Default for McpjsonrpcResponseJsonrpc {
6565 fn default() -> McpjsonrpcResponseJsonrpc {
6566 Self::Variant2Period0
6567 }
6568}
6569
6570#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
6582#[serde(untagged)]
6583pub enum McpjsonrpcResponseId {
6584 String(String),
6585 Integer(i32),
6586}
6587
6588impl Default for McpjsonrpcResponseId {
6589 fn default() -> Self {
6590 Self::String(Default::default())
6591 }
6592}
6593
6594#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
6606pub struct NegativeBoundaryVector {
6607 #[serde(rename = "id")]
6608 pub id: String,
6609 #[serde(rename = "category")]
6610 pub category: String,
6611 #[serde(rename = "trigger")]
6612 pub trigger: String,
6613 #[serde(rename = "expected_verdict")]
6614 pub expected_verdict: NegativeBoundaryVectorExpectedVerdict,
6615 #[serde(rename = "expected_reason_code")]
6616 pub expected_reason_code: String,
6617 #[serde(rename = "must_emit_receipt")]
6618 pub must_emit_receipt: bool,
6619 #[serde(rename = "must_not_dispatch")]
6620 pub must_not_dispatch: bool,
6621 #[serde(rename = "must_bind_evidence", skip_serializing_if = "Option::is_none")]
6622 pub must_bind_evidence: Option<Vec<String>>,
6623}
6624
6625impl NegativeBoundaryVector {
6626 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 {
6627 NegativeBoundaryVector {
6628 id,
6629 category,
6630 trigger,
6631 expected_verdict,
6632 expected_reason_code,
6633 must_emit_receipt,
6634 must_not_dispatch,
6635 must_bind_evidence: None,
6636 }
6637 }
6638}
6639#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
6641pub enum NegativeBoundaryVectorExpectedVerdict {
6642 #[serde(rename = "ALLOW")]
6643 Allow,
6644 #[serde(rename = "DENY")]
6645 Deny,
6646 #[serde(rename = "ESCALATE")]
6647 Escalate,
6648}
6649
6650impl Default for NegativeBoundaryVectorExpectedVerdict {
6651 fn default() -> NegativeBoundaryVectorExpectedVerdict {
6652 Self::Allow
6653 }
6654}
6655
6656#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
6668pub struct NetworkGrant {
6669 #[serde(rename = "mode")]
6670 pub mode: NetworkGrantMode,
6671 #[serde(rename = "destinations", skip_serializing_if = "Option::is_none")]
6672 pub destinations: Option<Vec<String>>,
6673 #[serde(rename = "cidrs", skip_serializing_if = "Option::is_none")]
6674 pub cidrs: Option<Vec<String>>,
6675}
6676
6677impl NetworkGrant {
6678 pub fn new(mode: NetworkGrantMode) -> NetworkGrant {
6679 NetworkGrant {
6680 mode,
6681 destinations: None,
6682 cidrs: None,
6683 }
6684 }
6685}
6686#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
6688pub enum NetworkGrantMode {
6689 #[serde(rename = "deny-all")]
6690 DenyAll,
6691 #[serde(rename = "allowlist")]
6692 Allowlist,
6693}
6694
6695impl Default for NetworkGrantMode {
6696 fn default() -> NetworkGrantMode {
6697 Self::DenyAll
6698 }
6699}
6700
6701#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
6713pub struct OAuthRequirement {
6714 #[serde(rename = "provider", skip_serializing_if = "Option::is_none")]
6715 pub provider: Option<String>,
6716 #[serde(rename = "scopes", skip_serializing_if = "Option::is_none")]
6717 pub scopes: Option<Vec<String>>,
6718 #[serde(rename = "source", skip_serializing_if = "Option::is_none")]
6719 pub source: Option<String>,
6720}
6721
6722impl OAuthRequirement {
6723 pub fn new() -> OAuthRequirement {
6724 OAuthRequirement {
6725 provider: None,
6726 scopes: None,
6727 source: None,
6728 }
6729 }
6730}
6731
6732#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
6744pub struct OnboardingEvidenceExport {
6745 #[serde(rename = "evidence_pack_ref")]
6746 pub evidence_pack_ref: String,
6747 #[serde(rename = "sha256")]
6748 pub sha256: String,
6749 #[serde(rename = "receipt_refs")]
6750 pub receipt_refs: std::collections::HashMap<String, String>,
6751 #[serde(rename = "steps")]
6752 pub steps: Vec<OnboardingStep>,
6753}
6754
6755impl OnboardingEvidenceExport {
6756 pub fn new(evidence_pack_ref: String, sha256: String, receipt_refs: std::collections::HashMap<String, String>, steps: Vec<OnboardingStep>) -> OnboardingEvidenceExport {
6757 OnboardingEvidenceExport {
6758 evidence_pack_ref,
6759 sha256,
6760 receipt_refs,
6761 steps,
6762 }
6763 }
6764}
6765
6766#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
6778pub struct OnboardingRunStepRequest {
6779 #[serde(rename = "step_id")]
6780 pub step_id: OnboardingRunStepRequestStepId,
6781}
6782
6783impl OnboardingRunStepRequest {
6784 pub fn new(step_id: OnboardingRunStepRequestStepId) -> OnboardingRunStepRequest {
6785 OnboardingRunStepRequest {
6786 step_id,
6787 }
6788 }
6789}
6790#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
6792pub enum OnboardingRunStepRequestStepId {
6793 #[serde(rename = "health")]
6794 Health,
6795 #[serde(rename = "policy")]
6796 Policy,
6797 #[serde(rename = "allow")]
6798 Allow,
6799 #[serde(rename = "deny")]
6800 Deny,
6801 #[serde(rename = "mcp")]
6802 Mcp,
6803 #[serde(rename = "verify")]
6804 Verify,
6805}
6806
6807impl Default for OnboardingRunStepRequestStepId {
6808 fn default() -> OnboardingRunStepRequestStepId {
6809 Self::Health
6810 }
6811}
6812
6813#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
6825pub struct OnboardingState {
6826 #[serde(rename = "mode")]
6827 pub mode: OnboardingStateMode,
6828 #[serde(rename = "entitlements")]
6829 pub entitlements: Vec<OnboardingStateEntitlements>,
6830 #[serde(rename = "profile")]
6831 pub profile: String,
6832 #[serde(rename = "policy_path", skip_serializing_if = "Option::is_none")]
6833 pub policy_path: Option<String>,
6834 #[serde(rename = "evidence_pack_ref", skip_serializing_if = "Option::is_none")]
6835 pub evidence_pack_ref: Option<String>,
6836 #[serde(rename = "steps")]
6837 pub steps: Vec<OnboardingStep>,
6838}
6839
6840impl OnboardingState {
6841 pub fn new(mode: OnboardingStateMode, entitlements: Vec<OnboardingStateEntitlements>, profile: String, steps: Vec<OnboardingStep>) -> OnboardingState {
6842 OnboardingState {
6843 mode,
6844 entitlements,
6845 profile,
6846 policy_path: None,
6847 evidence_pack_ref: None,
6848 steps,
6849 }
6850 }
6851}
6852#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
6854pub enum OnboardingStateMode {
6855 #[serde(rename = "self-hosted-oss")]
6856 SelfHostedOss,
6857}
6858
6859impl Default for OnboardingStateMode {
6860 fn default() -> OnboardingStateMode {
6861 Self::SelfHostedOss
6862 }
6863}
6864#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
6866pub enum OnboardingStateEntitlements {
6867 #[serde(rename = "OSS_CORE")]
6868 OssCore,
6869}
6870
6871impl Default for OnboardingStateEntitlements {
6872 fn default() -> OnboardingStateEntitlements {
6873 Self::OssCore
6874 }
6875}
6876
6877#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
6889pub struct OnboardingStep {
6890 #[serde(rename = "id")]
6891 pub id: OnboardingStepId,
6892 #[serde(rename = "title")]
6893 pub title: String,
6894 #[serde(rename = "description")]
6895 pub description: String,
6896 #[serde(rename = "status")]
6897 pub status: OnboardingStepStatus,
6898 #[serde(rename = "verdict")]
6899 pub verdict: OnboardingStepVerdict,
6900 #[serde(rename = "reason_code")]
6901 pub reason_code: String,
6902 #[serde(rename = "receipt_ref", skip_serializing_if = "Option::is_none")]
6903 pub receipt_ref: Option<String>,
6904}
6905
6906impl OnboardingStep {
6907 pub fn new(id: OnboardingStepId, title: String, description: String, status: OnboardingStepStatus, verdict: OnboardingStepVerdict, reason_code: String) -> OnboardingStep {
6908 OnboardingStep {
6909 id,
6910 title,
6911 description,
6912 status,
6913 verdict,
6914 reason_code,
6915 receipt_ref: None,
6916 }
6917 }
6918}
6919#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
6921pub enum OnboardingStepId {
6922 #[serde(rename = "health")]
6923 Health,
6924 #[serde(rename = "policy")]
6925 Policy,
6926 #[serde(rename = "allow")]
6927 Allow,
6928 #[serde(rename = "deny")]
6929 Deny,
6930 #[serde(rename = "mcp")]
6931 Mcp,
6932 #[serde(rename = "verify")]
6933 Verify,
6934}
6935
6936impl Default for OnboardingStepId {
6937 fn default() -> OnboardingStepId {
6938 Self::Health
6939 }
6940}
6941#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
6943pub enum OnboardingStepStatus {
6944 #[serde(rename = "pending")]
6945 Pending,
6946 #[serde(rename = "pass")]
6947 Pass,
6948}
6949
6950impl Default for OnboardingStepStatus {
6951 fn default() -> OnboardingStepStatus {
6952 Self::Pending
6953 }
6954}
6955#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
6957pub enum OnboardingStepVerdict {
6958 #[serde(rename = "ALLOW")]
6959 Allow,
6960 #[serde(rename = "DENY")]
6961 Deny,
6962 #[serde(rename = "ESCALATE")]
6963 Escalate,
6964}
6965
6966impl Default for OnboardingStepVerdict {
6967 fn default() -> OnboardingStepVerdict {
6968 Self::Allow
6969 }
6970}
6971
6972#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
6985pub struct PdpRequest {
6986 #[serde(rename = "boundary")]
6987 pub boundary: Box<EffectBoundary>,
6988}
6989
6990impl PdpRequest {
6991 pub fn new(boundary: EffectBoundary) -> PdpRequest {
6993 PdpRequest {
6994 boundary: Box::new(boundary),
6995 }
6996 }
6997}
6998
6999#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
7012pub struct PdpResponse {
7013 #[serde(rename = "decision")]
7014 pub decision: Box<GovernanceDecision>,
7015}
7016
7017impl PdpResponse {
7018 pub fn new(decision: GovernanceDecision) -> PdpResponse {
7020 PdpResponse {
7021 decision: Box::new(decision),
7022 }
7023 }
7024}
7025
7026#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
7038pub struct PlanTransaction {
7039 #[serde(rename = "plan_transaction_id")]
7040 pub plan_transaction_id: String,
7041 #[serde(rename = "receipt_refs", skip_serializing_if = "Option::is_none")]
7042 pub receipt_refs: Option<Vec<String>>,
7043 #[serde(rename = "plan_hash")]
7044 pub plan_hash: String,
7045 #[serde(rename = "read_set")]
7046 pub read_set: Vec<String>,
7047 #[serde(rename = "write_set")]
7048 pub write_set: Vec<String>,
7049 #[serde(rename = "assumption_set")]
7050 pub assumption_set: Vec<String>,
7051 #[serde(rename = "version_dependencies", skip_serializing_if = "Option::is_none")]
7052 pub version_dependencies: Option<Vec<String>>,
7053 #[serde(rename = "verification_obligations")]
7054 pub verification_obligations: Vec<String>,
7055 #[serde(rename = "conflict_policy")]
7056 pub conflict_policy: PlanTransactionConflictPolicy,
7057 #[serde(rename = "rollback_policy", skip_serializing_if = "Option::is_none")]
7058 pub rollback_policy: Option<std::collections::HashMap<String, serde_json::Value>>,
7059 #[serde(rename = "rollback_or_compensation_policy", skip_serializing_if = "Option::is_none")]
7060 pub rollback_or_compensation_policy: Option<String>,
7061 #[serde(rename = "approval_state", skip_serializing_if = "Option::is_none")]
7062 pub approval_state: Option<PlanTransactionApprovalState>,
7063 #[serde(rename = "human_review_state", skip_serializing_if = "Option::is_none")]
7064 pub human_review_state: Option<String>,
7065 #[serde(rename = "transaction_hash", skip_serializing_if = "Option::is_none")]
7066 pub transaction_hash: Option<String>,
7067}
7068
7069impl PlanTransaction {
7070 pub fn new(plan_transaction_id: String, plan_hash: String, read_set: Vec<String>, write_set: Vec<String>, assumption_set: Vec<String>, verification_obligations: Vec<String>, conflict_policy: PlanTransactionConflictPolicy) -> PlanTransaction {
7071 PlanTransaction {
7072 plan_transaction_id,
7073 receipt_refs: None,
7074 plan_hash,
7075 read_set,
7076 write_set,
7077 assumption_set,
7078 version_dependencies: None,
7079 verification_obligations,
7080 conflict_policy,
7081 rollback_policy: None,
7082 rollback_or_compensation_policy: None,
7083 approval_state: None,
7084 human_review_state: None,
7085 transaction_hash: None,
7086 }
7087 }
7088}
7089#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
7091pub enum PlanTransactionConflictPolicy {
7092 #[serde(rename = "deny")]
7093 Deny,
7094 #[serde(rename = "escalate")]
7095 Escalate,
7096 #[serde(rename = "last_writer_forbidden")]
7097 LastWriterForbidden,
7098}
7099
7100impl Default for PlanTransactionConflictPolicy {
7101 fn default() -> PlanTransactionConflictPolicy {
7102 Self::Deny
7103 }
7104}
7105#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
7107pub enum PlanTransactionApprovalState {
7108 #[serde(rename = "none")]
7109 None,
7110 #[serde(rename = "required")]
7111 Required,
7112 #[serde(rename = "approved")]
7113 Approved,
7114 #[serde(rename = "denied")]
7115 Denied,
7116 #[serde(rename = "expired")]
7117 Expired,
7118}
7119
7120impl Default for PlanTransactionApprovalState {
7121 fn default() -> PlanTransactionApprovalState {
7122 Self::None
7123 }
7124}
7125
7126#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
7139pub struct PolicyBundle {
7140 #[serde(rename = "name")]
7141 pub name: String,
7142 #[serde(rename = "version")]
7143 pub version: String,
7144 #[serde(rename = "content_hash")]
7146 pub content_hash: String,
7147 #[serde(rename = "signature", default, skip_serializing_if = "Option::is_none")]
7149 pub signature: Option<Option<String>>,
7150 #[serde(rename = "pack_type", skip_serializing_if = "Option::is_none")]
7151 pub pack_type: Option<PolicyBundlePackType>,
7152}
7153
7154impl PolicyBundle {
7155 pub fn new(name: String, version: String, content_hash: String) -> PolicyBundle {
7157 PolicyBundle {
7158 name,
7159 version,
7160 content_hash,
7161 signature: None,
7162 pack_type: None,
7163 }
7164 }
7165}
7166#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
7168pub enum PolicyBundlePackType {
7169 #[serde(rename = "jurisdiction")]
7170 Jurisdiction,
7171 #[serde(rename = "industry")]
7172 Industry,
7173 #[serde(rename = "business")]
7174 Business,
7175 #[serde(rename = "custom")]
7176 Custom,
7177}
7178
7179impl Default for PolicyBundlePackType {
7180 fn default() -> PolicyBundlePackType {
7181 Self::Jurisdiction
7182 }
7183}
7184
7185#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
7197pub struct PreflightCheck {
7198 #[serde(rename = "id")]
7199 pub id: String,
7200 #[serde(rename = "status")]
7201 pub status: String,
7202 #[serde(rename = "summary")]
7203 pub summary: String,
7204 #[serde(rename = "evidence_ref", skip_serializing_if = "Option::is_none")]
7205 pub evidence_ref: Option<String>,
7206 #[serde(rename = "fix_actions", skip_serializing_if = "Option::is_none")]
7207 pub fix_actions: Option<Vec<String>>,
7208}
7209
7210impl PreflightCheck {
7211 pub fn new(id: String, status: String, summary: String) -> PreflightCheck {
7212 PreflightCheck {
7213 id,
7214 status,
7215 summary,
7216 evidence_ref: None,
7217 fix_actions: None,
7218 }
7219 }
7220}
7221
7222#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
7234pub struct PreflightLaunchpadImport202Response {
7235 #[serde(rename = "import")]
7236 pub import: Box<LaunchpadImportRecord>,
7237 #[serde(rename = "preflight")]
7238 pub preflight: Box<ImportPreflightResult>,
7239 #[serde(rename = "cli_equivalent", skip_serializing_if = "Option::is_none")]
7240 pub cli_equivalent: Option<String>,
7241}
7242
7243impl PreflightLaunchpadImport202Response {
7244 pub fn new(import: LaunchpadImportRecord, preflight: ImportPreflightResult) -> PreflightLaunchpadImport202Response {
7245 PreflightLaunchpadImport202Response {
7246 import: Box::new(import),
7247 preflight: Box::new(preflight),
7248 cli_equivalent: None,
7249 }
7250 }
7251}
7252
7253#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
7265pub struct Receipt {
7266 #[serde(rename = "receipt_id", skip_serializing_if = "Option::is_none")]
7267 pub receipt_id: Option<String>,
7268 #[serde(rename = "decision_id", skip_serializing_if = "Option::is_none")]
7269 pub decision_id: Option<String>,
7270 #[serde(rename = "correlation_id", skip_serializing_if = "Option::is_none")]
7271 pub correlation_id: Option<String>,
7272 #[serde(rename = "effect_id", skip_serializing_if = "Option::is_none")]
7273 pub effect_id: Option<String>,
7274 #[serde(rename = "external_reference_id", skip_serializing_if = "Option::is_none")]
7275 pub external_reference_id: Option<String>,
7276 #[serde(rename = "status", skip_serializing_if = "Option::is_none")]
7277 pub status: Option<String>,
7278 #[serde(rename = "signature_version", skip_serializing_if = "Option::is_none")]
7279 pub signature_version: Option<String>,
7280 #[serde(rename = "verdict", skip_serializing_if = "Option::is_none")]
7281 pub verdict: Option<String>,
7282 #[serde(rename = "reason_code", skip_serializing_if = "Option::is_none")]
7283 pub reason_code: Option<String>,
7284 #[serde(rename = "decision_hash", skip_serializing_if = "Option::is_none")]
7286 pub decision_hash: Option<String>,
7287 #[serde(rename = "output_hash", skip_serializing_if = "Option::is_none")]
7288 pub output_hash: Option<String>,
7289 #[serde(rename = "blob_hash", skip_serializing_if = "Option::is_none")]
7290 pub blob_hash: Option<String>,
7291 #[serde(rename = "prev_hash", skip_serializing_if = "Option::is_none")]
7292 pub prev_hash: Option<String>,
7293 #[serde(rename = "lamport_clock", skip_serializing_if = "Option::is_none")]
7294 pub lamport_clock: Option<i32>,
7295 #[serde(rename = "signature", skip_serializing_if = "Option::is_none")]
7296 pub signature: Option<String>,
7297 #[serde(rename = "signature_profile", skip_serializing_if = "Option::is_none")]
7299 pub signature_profile: Option<ReceiptSignatureProfile>,
7300 #[serde(rename = "signature_algorithm", skip_serializing_if = "Option::is_none")]
7302 pub signature_algorithm: Option<String>,
7303 #[serde(rename = "key_id", skip_serializing_if = "Option::is_none")]
7305 pub key_id: Option<String>,
7306 #[serde(rename = "public_key_set", skip_serializing_if = "Option::is_none")]
7308 pub public_key_set: Option<std::collections::HashMap<String, String>>,
7309 #[serde(rename = "timestamp", skip_serializing_if = "Option::is_none")]
7311 pub timestamp: Option<String>,
7312 #[serde(rename = "principal", skip_serializing_if = "Option::is_none")]
7313 pub principal: Option<String>,
7314 #[serde(rename = "executor_id", skip_serializing_if = "Option::is_none")]
7315 pub executor_id: Option<String>,
7316 #[serde(rename = "args_hash", skip_serializing_if = "Option::is_none")]
7317 pub args_hash: Option<String>,
7318 #[serde(rename = "policy_hash", skip_serializing_if = "Option::is_none")]
7319 pub policy_hash: Option<String>,
7320 #[serde(rename = "session_id", skip_serializing_if = "Option::is_none")]
7321 pub session_id: Option<String>,
7322 #[serde(rename = "metadata", skip_serializing_if = "Option::is_none")]
7323 pub metadata: Option<std::collections::HashMap<String, serde_json::Value>>,
7324}
7325
7326impl Receipt {
7327 pub fn new() -> Receipt {
7328 Receipt {
7329 receipt_id: None,
7330 decision_id: None,
7331 correlation_id: None,
7332 effect_id: None,
7333 external_reference_id: None,
7334 status: None,
7335 signature_version: None,
7336 verdict: None,
7337 reason_code: None,
7338 decision_hash: None,
7339 output_hash: None,
7340 blob_hash: None,
7341 prev_hash: None,
7342 lamport_clock: None,
7343 signature: None,
7344 signature_profile: None,
7345 signature_algorithm: None,
7346 key_id: None,
7347 public_key_set: None,
7348 timestamp: None,
7349 principal: None,
7350 executor_id: None,
7351 args_hash: None,
7352 policy_hash: None,
7353 session_id: None,
7354 metadata: None,
7355 }
7356 }
7357}
7358#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
7360pub enum ReceiptSignatureProfile {
7361 #[serde(rename = "classical")]
7362 Classical,
7363 #[serde(rename = "hybrid")]
7364 Hybrid,
7365 #[serde(rename = "pqc")]
7366 Pqc,
7367}
7368
7369impl Default for ReceiptSignatureProfile {
7370 fn default() -> ReceiptSignatureProfile {
7371 Self::Classical
7372 }
7373}
7374
7375#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
7387pub struct ReceiptListResponse {
7388 #[serde(rename = "receipts", skip_serializing_if = "Option::is_none")]
7389 pub receipts: Option<Vec<Receipt>>,
7390 #[serde(rename = "count", skip_serializing_if = "Option::is_none")]
7391 pub count: Option<i32>,
7392 #[serde(rename = "next_cursor", skip_serializing_if = "Option::is_none")]
7393 pub next_cursor: Option<String>,
7394 #[serde(rename = "has_more", skip_serializing_if = "Option::is_none")]
7395 pub has_more: Option<bool>,
7396}
7397
7398impl ReceiptListResponse {
7399 pub fn new() -> ReceiptListResponse {
7400 ReceiptListResponse {
7401 receipts: None,
7402 count: None,
7403 next_cursor: None,
7404 has_more: None,
7405 }
7406 }
7407}
7408
7409#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
7421pub struct RevokeMcpRegistryRecordRequest {
7422 #[serde(rename = "reason", skip_serializing_if = "Option::is_none")]
7423 pub reason: Option<String>,
7424}
7425
7426impl RevokeMcpRegistryRecordRequest {
7427 pub fn new() -> RevokeMcpRegistryRecordRequest {
7428 RevokeMcpRegistryRecordRequest {
7429 reason: None,
7430 }
7431 }
7432}
7433
7434#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
7446pub struct RevokeTrustKeyRequest {
7447 #[serde(rename = "tenant_id")]
7448 pub tenant_id: String,
7449 #[serde(rename = "key_id")]
7450 pub key_id: String,
7451}
7452
7453impl RevokeTrustKeyRequest {
7454 pub fn new(tenant_id: String, key_id: String) -> RevokeTrustKeyRequest {
7455 RevokeTrustKeyRequest {
7456 tenant_id,
7457 key_id,
7458 }
7459 }
7460}
7461
7462#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
7474pub struct RunAgentUiRuntimeRequest {
7475 #[serde(rename = "threadId", skip_serializing_if = "Option::is_none")]
7476 pub thread_id: Option<String>,
7477 #[serde(rename = "runId", skip_serializing_if = "Option::is_none")]
7478 pub run_id: Option<String>,
7479 #[serde(rename = "workspaceId", skip_serializing_if = "Option::is_none")]
7480 pub workspace_id: Option<String>,
7481 #[serde(rename = "currentSurface", skip_serializing_if = "Option::is_none")]
7482 pub current_surface: Option<String>,
7483 #[serde(rename = "state", skip_serializing_if = "Option::is_none")]
7484 pub state: Option<std::collections::HashMap<String, serde_json::Value>>,
7485 #[serde(rename = "messages", default, skip_serializing_if = "Option::is_none")]
7486 pub messages: Option<Option<serde_json::Value>>,
7487}
7488
7489impl RunAgentUiRuntimeRequest {
7490 pub fn new() -> RunAgentUiRuntimeRequest {
7491 RunAgentUiRuntimeRequest {
7492 thread_id: None,
7493 run_id: None,
7494 workspace_id: None,
7495 current_surface: None,
7496 state: None,
7497 messages: None,
7498 }
7499 }
7500}
7501
7502#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
7514pub struct RunPublicDemo200Response {
7515 #[serde(rename = "verdict")]
7516 pub verdict: RunPublicDemo200ResponseVerdict,
7517 #[serde(rename = "reason_code")]
7518 pub reason_code: String,
7519 #[serde(rename = "receipt")]
7520 pub receipt: Box<Receipt>,
7521 #[serde(rename = "proof_refs")]
7522 pub proof_refs: Box<RunPublicDemo200ResponseProofRefs>,
7523 #[serde(rename = "verification_hint")]
7524 pub verification_hint: String,
7525 #[serde(rename = "sandbox_label")]
7526 pub sandbox_label: String,
7527 #[serde(rename = "helm_ai_kernel_version")]
7528 pub helm_ai_kernel_version: String,
7529}
7530
7531impl RunPublicDemo200Response {
7532 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 {
7533 RunPublicDemo200Response {
7534 verdict,
7535 reason_code,
7536 receipt: Box::new(receipt),
7537 proof_refs: Box::new(proof_refs),
7538 verification_hint,
7539 sandbox_label,
7540 helm_ai_kernel_version,
7541 }
7542 }
7543}
7544#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
7546pub enum RunPublicDemo200ResponseVerdict {
7547 #[serde(rename = "ALLOW")]
7548 Allow,
7549 #[serde(rename = "DENY")]
7550 Deny,
7551 #[serde(rename = "ESCALATE")]
7552 Escalate,
7553}
7554
7555impl Default for RunPublicDemo200ResponseVerdict {
7556 fn default() -> RunPublicDemo200ResponseVerdict {
7557 Self::Allow
7558 }
7559}
7560
7561#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
7573pub struct RunPublicDemo200ResponseProofRefs {
7574 #[serde(rename = "decision_id")]
7575 pub decision_id: String,
7576 #[serde(rename = "receipt_id")]
7577 pub receipt_id: String,
7578 #[serde(rename = "receipt_hash")]
7579 pub receipt_hash: String,
7580}
7581
7582impl RunPublicDemo200ResponseProofRefs {
7583 pub fn new(decision_id: String, receipt_id: String, receipt_hash: String) -> RunPublicDemo200ResponseProofRefs {
7584 RunPublicDemo200ResponseProofRefs {
7585 decision_id,
7586 receipt_id,
7587 receipt_hash,
7588 }
7589 }
7590}
7591
7592#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
7604pub struct RunPublicDemoRequest {
7605 #[serde(rename = "action_id")]
7606 pub action_id: RunPublicDemoRequestActionId,
7607 #[serde(rename = "policy_id", skip_serializing_if = "Option::is_none")]
7608 pub policy_id: Option<String>,
7609 #[serde(rename = "args", skip_serializing_if = "Option::is_none")]
7610 pub args: Option<std::collections::HashMap<String, serde_json::Value>>,
7611}
7612
7613impl RunPublicDemoRequest {
7614 pub fn new(action_id: RunPublicDemoRequestActionId) -> RunPublicDemoRequest {
7615 RunPublicDemoRequest {
7616 action_id,
7617 policy_id: None,
7618 args: None,
7619 }
7620 }
7621}
7622#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
7624pub enum RunPublicDemoRequestActionId {
7625 #[serde(rename = "read_ticket")]
7626 ReadTicket,
7627 #[serde(rename = "draft_reply")]
7628 DraftReply,
7629 #[serde(rename = "small_refund")]
7630 SmallRefund,
7631 #[serde(rename = "large_refund")]
7632 LargeRefund,
7633 #[serde(rename = "dangerous_shell")]
7634 DangerousShell,
7635 #[serde(rename = "export_customer_list")]
7636 ExportCustomerList,
7637 #[serde(rename = "modify_policy")]
7638 ModifyPolicy,
7639}
7640
7641impl Default for RunPublicDemoRequestActionId {
7642 fn default() -> RunPublicDemoRequestActionId {
7643 Self::ReadTicket
7644 }
7645}
7646
7647#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
7659pub struct SandboxBackendProfile {
7660 #[serde(rename = "name")]
7661 pub name: String,
7662 #[serde(rename = "kind")]
7663 pub kind: SandboxBackendProfileKind,
7664 #[serde(rename = "runtime")]
7665 pub runtime: String,
7666 #[serde(rename = "hosted")]
7667 pub hosted: bool,
7668 #[serde(rename = "deny_network_by_default")]
7669 pub deny_network_by_default: bool,
7670 #[serde(rename = "native_isolation")]
7671 pub native_isolation: bool,
7672 #[serde(rename = "experimental", skip_serializing_if = "Option::is_none")]
7673 pub experimental: Option<bool>,
7674}
7675
7676impl SandboxBackendProfile {
7677 pub fn new(name: String, kind: SandboxBackendProfileKind, runtime: String, hosted: bool, deny_network_by_default: bool, native_isolation: bool) -> SandboxBackendProfile {
7678 SandboxBackendProfile {
7679 name,
7680 kind,
7681 runtime,
7682 hosted,
7683 deny_network_by_default,
7684 native_isolation,
7685 experimental: None,
7686 }
7687 }
7688}
7689#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
7691pub enum SandboxBackendProfileKind {
7692 #[serde(rename = "wasi-wazero")]
7693 WasiWazero,
7694 #[serde(rename = "wasi-wasmtime")]
7695 WasiWasmtime,
7696 #[serde(rename = "native-nsjail")]
7697 NativeNsjail,
7698 #[serde(rename = "native-gvisor")]
7699 NativeGvisor,
7700 #[serde(rename = "native-firecracker")]
7701 NativeFirecracker,
7702 #[serde(rename = "hosted-adapter")]
7703 HostedAdapter,
7704}
7705
7706impl Default for SandboxBackendProfileKind {
7707 fn default() -> SandboxBackendProfileKind {
7708 Self::WasiWazero
7709 }
7710}
7711
7712#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
7724pub struct SandboxGrant {
7725 #[serde(rename = "grant_id")]
7726 pub grant_id: String,
7727 #[serde(rename = "runtime")]
7728 pub runtime: String,
7729 #[serde(rename = "runtime_version", skip_serializing_if = "Option::is_none")]
7730 pub runtime_version: Option<String>,
7731 #[serde(rename = "profile")]
7732 pub profile: String,
7733 #[serde(rename = "image_digest", skip_serializing_if = "Option::is_none")]
7734 pub image_digest: Option<String>,
7735 #[serde(rename = "template_digest", skip_serializing_if = "Option::is_none")]
7736 pub template_digest: Option<String>,
7737 #[serde(rename = "filesystem_preopens", skip_serializing_if = "Option::is_none")]
7738 pub filesystem_preopens: Option<Vec<FilesystemPreopen>>,
7739 #[serde(rename = "env")]
7740 pub env: Box<EnvExposurePolicy>,
7741 #[serde(rename = "network")]
7742 pub network: Box<NetworkGrant>,
7743 #[serde(rename = "limits", skip_serializing_if = "Option::is_none")]
7744 pub limits: Option<Box<SandboxGrantLimits>>,
7745 #[serde(rename = "declared_at")]
7746 pub declared_at: String,
7747 #[serde(rename = "policy_epoch", skip_serializing_if = "Option::is_none")]
7748 pub policy_epoch: Option<String>,
7749 #[serde(rename = "grant_hash", skip_serializing_if = "Option::is_none")]
7750 pub grant_hash: Option<String>,
7751}
7752
7753impl SandboxGrant {
7754 pub fn new(grant_id: String, runtime: String, profile: String, env: EnvExposurePolicy, network: NetworkGrant, declared_at: String) -> SandboxGrant {
7755 SandboxGrant {
7756 grant_id,
7757 runtime,
7758 runtime_version: None,
7759 profile,
7760 image_digest: None,
7761 template_digest: None,
7762 filesystem_preopens: None,
7763 env: Box::new(env),
7764 network: Box::new(network),
7765 limits: None,
7766 declared_at,
7767 policy_epoch: None,
7768 grant_hash: None,
7769 }
7770 }
7771}
7772
7773#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
7785#[serde(untagged)]
7786pub enum SandboxGrantInspection {
7787 SandboxBackendProfileList(Vec<SandboxBackendProfile>),
7788 SandboxGrant(Box<SandboxGrant>),
7789}
7790
7791impl Default for SandboxGrantInspection {
7792 fn default() -> Self {
7793 Self::SandboxBackendProfileList(Default::default())
7794 }
7795}
7796
7797#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
7809pub struct SandboxGrantLimits {
7810 #[serde(rename = "memory_bytes", skip_serializing_if = "Option::is_none")]
7811 pub memory_bytes: Option<i64>,
7812 #[serde(rename = "cpu_time", skip_serializing_if = "Option::is_none")]
7814 pub cpu_time: Option<i64>,
7815 #[serde(rename = "output_bytes", skip_serializing_if = "Option::is_none")]
7816 pub output_bytes: Option<i64>,
7817 #[serde(rename = "open_files", skip_serializing_if = "Option::is_none")]
7818 pub open_files: Option<i32>,
7819}
7820
7821impl SandboxGrantLimits {
7822 pub fn new() -> SandboxGrantLimits {
7823 SandboxGrantLimits {
7824 memory_bytes: None,
7825 cpu_time: None,
7826 output_bytes: None,
7827 open_files: None,
7828 }
7829 }
7830}
7831
7832#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
7844pub struct SandboxPreflightRequest {
7845 #[serde(rename = "runtime", skip_serializing_if = "Option::is_none")]
7846 pub runtime: Option<String>,
7847 #[serde(rename = "profile", skip_serializing_if = "Option::is_none")]
7848 pub profile: Option<String>,
7849 #[serde(rename = "image_digest", skip_serializing_if = "Option::is_none")]
7850 pub image_digest: Option<String>,
7851 #[serde(rename = "policy_epoch", skip_serializing_if = "Option::is_none")]
7852 pub policy_epoch: Option<String>,
7853 #[serde(rename = "requested_grant", skip_serializing_if = "Option::is_none")]
7854 pub requested_grant: Option<Box<SandboxGrant>>,
7855 #[serde(rename = "expected_grant_hash", skip_serializing_if = "Option::is_none")]
7856 pub expected_grant_hash: Option<String>,
7857}
7858
7859impl SandboxPreflightRequest {
7860 pub fn new() -> SandboxPreflightRequest {
7861 SandboxPreflightRequest {
7862 runtime: None,
7863 profile: None,
7864 image_digest: None,
7865 policy_epoch: None,
7866 requested_grant: None,
7867 expected_grant_hash: None,
7868 }
7869 }
7870}
7871
7872#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
7884pub struct SandboxPreflightResult {
7885 #[serde(rename = "verdict", skip_serializing_if = "Option::is_none")]
7886 pub verdict: Option<SandboxPreflightResultVerdict>,
7887 #[serde(rename = "reason_code", skip_serializing_if = "Option::is_none")]
7888 pub reason_code: Option<String>,
7889 #[serde(rename = "grant_id", skip_serializing_if = "Option::is_none")]
7890 pub grant_id: Option<String>,
7891 #[serde(rename = "grant_hash", skip_serializing_if = "Option::is_none")]
7892 pub grant_hash: Option<String>,
7893 #[serde(rename = "dispatch_ready", skip_serializing_if = "Option::is_none")]
7894 pub dispatch_ready: Option<bool>,
7895 #[serde(rename = "findings", skip_serializing_if = "Option::is_none")]
7896 pub findings: Option<Vec<String>>,
7897 #[serde(rename = "checked_at", skip_serializing_if = "Option::is_none")]
7898 pub checked_at: Option<String>,
7899}
7900
7901impl SandboxPreflightResult {
7902 pub fn new() -> SandboxPreflightResult {
7903 SandboxPreflightResult {
7904 verdict: None,
7905 reason_code: None,
7906 grant_id: None,
7907 grant_hash: None,
7908 dispatch_ready: None,
7909 findings: None,
7910 checked_at: None,
7911 }
7912 }
7913}
7914#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
7916pub enum SandboxPreflightResultVerdict {
7917 #[serde(rename = "ALLOW")]
7918 Allow,
7919 #[serde(rename = "DENY")]
7920 Deny,
7921 #[serde(rename = "ESCALATE")]
7922 Escalate,
7923}
7924
7925impl Default for SandboxPreflightResultVerdict {
7926 fn default() -> SandboxPreflightResultVerdict {
7927 Self::Allow
7928 }
7929}
7930
7931#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
7943pub struct SecretContract {
7944 #[serde(rename = "name", skip_serializing_if = "Option::is_none")]
7945 pub name: Option<String>,
7946 #[serde(rename = "source", skip_serializing_if = "Option::is_none")]
7947 pub source: Option<String>,
7948 #[serde(rename = "required", skip_serializing_if = "Option::is_none")]
7949 pub required: Option<bool>,
7950 #[serde(rename = "reason", skip_serializing_if = "Option::is_none")]
7951 pub reason: Option<String>,
7952 #[serde(rename = "targets", skip_serializing_if = "Option::is_none")]
7953 pub targets: Option<Vec<String>>,
7954}
7955
7956impl SecretContract {
7957 pub fn new() -> SecretContract {
7958 SecretContract {
7959 name: None,
7960 source: None,
7961 required: None,
7962 reason: None,
7963 targets: None,
7964 }
7965 }
7966}
7967
7968#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
7980pub struct Session {
7981 #[serde(rename = "session_id", skip_serializing_if = "Option::is_none")]
7982 pub session_id: Option<String>,
7983 #[serde(rename = "created_at", skip_serializing_if = "Option::is_none")]
7984 pub created_at: Option<String>,
7985 #[serde(rename = "receipt_count", skip_serializing_if = "Option::is_none")]
7986 pub receipt_count: Option<i32>,
7987 #[serde(rename = "last_lamport_clock", skip_serializing_if = "Option::is_none")]
7988 pub last_lamport_clock: Option<i32>,
7989}
7990
7991impl Session {
7992 pub fn new() -> Session {
7993 Session {
7994 session_id: None,
7995 created_at: None,
7996 receipt_count: None,
7997 last_lamport_clock: None,
7998 }
7999 }
8000}
8001
8002#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
8014pub struct SourceFileSummary {
8015 #[serde(rename = "path")]
8016 pub path: String,
8017 #[serde(rename = "kind")]
8018 pub kind: String,
8019 #[serde(rename = "size", skip_serializing_if = "Option::is_none")]
8020 pub size: Option<i32>,
8021 #[serde(rename = "sha", skip_serializing_if = "Option::is_none")]
8022 pub sha: Option<String>,
8023 #[serde(rename = "language", skip_serializing_if = "Option::is_none")]
8024 pub language: Option<String>,
8025 #[serde(rename = "content", skip_serializing_if = "Option::is_none")]
8026 pub content: Option<String>,
8027}
8028
8029impl SourceFileSummary {
8030 pub fn new(path: String, kind: String) -> SourceFileSummary {
8031 SourceFileSummary {
8032 path,
8033 kind,
8034 size: None,
8035 sha: None,
8036 language: None,
8037 content: None,
8038 }
8039 }
8040}
8041
8042#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
8054pub struct SourceSnapshot {
8055 #[serde(rename = "repo_url")]
8056 pub repo_url: String,
8057 #[serde(rename = "provider")]
8058 pub provider: String,
8059 #[serde(rename = "owner", skip_serializing_if = "Option::is_none")]
8060 pub owner: Option<String>,
8061 #[serde(rename = "repo", skip_serializing_if = "Option::is_none")]
8062 pub repo: Option<String>,
8063 #[serde(rename = "ref", skip_serializing_if = "Option::is_none")]
8064 pub r#ref: Option<String>,
8065 #[serde(rename = "commit", skip_serializing_if = "Option::is_none")]
8066 pub commit: Option<String>,
8067 #[serde(rename = "license_spdx", skip_serializing_if = "Option::is_none")]
8068 pub license_spdx: Option<String>,
8069 #[serde(rename = "license_state")]
8070 pub license_state: String,
8071 #[serde(rename = "fetched_at", skip_serializing_if = "Option::is_none")]
8072 pub fetched_at: Option<String>,
8073 #[serde(rename = "files")]
8074 pub files: Vec<SourceFileSummary>,
8075 #[serde(rename = "api_source", skip_serializing_if = "Option::is_none")]
8076 pub api_source: Option<String>,
8077}
8078
8079impl SourceSnapshot {
8080 pub fn new(repo_url: String, provider: String, license_state: String, files: Vec<SourceFileSummary>) -> SourceSnapshot {
8081 SourceSnapshot {
8082 repo_url,
8083 provider,
8084 owner: None,
8085 repo: None,
8086 r#ref: None,
8087 commit: None,
8088 license_spdx: None,
8089 license_state,
8090 fetched_at: None,
8091 files,
8092 api_source: None,
8093 }
8094 }
8095}
8096
8097#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
8109pub struct TamperPublicDemoReceipt200Response {
8110 #[serde(rename = "valid")]
8111 pub valid: bool,
8112 #[serde(rename = "signature_valid")]
8113 pub signature_valid: bool,
8114 #[serde(rename = "hash_matches")]
8115 pub hash_matches: bool,
8116 #[serde(rename = "reason")]
8117 pub reason: String,
8118 #[serde(rename = "receipt_hash")]
8119 pub receipt_hash: String,
8120 #[serde(rename = "expected_receipt_hash")]
8121 pub expected_receipt_hash: String,
8122 #[serde(rename = "original_hash")]
8123 pub original_hash: String,
8124 #[serde(rename = "tampered_hash")]
8125 pub tampered_hash: String,
8126}
8127
8128impl TamperPublicDemoReceipt200Response {
8129 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 {
8130 TamperPublicDemoReceipt200Response {
8131 valid,
8132 signature_valid,
8133 hash_matches,
8134 reason,
8135 receipt_hash,
8136 expected_receipt_hash,
8137 original_hash,
8138 tampered_hash,
8139 }
8140 }
8141}
8142
8143#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
8155pub struct TamperPublicDemoReceiptRequest {
8156 #[serde(rename = "receipt")]
8157 pub receipt: Box<Receipt>,
8158 #[serde(rename = "expected_receipt_hash")]
8160 pub expected_receipt_hash: String,
8161 #[serde(rename = "mutation", skip_serializing_if = "Option::is_none")]
8162 pub mutation: Option<String>,
8163}
8164
8165impl TamperPublicDemoReceiptRequest {
8166 pub fn new(receipt: Receipt, expected_receipt_hash: String) -> TamperPublicDemoReceiptRequest {
8167 TamperPublicDemoReceiptRequest {
8168 receipt: Box::new(receipt),
8169 expected_receipt_hash,
8170 mutation: None,
8171 }
8172 }
8173}
8174
8175#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
8187pub struct TargetPlan {
8188 #[serde(rename = "target_id")]
8189 pub target_id: String,
8190 #[serde(rename = "kind")]
8191 pub kind: String,
8192 #[serde(rename = "substrate_id", skip_serializing_if = "Option::is_none")]
8193 pub substrate_id: Option<String>,
8194 #[serde(rename = "deployable")]
8195 pub deployable: bool,
8196 #[serde(rename = "requires_approval", skip_serializing_if = "Option::is_none")]
8197 pub requires_approval: Option<bool>,
8198 #[serde(rename = "commands", skip_serializing_if = "Option::is_none")]
8199 pub commands: Option<Vec<Vec<String>>>,
8200 #[serde(rename = "artifacts", skip_serializing_if = "Option::is_none")]
8201 pub artifacts: Option<Vec<String>>,
8202 #[serde(rename = "secrets_backend", skip_serializing_if = "Option::is_none")]
8203 pub secrets_backend: Option<String>,
8204 #[serde(rename = "healthcheck", skip_serializing_if = "Option::is_none")]
8205 pub healthcheck: Option<std::collections::HashMap<String, String>>,
8206 #[serde(rename = "rollback", skip_serializing_if = "Option::is_none")]
8207 pub rollback: Option<Vec<String>>,
8208 #[serde(rename = "risk")]
8209 pub risk: String,
8210 #[serde(rename = "reason")]
8211 pub reason: String,
8212}
8213
8214impl TargetPlan {
8215 pub fn new(target_id: String, kind: String, deployable: bool, risk: String, reason: String) -> TargetPlan {
8216 TargetPlan {
8217 target_id,
8218 kind,
8219 substrate_id: None,
8220 deployable,
8221 requires_approval: None,
8222 commands: None,
8223 artifacts: None,
8224 secrets_backend: None,
8225 healthcheck: None,
8226 rollback: None,
8227 risk,
8228 reason,
8229 }
8230 }
8231}
8232
8233#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
8245pub struct TeardownLaunchpadRuntimeRunRequest {
8246 #[serde(rename = "cascade", skip_serializing_if = "Option::is_none")]
8247 pub cascade: Option<bool>,
8248}
8249
8250impl TeardownLaunchpadRuntimeRunRequest {
8251 pub fn new() -> TeardownLaunchpadRuntimeRunRequest {
8252 TeardownLaunchpadRuntimeRunRequest {
8253 cascade: None,
8254 }
8255 }
8256}
8257
8258#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
8270pub struct TelemetryExportRequest {
8271 #[serde(rename = "format", skip_serializing_if = "Option::is_none")]
8272 pub format: Option<String>,
8273 #[serde(rename = "receipt_id", skip_serializing_if = "Option::is_none")]
8274 pub receipt_id: Option<String>,
8275 #[serde(rename = "record_hash", skip_serializing_if = "Option::is_none")]
8276 pub record_hash: Option<String>,
8277 #[serde(rename = "policy_epoch", skip_serializing_if = "Option::is_none")]
8279 pub policy_epoch: Option<String>,
8280 #[serde(rename = "verdict", skip_serializing_if = "Option::is_none")]
8282 pub verdict: Option<String>,
8283 #[serde(rename = "reason_code", skip_serializing_if = "Option::is_none")]
8285 pub reason_code: Option<String>,
8286 #[serde(rename = "sandbox_grant_hash", skip_serializing_if = "Option::is_none")]
8288 pub sandbox_grant_hash: Option<String>,
8289 #[serde(rename = "authz_snapshot_hash", skip_serializing_if = "Option::is_none")]
8291 pub authz_snapshot_hash: Option<String>,
8292 #[serde(rename = "attributes", skip_serializing_if = "Option::is_none")]
8293 pub attributes: Option<std::collections::HashMap<String, String>>,
8294}
8295
8296impl TelemetryExportRequest {
8297 pub fn new() -> TelemetryExportRequest {
8298 TelemetryExportRequest {
8299 format: None,
8300 receipt_id: None,
8301 record_hash: None,
8302 policy_epoch: None,
8303 verdict: None,
8304 reason_code: None,
8305 sandbox_grant_hash: None,
8306 authz_snapshot_hash: None,
8307 attributes: None,
8308 }
8309 }
8310}
8311
8312#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
8324pub struct TelemetryExportResult {
8325 #[serde(rename = "export_id", skip_serializing_if = "Option::is_none")]
8326 pub export_id: Option<String>,
8327 #[serde(rename = "format", skip_serializing_if = "Option::is_none")]
8328 pub format: Option<String>,
8329 #[serde(rename = "authoritative", skip_serializing_if = "Option::is_none")]
8330 pub authoritative: Option<bool>,
8331 #[serde(rename = "attributes", skip_serializing_if = "Option::is_none")]
8332 pub attributes: Option<std::collections::HashMap<String, String>>,
8333 #[serde(rename = "exported_at", skip_serializing_if = "Option::is_none")]
8334 pub exported_at: Option<String>,
8335}
8336
8337impl TelemetryExportResult {
8338 pub fn new() -> TelemetryExportResult {
8339 TelemetryExportResult {
8340 export_id: None,
8341 format: None,
8342 authoritative: None,
8343 attributes: None,
8344 exported_at: None,
8345 }
8346 }
8347}
8348
8349#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
8361pub struct TelemetryOTelConfig {
8362 #[serde(rename = "service_name", skip_serializing_if = "Option::is_none")]
8363 pub service_name: Option<String>,
8364 #[serde(rename = "signal_type", skip_serializing_if = "Option::is_none")]
8365 pub signal_type: Option<String>,
8366 #[serde(rename = "authoritative", skip_serializing_if = "Option::is_none")]
8367 pub authoritative: Option<bool>,
8368 #[serde(rename = "span_attributes", skip_serializing_if = "Option::is_none")]
8369 pub span_attributes: Option<std::collections::HashMap<String, String>>,
8370 #[serde(rename = "exported_signals", skip_serializing_if = "Option::is_none")]
8371 pub exported_signals: Option<Vec<String>>,
8372}
8373
8374impl TelemetryOTelConfig {
8375 pub fn new() -> TelemetryOTelConfig {
8376 TelemetryOTelConfig {
8377 service_name: None,
8378 signal_type: None,
8379 authoritative: None,
8380 span_attributes: None,
8381 exported_signals: None,
8382 }
8383 }
8384}
8385
8386#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
8398pub struct TransitionApprovalCeremonyRequest {
8399 #[serde(rename = "actor", skip_serializing_if = "Option::is_none")]
8401 pub actor: Option<String>,
8402 #[serde(rename = "receipt_id", skip_serializing_if = "Option::is_none")]
8403 pub receipt_id: Option<String>,
8404 #[serde(rename = "reason", skip_serializing_if = "Option::is_none")]
8405 pub reason: Option<String>,
8406 #[serde(rename = "expected_ceremony_hash", skip_serializing_if = "Option::is_none")]
8408 pub expected_ceremony_hash: Option<String>,
8409}
8410
8411impl TransitionApprovalCeremonyRequest {
8412 pub fn new() -> TransitionApprovalCeremonyRequest {
8413 TransitionApprovalCeremonyRequest {
8414 actor: None,
8415 receipt_id: None,
8416 reason: None,
8417 expected_ceremony_hash: None,
8418 }
8419 }
8420}
8421
8422#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
8434pub struct VerificationResult {
8435 #[serde(rename = "verdict", skip_serializing_if = "Option::is_none")]
8436 pub verdict: Option<VerificationResultVerdict>,
8437 #[serde(rename = "checks", skip_serializing_if = "Option::is_none")]
8438 pub checks: Option<Box<VerificationResultChecks>>,
8439 #[serde(rename = "roots", skip_serializing_if = "Option::is_none")]
8440 pub roots: Option<Box<VerificationResultRoots>>,
8441 #[serde(rename = "errors", skip_serializing_if = "Option::is_none")]
8442 pub errors: Option<Vec<String>>,
8443}
8444
8445impl VerificationResult {
8446 pub fn new() -> VerificationResult {
8447 VerificationResult {
8448 verdict: None,
8449 checks: None,
8450 roots: None,
8451 errors: None,
8452 }
8453 }
8454}
8455#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
8457pub enum VerificationResultVerdict {
8458 #[serde(rename = "PASS")]
8459 Pass,
8460 #[serde(rename = "FAIL")]
8461 Fail,
8462}
8463
8464impl Default for VerificationResultVerdict {
8465 fn default() -> VerificationResultVerdict {
8466 Self::Pass
8467 }
8468}
8469
8470#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
8482pub struct VerificationResultChecks {
8483 #[serde(rename = "signatures", skip_serializing_if = "Option::is_none")]
8484 pub signatures: Option<VerificationResultChecksSignatures>,
8485 #[serde(rename = "causal_chain", skip_serializing_if = "Option::is_none")]
8486 pub causal_chain: Option<VerificationResultChecksCausalChain>,
8487 #[serde(rename = "policy_compliance", skip_serializing_if = "Option::is_none")]
8488 pub policy_compliance: Option<VerificationResultChecksPolicyCompliance>,
8489}
8490
8491impl VerificationResultChecks {
8492 pub fn new() -> VerificationResultChecks {
8493 VerificationResultChecks {
8494 signatures: None,
8495 causal_chain: None,
8496 policy_compliance: None,
8497 }
8498 }
8499}
8500#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
8502pub enum VerificationResultChecksSignatures {
8503 #[serde(rename = "PASS")]
8504 Pass,
8505 #[serde(rename = "FAIL")]
8506 Fail,
8507}
8508
8509impl Default for VerificationResultChecksSignatures {
8510 fn default() -> VerificationResultChecksSignatures {
8511 Self::Pass
8512 }
8513}
8514#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
8516pub enum VerificationResultChecksCausalChain {
8517 #[serde(rename = "PASS")]
8518 Pass,
8519 #[serde(rename = "FAIL")]
8520 Fail,
8521}
8522
8523impl Default for VerificationResultChecksCausalChain {
8524 fn default() -> VerificationResultChecksCausalChain {
8525 Self::Pass
8526 }
8527}
8528#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
8530pub enum VerificationResultChecksPolicyCompliance {
8531 #[serde(rename = "PASS")]
8532 Pass,
8533 #[serde(rename = "FAIL")]
8534 Fail,
8535}
8536
8537impl Default for VerificationResultChecksPolicyCompliance {
8538 fn default() -> VerificationResultChecksPolicyCompliance {
8539 Self::Pass
8540 }
8541}
8542
8543#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
8555pub struct VerificationResultRoots {
8556 #[serde(rename = "manifest_root_hash", skip_serializing_if = "Option::is_none")]
8557 pub manifest_root_hash: Option<String>,
8558 #[serde(rename = "merkle_root", skip_serializing_if = "Option::is_none")]
8559 pub merkle_root: Option<String>,
8560 #[serde(rename = "entry_count", skip_serializing_if = "Option::is_none")]
8561 pub entry_count: Option<i32>,
8562}
8563
8564impl VerificationResultRoots {
8565 pub fn new() -> VerificationResultRoots {
8566 VerificationResultRoots {
8567 manifest_root_hash: None,
8568 merkle_root: None,
8569 entry_count: None,
8570 }
8571 }
8572}
8573
8574#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
8586pub struct VerificationScope {
8587 #[serde(rename = "verification_scope_id")]
8588 pub verification_scope_id: String,
8589 #[serde(rename = "receipt_refs", skip_serializing_if = "Option::is_none")]
8590 pub receipt_refs: Option<Vec<String>>,
8591 #[serde(rename = "subject_hash")]
8592 pub subject_hash: String,
8593 #[serde(rename = "risk_class", skip_serializing_if = "Option::is_none")]
8594 pub risk_class: Option<VerificationScopeRiskClass>,
8595 #[serde(rename = "checks_performed")]
8596 pub checks_performed: Vec<String>,
8597 #[serde(rename = "assumptions", skip_serializing_if = "Option::is_none")]
8598 pub assumptions: Option<Vec<String>>,
8599 #[serde(rename = "untested_regions", skip_serializing_if = "Option::is_none")]
8600 pub untested_regions: Option<Vec<String>>,
8601 #[serde(rename = "known_limits", skip_serializing_if = "Option::is_none")]
8602 pub known_limits: Option<Vec<String>>,
8603 #[serde(rename = "remaining_risks", skip_serializing_if = "Option::is_none")]
8604 pub remaining_risks: Option<Vec<String>>,
8605 #[serde(rename = "required_followup", skip_serializing_if = "Option::is_none")]
8606 pub required_followup: Option<Vec<String>>,
8607 #[serde(rename = "verifier_hash")]
8608 pub verifier_hash: String,
8609 #[serde(rename = "policy_hash")]
8610 pub policy_hash: String,
8611 #[serde(rename = "created_at")]
8612 pub created_at: String,
8613 #[serde(rename = "scope_hash", skip_serializing_if = "Option::is_none")]
8614 pub scope_hash: Option<String>,
8615}
8616
8617impl VerificationScope {
8618 pub fn new(verification_scope_id: String, subject_hash: String, checks_performed: Vec<String>, verifier_hash: String, policy_hash: String, created_at: String) -> VerificationScope {
8619 VerificationScope {
8620 verification_scope_id,
8621 receipt_refs: None,
8622 subject_hash,
8623 risk_class: None,
8624 checks_performed,
8625 assumptions: None,
8626 untested_regions: None,
8627 known_limits: None,
8628 remaining_risks: None,
8629 required_followup: None,
8630 verifier_hash,
8631 policy_hash,
8632 created_at,
8633 scope_hash: None,
8634 }
8635 }
8636}
8637#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
8639pub enum VerificationScopeRiskClass {
8640 #[serde(rename = "T0")]
8641 T0,
8642 #[serde(rename = "T1")]
8643 T1,
8644 #[serde(rename = "T2")]
8645 T2,
8646 #[serde(rename = "T3")]
8647 T3,
8648}
8649
8650impl Default for VerificationScopeRiskClass {
8651 fn default() -> VerificationScopeRiskClass {
8652 Self::T0
8653 }
8654}
8655
8656#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
8668pub struct VerifyPublicDemoReceipt200Response {
8669 #[serde(rename = "valid")]
8670 pub valid: bool,
8671 #[serde(rename = "signature_valid")]
8672 pub signature_valid: bool,
8673 #[serde(rename = "hash_matches")]
8674 pub hash_matches: bool,
8675 #[serde(rename = "reason")]
8676 pub reason: String,
8677 #[serde(rename = "verified_fields")]
8678 pub verified_fields: Vec<String>,
8679 #[serde(rename = "receipt_hash")]
8680 pub receipt_hash: String,
8681 #[serde(rename = "expected_receipt_hash")]
8682 pub expected_receipt_hash: String,
8683}
8684
8685impl VerifyPublicDemoReceipt200Response {
8686 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 {
8687 VerifyPublicDemoReceipt200Response {
8688 valid,
8689 signature_valid,
8690 hash_matches,
8691 reason,
8692 verified_fields,
8693 receipt_hash,
8694 expected_receipt_hash,
8695 }
8696 }
8697}
8698
8699#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
8711pub struct VerifyPublicDemoReceiptRequest {
8712 #[serde(rename = "receipt")]
8713 pub receipt: Box<Receipt>,
8714 #[serde(rename = "expected_receipt_hash")]
8716 pub expected_receipt_hash: String,
8717}
8718
8719impl VerifyPublicDemoReceiptRequest {
8720 pub fn new(receipt: Receipt, expected_receipt_hash: String) -> VerifyPublicDemoReceiptRequest {
8721 VerifyPublicDemoReceiptRequest {
8722 receipt: Box::new(receipt),
8723 expected_receipt_hash,
8724 }
8725 }
8726}
8727
8728#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
8740pub struct VersionInfo {
8741 #[serde(rename = "version", skip_serializing_if = "Option::is_none")]
8742 pub version: Option<String>,
8743 #[serde(rename = "commit", skip_serializing_if = "Option::is_none")]
8744 pub commit: Option<String>,
8745 #[serde(rename = "build_time", skip_serializing_if = "Option::is_none")]
8746 pub build_time: Option<String>,
8747 #[serde(rename = "go_version", skip_serializing_if = "Option::is_none")]
8748 pub go_version: Option<String>,
8749}
8750
8751impl VersionInfo {
8752 pub fn new() -> VersionInfo {
8753 VersionInfo {
8754 version: None,
8755 commit: None,
8756 build_time: None,
8757 go_version: None,
8758 }
8759 }
8760}
8761
8762
8763pub type ReasonCode = String;