Skip to main content

helm_sdk/
types_gen.rs

1// AUTO-GENERATED from api/openapi/helm.openapi.yaml — DO NOT EDIT
2// Regenerate: bash scripts/sdk/gen.sh
3
4use serde::{Deserialize, Serialize};
5/*
6 * HELM Kernel API
7 *
8 * Deterministic execution kernel for AI tool calls. Drop-in OpenAI proxy + cryptographic receipts + offline-verifiable evidence packs.
9 *
10 * The version of the OpenAPI document: 0.5.1
11 *
12 * Generated by: https://openapi-generator.tech
13 */
14
15
16#[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/*
76 * HELM Kernel API
77 *
78 * Deterministic execution kernel for AI tool calls. Drop-in OpenAI proxy + cryptographic receipts + offline-verifiable evidence packs.
79 *
80 * The version of the OpenAPI document: 0.5.1
81 *
82 * Generated by: https://openapi-generator.tech
83 */
84
85
86#[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/*
107 * HELM Kernel API
108 *
109 * Deterministic execution kernel for AI tool calls. Drop-in OpenAI proxy + cryptographic receipts + offline-verifiable evidence packs.
110 *
111 * The version of the OpenAPI document: 0.5.1
112 *
113 * Generated by: https://openapi-generator.tech
114 */
115
116
117#[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/*
135 * HELM Kernel API
136 *
137 * Deterministic execution kernel for AI tool calls. Drop-in OpenAI proxy + cryptographic receipts + offline-verifiable evidence packs.
138 *
139 * The version of the OpenAPI document: 0.5.1
140 *
141 * Generated by: https://openapi-generator.tech
142 */
143
144
145#[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/*
175 * HELM Kernel API
176 *
177 * Deterministic execution kernel for AI tool calls. Drop-in OpenAI proxy + cryptographic receipts + offline-verifiable evidence packs.
178 *
179 * The version of the OpenAPI document: 0.5.1
180 *
181 * Generated by: https://openapi-generator.tech
182 */
183
184
185#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
186pub struct AddTrustKey200Response {
187    #[serde(rename = "status", skip_serializing_if = "Option::is_none")]
188    pub status: Option<String>,
189    #[serde(rename = "tenant_id", skip_serializing_if = "Option::is_none")]
190    pub tenant_id: Option<String>,
191    #[serde(rename = "key_id", skip_serializing_if = "Option::is_none")]
192    pub key_id: Option<String>,
193}
194
195impl AddTrustKey200Response {
196    pub fn new() -> AddTrustKey200Response {
197        AddTrustKey200Response {
198            status: None,
199            tenant_id: None,
200            key_id: None,
201        }
202    }
203}
204
205/*
206 * HELM Kernel API
207 *
208 * Deterministic execution kernel for AI tool calls. Drop-in OpenAI proxy + cryptographic receipts + offline-verifiable evidence packs.
209 *
210 * The version of the OpenAPI document: 0.5.1
211 *
212 * Generated by: https://openapi-generator.tech
213 */
214
215
216#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
217pub struct AddTrustKeyRequest {
218    #[serde(rename = "tenant_id")]
219    pub tenant_id: String,
220    #[serde(rename = "key_id")]
221    pub key_id: String,
222    /// Hex-encoded Ed25519 public key
223    #[serde(rename = "public_key")]
224    pub public_key: String,
225}
226
227impl AddTrustKeyRequest {
228    pub fn new(tenant_id: String, key_id: String, public_key: String) -> AddTrustKeyRequest {
229        AddTrustKeyRequest {
230            tenant_id,
231            key_id,
232            public_key,
233        }
234    }
235}
236
237/*
238 * HELM Kernel API
239 *
240 * Deterministic execution kernel for AI tool calls. Drop-in OpenAI proxy + cryptographic receipts + offline-verifiable evidence packs.
241 *
242 * The version of the OpenAPI document: 0.5.1
243 *
244 * Generated by: https://openapi-generator.tech
245 */
246
247
248#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
249pub struct AgentIdentityProfile {
250    #[serde(rename = "agent_id", skip_serializing_if = "Option::is_none")]
251    pub agent_id: Option<String>,
252    #[serde(rename = "identity_type", skip_serializing_if = "Option::is_none")]
253    pub identity_type: Option<String>,
254    #[serde(rename = "subject", skip_serializing_if = "Option::is_none")]
255    pub subject: Option<String>,
256    #[serde(rename = "issuer", skip_serializing_if = "Option::is_none")]
257    pub issuer: Option<String>,
258    #[serde(rename = "jwks_uri", skip_serializing_if = "Option::is_none")]
259    pub jwks_uri: Option<String>,
260    #[serde(rename = "spiffe_id", skip_serializing_if = "Option::is_none")]
261    pub spiffe_id: Option<String>,
262    #[serde(rename = "scopes", skip_serializing_if = "Option::is_none")]
263    pub scopes: Option<Vec<String>>,
264    #[serde(rename = "anonymous_dev_mode", skip_serializing_if = "Option::is_none")]
265    pub anonymous_dev_mode: Option<bool>,
266    #[serde(rename = "created_at", skip_serializing_if = "Option::is_none")]
267    pub created_at: Option<String>,
268}
269
270impl AgentIdentityProfile {
271    pub fn new() -> AgentIdentityProfile {
272        AgentIdentityProfile {
273            agent_id: None,
274            identity_type: None,
275            subject: None,
276            issuer: None,
277            jwks_uri: None,
278            spiffe_id: None,
279            scopes: None,
280            anonymous_dev_mode: None,
281            created_at: None,
282        }
283    }
284}
285
286/*
287 * HELM Kernel API
288 *
289 * Deterministic execution kernel for AI tool calls. Drop-in OpenAI proxy + cryptographic receipts + offline-verifiable evidence packs.
290 *
291 * The version of the OpenAPI document: 0.5.1
292 *
293 * Generated by: https://openapi-generator.tech
294 */
295
296
297#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
298pub struct ApprovalCeremony {
299    #[serde(rename = "approval_id", skip_serializing_if = "Option::is_none")]
300    pub approval_id: Option<String>,
301    #[serde(rename = "subject", skip_serializing_if = "Option::is_none")]
302    pub subject: Option<String>,
303    #[serde(rename = "action", skip_serializing_if = "Option::is_none")]
304    pub action: Option<String>,
305    #[serde(rename = "state", skip_serializing_if = "Option::is_none")]
306    pub state: Option<ApprovalCeremonyState>,
307    #[serde(rename = "requested_by", skip_serializing_if = "Option::is_none")]
308    pub requested_by: Option<String>,
309    #[serde(rename = "approvers", skip_serializing_if = "Option::is_none")]
310    pub approvers: Option<Vec<String>>,
311    #[serde(rename = "quorum", skip_serializing_if = "Option::is_none")]
312    pub quorum: Option<i32>,
313    #[serde(rename = "timelock_until", skip_serializing_if = "Option::is_none")]
314    pub timelock_until: Option<String>,
315    #[serde(rename = "expires_at", skip_serializing_if = "Option::is_none")]
316    pub expires_at: Option<String>,
317    #[serde(rename = "break_glass", skip_serializing_if = "Option::is_none")]
318    pub break_glass: Option<bool>,
319    #[serde(rename = "reason", skip_serializing_if = "Option::is_none")]
320    pub reason: Option<String>,
321    #[serde(rename = "receipt_id", skip_serializing_if = "Option::is_none")]
322    pub receipt_id: Option<String>,
323    #[serde(rename = "ceremony_hash", skip_serializing_if = "Option::is_none")]
324    pub ceremony_hash: Option<String>,
325    #[serde(rename = "created_at", skip_serializing_if = "Option::is_none")]
326    pub created_at: Option<String>,
327    #[serde(rename = "updated_at", skip_serializing_if = "Option::is_none")]
328    pub updated_at: Option<String>,
329}
330
331impl ApprovalCeremony {
332    pub fn new() -> ApprovalCeremony {
333        ApprovalCeremony {
334            approval_id: None,
335            subject: None,
336            action: None,
337            state: None,
338            requested_by: None,
339            approvers: None,
340            quorum: None,
341            timelock_until: None,
342            expires_at: None,
343            break_glass: None,
344            reason: None,
345            receipt_id: None,
346            ceremony_hash: None,
347            created_at: None,
348            updated_at: None,
349        }
350    }
351}
352///
353#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
354pub enum ApprovalCeremonyState {
355    #[serde(rename = "pending")]
356    Pending,
357    #[serde(rename = "approved")]
358    Approved,
359    #[serde(rename = "denied")]
360    Denied,
361    #[serde(rename = "revoked")]
362    Revoked,
363    #[serde(rename = "expired")]
364    Expired,
365}
366
367impl Default for ApprovalCeremonyState {
368    fn default() -> ApprovalCeremonyState {
369        Self::Pending
370    }
371}
372
373/*
374 * HELM Kernel API
375 *
376 * Deterministic execution kernel for AI tool calls. Drop-in OpenAI proxy + cryptographic receipts + offline-verifiable evidence packs.
377 *
378 * The version of the OpenAPI document: 0.5.1
379 *
380 * Generated by: https://openapi-generator.tech
381 */
382
383
384#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
385pub struct ApprovalRequest {
386    /// SHA-256 hash of the intent to approve
387    #[serde(rename = "intent_hash")]
388    pub intent_hash: String,
389    /// Base64-encoded Ed25519 signature
390    #[serde(rename = "signature_b64")]
391    pub signature_b64: String,
392    /// Base64-encoded Ed25519 public key
393    #[serde(rename = "public_key_b64")]
394    pub public_key_b64: String,
395    /// Optional challenge/response for ceremony
396    #[serde(rename = "challenge_response", skip_serializing_if = "Option::is_none")]
397    pub challenge_response: Option<String>,
398}
399
400impl ApprovalRequest {
401    pub fn new(intent_hash: String, signature_b64: String, public_key_b64: String) -> ApprovalRequest {
402        ApprovalRequest {
403            intent_hash,
404            signature_b64,
405            public_key_b64,
406            challenge_response: None,
407        }
408    }
409}
410
411/*
412 * HELM Kernel API
413 *
414 * Deterministic execution kernel for AI tool calls. Drop-in OpenAI proxy + cryptographic receipts + offline-verifiable evidence packs.
415 *
416 * The version of the OpenAPI document: 0.5.1
417 *
418 * Generated by: https://openapi-generator.tech
419 */
420
421
422#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
423pub struct AssertApprovalWebAuthnChallengeRequest {
424    #[serde(rename = "challenge_id")]
425    pub challenge_id: String,
426    #[serde(rename = "actor")]
427    pub actor: String,
428    #[serde(rename = "assertion")]
429    pub assertion: String,
430    #[serde(rename = "receipt_id", skip_serializing_if = "Option::is_none")]
431    pub receipt_id: Option<String>,
432    #[serde(rename = "reason", skip_serializing_if = "Option::is_none")]
433    pub reason: Option<String>,
434}
435
436impl AssertApprovalWebAuthnChallengeRequest {
437    pub fn new(challenge_id: String, actor: String, assertion: String) -> AssertApprovalWebAuthnChallengeRequest {
438        AssertApprovalWebAuthnChallengeRequest {
439            challenge_id,
440            actor,
441            assertion,
442            receipt_id: None,
443            reason: None,
444        }
445    }
446}
447
448/*
449 * HELM Kernel API
450 *
451 * Deterministic execution kernel for AI tool calls. Drop-in OpenAI proxy + cryptographic receipts + offline-verifiable evidence packs.
452 *
453 * The version of the OpenAPI document: 0.5.1
454 *
455 * Generated by: https://openapi-generator.tech
456 */
457
458
459#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
460pub struct AuthzHealth {
461    #[serde(rename = "status", skip_serializing_if = "Option::is_none")]
462    pub status: Option<String>,
463    #[serde(rename = "resolver", skip_serializing_if = "Option::is_none")]
464    pub resolver: Option<String>,
465    #[serde(rename = "model_id", skip_serializing_if = "Option::is_none")]
466    pub model_id: Option<String>,
467    #[serde(rename = "relationship_hash", skip_serializing_if = "Option::is_none")]
468    pub relationship_hash: Option<String>,
469    #[serde(rename = "checked_at", skip_serializing_if = "Option::is_none")]
470    pub checked_at: Option<String>,
471}
472
473impl AuthzHealth {
474    pub fn new() -> AuthzHealth {
475        AuthzHealth {
476            status: None,
477            resolver: None,
478            model_id: None,
479            relationship_hash: None,
480            checked_at: None,
481        }
482    }
483}
484
485/*
486 * HELM Kernel API
487 *
488 * Deterministic execution kernel for AI tool calls. Drop-in OpenAI proxy + cryptographic receipts + offline-verifiable evidence packs.
489 *
490 * The version of the OpenAPI document: 0.5.1
491 *
492 * Generated by: https://openapi-generator.tech
493 */
494
495
496#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
497pub struct AuthzSnapshot {
498    #[serde(rename = "snapshot_id", skip_serializing_if = "Option::is_none")]
499    pub snapshot_id: Option<String>,
500    #[serde(rename = "model_id", skip_serializing_if = "Option::is_none")]
501    pub model_id: Option<String>,
502    #[serde(rename = "relationship_hash", skip_serializing_if = "Option::is_none")]
503    pub relationship_hash: Option<String>,
504    #[serde(rename = "tuple_count", skip_serializing_if = "Option::is_none")]
505    pub tuple_count: Option<i32>,
506    #[serde(rename = "resolver", skip_serializing_if = "Option::is_none")]
507    pub resolver: Option<String>,
508    #[serde(rename = "stale", skip_serializing_if = "Option::is_none")]
509    pub stale: Option<bool>,
510    #[serde(rename = "snapshot_token", skip_serializing_if = "Option::is_none")]
511    pub snapshot_token: Option<String>,
512    #[serde(rename = "checked_at", skip_serializing_if = "Option::is_none")]
513    pub checked_at: Option<String>,
514    #[serde(rename = "snapshot_hash", skip_serializing_if = "Option::is_none")]
515    pub snapshot_hash: Option<String>,
516}
517
518impl AuthzSnapshot {
519    pub fn new() -> AuthzSnapshot {
520        AuthzSnapshot {
521            snapshot_id: None,
522            model_id: None,
523            relationship_hash: None,
524            tuple_count: None,
525            resolver: None,
526            stale: None,
527            snapshot_token: None,
528            checked_at: None,
529            snapshot_hash: None,
530        }
531    }
532}
533
534/*
535 * HELM Kernel API
536 *
537 * Deterministic execution kernel for AI tool calls. Drop-in OpenAI proxy + cryptographic receipts + offline-verifiable evidence packs.
538 *
539 * The version of the OpenAPI document: 0.5.1
540 *
541 * Generated by: https://openapi-generator.tech
542 */
543
544
545#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
546pub struct BoundaryCapabilitySummary {
547    #[serde(rename = "capability_id", skip_serializing_if = "Option::is_none")]
548    pub capability_id: Option<String>,
549    #[serde(rename = "category", skip_serializing_if = "Option::is_none")]
550    pub category: Option<String>,
551    #[serde(rename = "status", skip_serializing_if = "Option::is_none")]
552    pub status: Option<String>,
553    #[serde(rename = "authority", skip_serializing_if = "Option::is_none")]
554    pub authority: Option<String>,
555    #[serde(rename = "public_routes", skip_serializing_if = "Option::is_none")]
556    pub public_routes: Option<Vec<String>>,
557    #[serde(rename = "cli_commands", skip_serializing_if = "Option::is_none")]
558    pub cli_commands: Option<Vec<String>>,
559    #[serde(rename = "receipt_bindings", skip_serializing_if = "Option::is_none")]
560    pub receipt_bindings: Option<Vec<String>>,
561    #[serde(rename = "conformance_level", skip_serializing_if = "Option::is_none")]
562    pub conformance_level: Option<String>,
563}
564
565impl BoundaryCapabilitySummary {
566    pub fn new() -> BoundaryCapabilitySummary {
567        BoundaryCapabilitySummary {
568            capability_id: None,
569            category: None,
570            status: None,
571            authority: None,
572            public_routes: None,
573            cli_commands: None,
574            receipt_bindings: None,
575            conformance_level: None,
576        }
577    }
578}
579
580/*
581 * HELM Kernel API
582 *
583 * Deterministic execution kernel for AI tool calls. Drop-in OpenAI proxy + cryptographic receipts + offline-verifiable evidence packs.
584 *
585 * The version of the OpenAPI document: 0.5.1
586 *
587 * Generated by: https://openapi-generator.tech
588 */
589
590
591#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
592pub struct BoundaryCheckpoint {
593    #[serde(rename = "checkpoint_id", skip_serializing_if = "Option::is_none")]
594    pub checkpoint_id: Option<String>,
595    #[serde(rename = "sequence", skip_serializing_if = "Option::is_none")]
596    pub sequence: Option<i64>,
597    #[serde(rename = "previous_checkpoint_hash", skip_serializing_if = "Option::is_none")]
598    pub previous_checkpoint_hash: Option<String>,
599    #[serde(rename = "receipt_count", skip_serializing_if = "Option::is_none")]
600    pub receipt_count: Option<i32>,
601    #[serde(rename = "record_count", skip_serializing_if = "Option::is_none")]
602    pub record_count: Option<i32>,
603    #[serde(rename = "root_hash", skip_serializing_if = "Option::is_none")]
604    pub root_hash: Option<String>,
605    #[serde(rename = "checkpoint_hash", skip_serializing_if = "Option::is_none")]
606    pub checkpoint_hash: Option<String>,
607    #[serde(rename = "created_at", skip_serializing_if = "Option::is_none")]
608    pub created_at: Option<String>,
609}
610
611impl BoundaryCheckpoint {
612    pub fn new() -> BoundaryCheckpoint {
613        BoundaryCheckpoint {
614            checkpoint_id: None,
615            sequence: None,
616            previous_checkpoint_hash: None,
617            receipt_count: None,
618            record_count: None,
619            root_hash: None,
620            checkpoint_hash: None,
621            created_at: None,
622        }
623    }
624}
625
626/*
627 * HELM Kernel API
628 *
629 * Deterministic execution kernel for AI tool calls. Drop-in OpenAI proxy + cryptographic receipts + offline-verifiable evidence packs.
630 *
631 * The version of the OpenAPI document: 0.5.1
632 *
633 * Generated by: https://openapi-generator.tech
634 */
635
636
637#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
638pub struct BoundaryRecordVerification {
639    #[serde(rename = "record_id", skip_serializing_if = "Option::is_none")]
640    pub record_id: Option<String>,
641    #[serde(rename = "record_hash", skip_serializing_if = "Option::is_none")]
642    pub record_hash: Option<String>,
643    #[serde(rename = "receipt_id", skip_serializing_if = "Option::is_none")]
644    pub receipt_id: Option<String>,
645    #[serde(rename = "verified", skip_serializing_if = "Option::is_none")]
646    pub verified: Option<bool>,
647    #[serde(rename = "errors", skip_serializing_if = "Option::is_none")]
648    pub errors: Option<Vec<String>>,
649    #[serde(rename = "checked_at", skip_serializing_if = "Option::is_none")]
650    pub checked_at: Option<String>,
651}
652
653impl BoundaryRecordVerification {
654    pub fn new() -> BoundaryRecordVerification {
655        BoundaryRecordVerification {
656            record_id: None,
657            record_hash: None,
658            receipt_id: None,
659            verified: None,
660            errors: None,
661            checked_at: None,
662        }
663    }
664}
665
666/*
667 * HELM Kernel API
668 *
669 * Deterministic execution kernel for AI tool calls. Drop-in OpenAI proxy + cryptographic receipts + offline-verifiable evidence packs.
670 *
671 * The version of the OpenAPI document: 0.5.1
672 *
673 * Generated by: https://openapi-generator.tech
674 */
675
676
677#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
678pub struct BoundaryStatus {
679    #[serde(rename = "version", skip_serializing_if = "Option::is_none")]
680    pub version: Option<String>,
681    #[serde(rename = "status", skip_serializing_if = "Option::is_none")]
682    pub status: Option<String>,
683    #[serde(rename = "receipt_store_ready", skip_serializing_if = "Option::is_none")]
684    pub receipt_store_ready: Option<bool>,
685    #[serde(rename = "signer_ready", skip_serializing_if = "Option::is_none")]
686    pub signer_ready: Option<bool>,
687    #[serde(rename = "open_approvals", skip_serializing_if = "Option::is_none")]
688    pub open_approvals: Option<i32>,
689    #[serde(rename = "quarantined_mcp_servers", skip_serializing_if = "Option::is_none")]
690    pub quarantined_mcp_servers: Option<i32>,
691    #[serde(rename = "last_checkpoint_id", skip_serializing_if = "Option::is_none")]
692    pub last_checkpoint_id: Option<String>,
693    #[serde(rename = "checked_at", skip_serializing_if = "Option::is_none")]
694    pub checked_at: Option<String>,
695}
696
697impl BoundaryStatus {
698    pub fn new() -> BoundaryStatus {
699        BoundaryStatus {
700            version: None,
701            status: None,
702            receipt_store_ready: None,
703            signer_ready: None,
704            open_approvals: None,
705            quarantined_mcp_servers: None,
706            last_checkpoint_id: None,
707            checked_at: None,
708        }
709    }
710}
711
712/*
713 * HELM Kernel API
714 *
715 * Deterministic execution kernel for AI tool calls. Drop-in OpenAI proxy + cryptographic receipts + offline-verifiable evidence packs.
716 *
717 * The version of the OpenAPI document: 0.5.1
718 *
719 * Generated by: https://openapi-generator.tech
720 */
721
722
723#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
724pub struct BudgetCeiling {
725    #[serde(rename = "budget_id", skip_serializing_if = "Option::is_none")]
726    pub budget_id: Option<String>,
727    #[serde(rename = "subject", skip_serializing_if = "Option::is_none")]
728    pub subject: Option<String>,
729    #[serde(rename = "window", skip_serializing_if = "Option::is_none")]
730    pub window: Option<String>,
731    #[serde(rename = "max_tool_calls", skip_serializing_if = "Option::is_none")]
732    pub max_tool_calls: Option<i32>,
733    #[serde(rename = "max_spend_minor", skip_serializing_if = "Option::is_none")]
734    pub max_spend_minor: Option<i64>,
735    #[serde(rename = "max_egress_bytes", skip_serializing_if = "Option::is_none")]
736    pub max_egress_bytes: Option<i64>,
737    #[serde(rename = "max_write_ops", skip_serializing_if = "Option::is_none")]
738    pub max_write_ops: Option<i32>,
739    #[serde(rename = "approval_required_after", skip_serializing_if = "Option::is_none")]
740    pub approval_required_after: Option<i32>,
741    #[serde(rename = "policy_epoch", skip_serializing_if = "Option::is_none")]
742    pub policy_epoch: Option<String>,
743}
744
745impl BudgetCeiling {
746    pub fn new() -> BudgetCeiling {
747        BudgetCeiling {
748            budget_id: None,
749            subject: None,
750            window: None,
751            max_tool_calls: None,
752            max_spend_minor: None,
753            max_egress_bytes: None,
754            max_write_ops: None,
755            approval_required_after: None,
756            policy_epoch: None,
757        }
758    }
759}
760
761/*
762 * HELM Kernel API
763 *
764 * Deterministic execution kernel for AI tool calls. Drop-in OpenAI proxy + cryptographic receipts + offline-verifiable evidence packs.
765 *
766 * The version of the OpenAPI document: 0.5.1
767 *
768 * Generated by: https://openapi-generator.tech
769 */
770
771
772#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
773pub struct ChatCompletionRequest {
774    #[serde(rename = "model")]
775    pub model: String,
776    #[serde(rename = "messages")]
777    pub messages: Vec<ChatCompletionRequestMessagesInner>,
778    #[serde(rename = "tools", skip_serializing_if = "Option::is_none")]
779    pub tools: Option<Vec<ChatCompletionRequestToolsInner>>,
780    #[serde(rename = "temperature", skip_serializing_if = "Option::is_none")]
781    pub temperature: Option<f64>,
782    #[serde(rename = "max_tokens", skip_serializing_if = "Option::is_none")]
783    pub max_tokens: Option<i32>,
784    #[serde(rename = "stream", skip_serializing_if = "Option::is_none")]
785    pub stream: Option<bool>,
786}
787
788impl ChatCompletionRequest {
789    pub fn new(model: String, messages: Vec<ChatCompletionRequestMessagesInner>) -> ChatCompletionRequest {
790        ChatCompletionRequest {
791            model,
792            messages,
793            tools: None,
794            temperature: None,
795            max_tokens: None,
796            stream: None,
797        }
798    }
799}
800
801/*
802 * HELM Kernel API
803 *
804 * Deterministic execution kernel for AI tool calls. Drop-in OpenAI proxy + cryptographic receipts + offline-verifiable evidence packs.
805 *
806 * The version of the OpenAPI document: 0.5.1
807 *
808 * Generated by: https://openapi-generator.tech
809 */
810
811
812#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
813pub struct ChatCompletionRequestMessagesInner {
814    #[serde(rename = "role")]
815    pub role: ChatCompletionRequestMessagesInnerRole,
816    #[serde(rename = "content")]
817    pub content: String,
818    #[serde(rename = "tool_call_id", skip_serializing_if = "Option::is_none")]
819    pub tool_call_id: Option<String>,
820}
821
822impl ChatCompletionRequestMessagesInner {
823    pub fn new(role: ChatCompletionRequestMessagesInnerRole, content: String) -> ChatCompletionRequestMessagesInner {
824        ChatCompletionRequestMessagesInner {
825            role,
826            content,
827            tool_call_id: None,
828        }
829    }
830}
831///
832#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
833pub enum ChatCompletionRequestMessagesInnerRole {
834    #[serde(rename = "system")]
835    System,
836    #[serde(rename = "user")]
837    User,
838    #[serde(rename = "assistant")]
839    Assistant,
840    #[serde(rename = "tool")]
841    Tool,
842}
843
844impl Default for ChatCompletionRequestMessagesInnerRole {
845    fn default() -> ChatCompletionRequestMessagesInnerRole {
846        Self::System
847    }
848}
849
850/*
851 * HELM Kernel API
852 *
853 * Deterministic execution kernel for AI tool calls. Drop-in OpenAI proxy + cryptographic receipts + offline-verifiable evidence packs.
854 *
855 * The version of the OpenAPI document: 0.5.1
856 *
857 * Generated by: https://openapi-generator.tech
858 */
859
860
861#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
862pub struct ChatCompletionRequestToolsInner {
863    #[serde(rename = "type", skip_serializing_if = "Option::is_none")]
864    pub r#type: Option<ChatCompletionRequestToolsInnerType>,
865    #[serde(rename = "function", skip_serializing_if = "Option::is_none")]
866    pub function: Option<Box<ChatCompletionRequestToolsInnerFunction>>,
867}
868
869impl ChatCompletionRequestToolsInner {
870    pub fn new() -> ChatCompletionRequestToolsInner {
871        ChatCompletionRequestToolsInner {
872            r#type: None,
873            function: None,
874        }
875    }
876}
877///
878#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
879pub enum ChatCompletionRequestToolsInnerType {
880    #[serde(rename = "function")]
881    Function,
882}
883
884impl Default for ChatCompletionRequestToolsInnerType {
885    fn default() -> ChatCompletionRequestToolsInnerType {
886        Self::Function
887    }
888}
889
890/*
891 * HELM Kernel API
892 *
893 * Deterministic execution kernel for AI tool calls. Drop-in OpenAI proxy + cryptographic receipts + offline-verifiable evidence packs.
894 *
895 * The version of the OpenAPI document: 0.5.1
896 *
897 * Generated by: https://openapi-generator.tech
898 */
899
900
901#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
902pub struct ChatCompletionRequestToolsInnerFunction {
903    #[serde(rename = "name", skip_serializing_if = "Option::is_none")]
904    pub name: Option<String>,
905    #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
906    pub description: Option<String>,
907    #[serde(rename = "parameters", skip_serializing_if = "Option::is_none")]
908    pub parameters: Option<serde_json::Value>,
909}
910
911impl ChatCompletionRequestToolsInnerFunction {
912    pub fn new() -> ChatCompletionRequestToolsInnerFunction {
913        ChatCompletionRequestToolsInnerFunction {
914            name: None,
915            description: None,
916            parameters: None,
917        }
918    }
919}
920
921/*
922 * HELM Kernel API
923 *
924 * Deterministic execution kernel for AI tool calls. Drop-in OpenAI proxy + cryptographic receipts + offline-verifiable evidence packs.
925 *
926 * The version of the OpenAPI document: 0.5.1
927 *
928 * Generated by: https://openapi-generator.tech
929 */
930
931
932#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
933pub struct ChatCompletionResponse {
934    #[serde(rename = "id", skip_serializing_if = "Option::is_none")]
935    pub id: Option<String>,
936    #[serde(rename = "object", skip_serializing_if = "Option::is_none")]
937    pub object: Option<String>,
938    #[serde(rename = "created", skip_serializing_if = "Option::is_none")]
939    pub created: Option<i32>,
940    #[serde(rename = "model", skip_serializing_if = "Option::is_none")]
941    pub model: Option<String>,
942    #[serde(rename = "choices", skip_serializing_if = "Option::is_none")]
943    pub choices: Option<Vec<ChatCompletionResponseChoicesInner>>,
944    #[serde(rename = "usage", skip_serializing_if = "Option::is_none")]
945    pub usage: Option<Box<ChatCompletionResponseUsage>>,
946}
947
948impl ChatCompletionResponse {
949    pub fn new() -> ChatCompletionResponse {
950        ChatCompletionResponse {
951            id: None,
952            object: None,
953            created: None,
954            model: None,
955            choices: None,
956            usage: None,
957        }
958    }
959}
960
961/*
962 * HELM Kernel API
963 *
964 * Deterministic execution kernel for AI tool calls. Drop-in OpenAI proxy + cryptographic receipts + offline-verifiable evidence packs.
965 *
966 * The version of the OpenAPI document: 0.5.1
967 *
968 * Generated by: https://openapi-generator.tech
969 */
970
971
972#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
973pub struct ChatCompletionResponseChoicesInner {
974    #[serde(rename = "index", skip_serializing_if = "Option::is_none")]
975    pub index: Option<i32>,
976    #[serde(rename = "message", skip_serializing_if = "Option::is_none")]
977    pub message: Option<Box<ChatCompletionResponseChoicesInnerMessage>>,
978    #[serde(rename = "finish_reason", skip_serializing_if = "Option::is_none")]
979    pub finish_reason: Option<String>,
980}
981
982impl ChatCompletionResponseChoicesInner {
983    pub fn new() -> ChatCompletionResponseChoicesInner {
984        ChatCompletionResponseChoicesInner {
985            index: None,
986            message: None,
987            finish_reason: None,
988        }
989    }
990}
991
992/*
993 * HELM Kernel API
994 *
995 * Deterministic execution kernel for AI tool calls. Drop-in OpenAI proxy + cryptographic receipts + offline-verifiable evidence packs.
996 *
997 * The version of the OpenAPI document: 0.5.1
998 *
999 * Generated by: https://openapi-generator.tech
1000 */
1001
1002
1003#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
1004pub struct ChatCompletionResponseChoicesInnerMessage {
1005    #[serde(rename = "role", skip_serializing_if = "Option::is_none")]
1006    pub role: Option<String>,
1007    #[serde(rename = "content", default, skip_serializing_if = "Option::is_none")]
1008    pub content: Option<Option<String>>,
1009    #[serde(rename = "tool_calls", skip_serializing_if = "Option::is_none")]
1010    pub tool_calls: Option<Vec<ChatCompletionResponseChoicesInnerMessageToolCallsInner>>,
1011}
1012
1013impl ChatCompletionResponseChoicesInnerMessage {
1014    pub fn new() -> ChatCompletionResponseChoicesInnerMessage {
1015        ChatCompletionResponseChoicesInnerMessage {
1016            role: None,
1017            content: None,
1018            tool_calls: None,
1019        }
1020    }
1021}
1022
1023/*
1024 * HELM Kernel API
1025 *
1026 * Deterministic execution kernel for AI tool calls. Drop-in OpenAI proxy + cryptographic receipts + offline-verifiable evidence packs.
1027 *
1028 * The version of the OpenAPI document: 0.5.1
1029 *
1030 * Generated by: https://openapi-generator.tech
1031 */
1032
1033
1034#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
1035pub struct ChatCompletionResponseChoicesInnerMessageToolCallsInner {
1036    #[serde(rename = "id", skip_serializing_if = "Option::is_none")]
1037    pub id: Option<String>,
1038    #[serde(rename = "type", skip_serializing_if = "Option::is_none")]
1039    pub r#type: Option<String>,
1040    #[serde(rename = "function", skip_serializing_if = "Option::is_none")]
1041    pub function: Option<Box<ChatCompletionResponseChoicesInnerMessageToolCallsInnerFunction>>,
1042}
1043
1044impl ChatCompletionResponseChoicesInnerMessageToolCallsInner {
1045    pub fn new() -> ChatCompletionResponseChoicesInnerMessageToolCallsInner {
1046        ChatCompletionResponseChoicesInnerMessageToolCallsInner {
1047            id: None,
1048            r#type: None,
1049            function: None,
1050        }
1051    }
1052}
1053
1054/*
1055 * HELM Kernel API
1056 *
1057 * Deterministic execution kernel for AI tool calls. Drop-in OpenAI proxy + cryptographic receipts + offline-verifiable evidence packs.
1058 *
1059 * The version of the OpenAPI document: 0.5.1
1060 *
1061 * Generated by: https://openapi-generator.tech
1062 */
1063
1064
1065#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
1066pub struct ChatCompletionResponseChoicesInnerMessageToolCallsInnerFunction {
1067    #[serde(rename = "name", skip_serializing_if = "Option::is_none")]
1068    pub name: Option<String>,
1069    #[serde(rename = "arguments", skip_serializing_if = "Option::is_none")]
1070    pub arguments: Option<String>,
1071}
1072
1073impl ChatCompletionResponseChoicesInnerMessageToolCallsInnerFunction {
1074    pub fn new() -> ChatCompletionResponseChoicesInnerMessageToolCallsInnerFunction {
1075        ChatCompletionResponseChoicesInnerMessageToolCallsInnerFunction {
1076            name: None,
1077            arguments: None,
1078        }
1079    }
1080}
1081
1082/*
1083 * HELM Kernel API
1084 *
1085 * Deterministic execution kernel for AI tool calls. Drop-in OpenAI proxy + cryptographic receipts + offline-verifiable evidence packs.
1086 *
1087 * The version of the OpenAPI document: 0.5.1
1088 *
1089 * Generated by: https://openapi-generator.tech
1090 */
1091
1092
1093#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
1094pub struct ChatCompletionResponseUsage {
1095    #[serde(rename = "prompt_tokens", skip_serializing_if = "Option::is_none")]
1096    pub prompt_tokens: Option<i32>,
1097    #[serde(rename = "completion_tokens", skip_serializing_if = "Option::is_none")]
1098    pub completion_tokens: Option<i32>,
1099    #[serde(rename = "total_tokens", skip_serializing_if = "Option::is_none")]
1100    pub total_tokens: Option<i32>,
1101}
1102
1103impl ChatCompletionResponseUsage {
1104    pub fn new() -> ChatCompletionResponseUsage {
1105        ChatCompletionResponseUsage {
1106            prompt_tokens: None,
1107            completion_tokens: None,
1108            total_tokens: None,
1109        }
1110    }
1111}
1112
1113/*
1114 * HELM Kernel API
1115 *
1116 * Deterministic execution kernel for AI tool calls. Drop-in OpenAI proxy + cryptographic receipts + offline-verifiable evidence packs.
1117 *
1118 * The version of the OpenAPI document: 0.5.1
1119 *
1120 * Generated by: https://openapi-generator.tech
1121 */
1122
1123
1124#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
1125pub struct CoexistenceCapabilityManifest {
1126    #[serde(rename = "manifest_id", skip_serializing_if = "Option::is_none")]
1127    pub manifest_id: Option<String>,
1128    #[serde(rename = "authority", skip_serializing_if = "Option::is_none")]
1129    pub authority: Option<String>,
1130    #[serde(rename = "boundary_role", skip_serializing_if = "Option::is_none")]
1131    pub boundary_role: Option<String>,
1132    #[serde(rename = "supported_inputs", skip_serializing_if = "Option::is_none")]
1133    pub supported_inputs: Option<Vec<String>>,
1134    #[serde(rename = "export_surfaces", skip_serializing_if = "Option::is_none")]
1135    pub export_surfaces: Option<Vec<String>>,
1136    #[serde(rename = "receipt_bindings", skip_serializing_if = "Option::is_none")]
1137    pub receipt_bindings: Option<Vec<String>>,
1138    #[serde(rename = "generated_at", skip_serializing_if = "Option::is_none")]
1139    pub generated_at: Option<String>,
1140}
1141
1142impl CoexistenceCapabilityManifest {
1143    pub fn new() -> CoexistenceCapabilityManifest {
1144        CoexistenceCapabilityManifest {
1145            manifest_id: None,
1146            authority: None,
1147            boundary_role: None,
1148            supported_inputs: None,
1149            export_surfaces: None,
1150            receipt_bindings: None,
1151            generated_at: None,
1152        }
1153    }
1154}
1155
1156/*
1157 * HELM Kernel API
1158 *
1159 * Deterministic execution kernel for AI tool calls. Drop-in OpenAI proxy + cryptographic receipts + offline-verifiable evidence packs.
1160 *
1161 * The version of the OpenAPI document: 0.5.1
1162 *
1163 * Generated by: https://openapi-generator.tech
1164 */
1165
1166
1167#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
1168pub struct ConformanceRequest {
1169    #[serde(rename = "level")]
1170    pub level: ConformanceRequestLevel,
1171    #[serde(rename = "profile", skip_serializing_if = "Option::is_none")]
1172    pub profile: Option<String>,
1173}
1174
1175impl ConformanceRequest {
1176    pub fn new(level: ConformanceRequestLevel) -> ConformanceRequest {
1177        ConformanceRequest {
1178            level,
1179            profile: None,
1180        }
1181    }
1182}
1183///
1184#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
1185pub enum ConformanceRequestLevel {
1186    #[serde(rename = "L1")]
1187    L1,
1188    #[serde(rename = "L2")]
1189    L2,
1190}
1191
1192impl Default for ConformanceRequestLevel {
1193    fn default() -> ConformanceRequestLevel {
1194        Self::L1
1195    }
1196}
1197
1198/*
1199 * HELM Kernel API
1200 *
1201 * Deterministic execution kernel for AI tool calls. Drop-in OpenAI proxy + cryptographic receipts + offline-verifiable evidence packs.
1202 *
1203 * The version of the OpenAPI document: 0.5.1
1204 *
1205 * Generated by: https://openapi-generator.tech
1206 */
1207
1208
1209#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
1210pub struct ConformanceResult {
1211    #[serde(rename = "report_id", skip_serializing_if = "Option::is_none")]
1212    pub report_id: Option<String>,
1213    #[serde(rename = "level", skip_serializing_if = "Option::is_none")]
1214    pub level: Option<String>,
1215    #[serde(rename = "verdict", skip_serializing_if = "Option::is_none")]
1216    pub verdict: Option<ConformanceResultVerdict>,
1217    #[serde(rename = "gates", skip_serializing_if = "Option::is_none")]
1218    pub gates: Option<i32>,
1219    #[serde(rename = "failed", skip_serializing_if = "Option::is_none")]
1220    pub failed: Option<i32>,
1221    #[serde(rename = "details", skip_serializing_if = "Option::is_none")]
1222    pub details: Option<std::collections::HashMap<String, String>>,
1223}
1224
1225impl ConformanceResult {
1226    pub fn new() -> ConformanceResult {
1227        ConformanceResult {
1228            report_id: None,
1229            level: None,
1230            verdict: None,
1231            gates: None,
1232            failed: None,
1233            details: None,
1234        }
1235    }
1236}
1237///
1238#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
1239pub enum ConformanceResultVerdict {
1240    #[serde(rename = "PASS")]
1241    Pass,
1242    #[serde(rename = "FAIL")]
1243    Fail,
1244}
1245
1246impl Default for ConformanceResultVerdict {
1247    fn default() -> ConformanceResultVerdict {
1248        Self::Pass
1249    }
1250}
1251
1252/*
1253 * HELM Kernel API
1254 *
1255 * Deterministic execution kernel for AI tool calls. Drop-in OpenAI proxy + cryptographic receipts + offline-verifiable evidence packs.
1256 *
1257 * The version of the OpenAPI document: 0.5.1
1258 *
1259 * Generated by: https://openapi-generator.tech
1260 */
1261
1262
1263#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
1264pub struct ConsoleBootstrap {
1265    #[serde(rename = "version")]
1266    pub version: Box<VersionInfo>,
1267    #[serde(rename = "workspace")]
1268    pub workspace: Box<ConsoleBootstrapWorkspace>,
1269    #[serde(rename = "health")]
1270    pub health: Box<ConsoleBootstrapHealth>,
1271    #[serde(rename = "counts")]
1272    pub counts: Box<ConsoleBootstrapCounts>,
1273    #[serde(rename = "receipts")]
1274    pub receipts: Vec<Receipt>,
1275    #[serde(rename = "conformance")]
1276    pub conformance: Box<ConsoleBootstrapConformance>,
1277    #[serde(rename = "mcp")]
1278    pub mcp: Box<ConsoleBootstrapMcp>,
1279}
1280
1281impl ConsoleBootstrap {
1282    pub fn new(version: VersionInfo, workspace: ConsoleBootstrapWorkspace, health: ConsoleBootstrapHealth, counts: ConsoleBootstrapCounts, receipts: Vec<Receipt>, conformance: ConsoleBootstrapConformance, mcp: ConsoleBootstrapMcp) -> ConsoleBootstrap {
1283        ConsoleBootstrap {
1284            version: Box::new(version),
1285            workspace: Box::new(workspace),
1286            health: Box::new(health),
1287            counts: Box::new(counts),
1288            receipts,
1289            conformance: Box::new(conformance),
1290            mcp: Box::new(mcp),
1291        }
1292    }
1293}
1294
1295/*
1296 * HELM Kernel API
1297 *
1298 * Deterministic execution kernel for AI tool calls. Drop-in OpenAI proxy + cryptographic receipts + offline-verifiable evidence packs.
1299 *
1300 * The version of the OpenAPI document: 0.5.1
1301 *
1302 * Generated by: https://openapi-generator.tech
1303 */
1304
1305
1306#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
1307pub struct ConsoleBootstrapConformance {
1308    #[serde(rename = "level")]
1309    pub level: String,
1310    #[serde(rename = "status")]
1311    pub status: String,
1312    #[serde(rename = "report_id", skip_serializing_if = "Option::is_none")]
1313    pub report_id: Option<String>,
1314}
1315
1316impl ConsoleBootstrapConformance {
1317    pub fn new(level: String, status: String) -> ConsoleBootstrapConformance {
1318        ConsoleBootstrapConformance {
1319            level,
1320            status,
1321            report_id: None,
1322        }
1323    }
1324}
1325
1326/*
1327 * HELM Kernel API
1328 *
1329 * Deterministic execution kernel for AI tool calls. Drop-in OpenAI proxy + cryptographic receipts + offline-verifiable evidence packs.
1330 *
1331 * The version of the OpenAPI document: 0.5.1
1332 *
1333 * Generated by: https://openapi-generator.tech
1334 */
1335
1336
1337#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
1338pub struct ConsoleBootstrapCounts {
1339    #[serde(rename = "receipts")]
1340    pub receipts: i32,
1341    #[serde(rename = "pending_approvals")]
1342    pub pending_approvals: i32,
1343    #[serde(rename = "open_incidents")]
1344    pub open_incidents: i32,
1345    #[serde(rename = "mcp_tools")]
1346    pub mcp_tools: i32,
1347}
1348
1349impl ConsoleBootstrapCounts {
1350    pub fn new(receipts: i32, pending_approvals: i32, open_incidents: i32, mcp_tools: i32) -> ConsoleBootstrapCounts {
1351        ConsoleBootstrapCounts {
1352            receipts,
1353            pending_approvals,
1354            open_incidents,
1355            mcp_tools,
1356        }
1357    }
1358}
1359
1360/*
1361 * HELM Kernel API
1362 *
1363 * Deterministic execution kernel for AI tool calls. Drop-in OpenAI proxy + cryptographic receipts + offline-verifiable evidence packs.
1364 *
1365 * The version of the OpenAPI document: 0.5.1
1366 *
1367 * Generated by: https://openapi-generator.tech
1368 */
1369
1370
1371#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
1372pub struct ConsoleBootstrapHealth {
1373    #[serde(rename = "kernel")]
1374    pub kernel: String,
1375    #[serde(rename = "policy")]
1376    pub policy: String,
1377    #[serde(rename = "store")]
1378    pub store: String,
1379    #[serde(rename = "conformance")]
1380    pub conformance: String,
1381}
1382
1383impl ConsoleBootstrapHealth {
1384    pub fn new(kernel: String, policy: String, store: String, conformance: String) -> ConsoleBootstrapHealth {
1385        ConsoleBootstrapHealth {
1386            kernel,
1387            policy,
1388            store,
1389            conformance,
1390        }
1391    }
1392}
1393
1394/*
1395 * HELM Kernel API
1396 *
1397 * Deterministic execution kernel for AI tool calls. Drop-in OpenAI proxy + cryptographic receipts + offline-verifiable evidence packs.
1398 *
1399 * The version of the OpenAPI document: 0.5.1
1400 *
1401 * Generated by: https://openapi-generator.tech
1402 */
1403
1404
1405#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
1406pub struct ConsoleBootstrapMcp {
1407    #[serde(rename = "authorization")]
1408    pub authorization: String,
1409    #[serde(rename = "scopes")]
1410    pub scopes: Vec<String>,
1411}
1412
1413impl ConsoleBootstrapMcp {
1414    pub fn new(authorization: String, scopes: Vec<String>) -> ConsoleBootstrapMcp {
1415        ConsoleBootstrapMcp {
1416            authorization,
1417            scopes,
1418        }
1419    }
1420}
1421
1422/*
1423 * HELM Kernel API
1424 *
1425 * Deterministic execution kernel for AI tool calls. Drop-in OpenAI proxy + cryptographic receipts + offline-verifiable evidence packs.
1426 *
1427 * The version of the OpenAPI document: 0.5.1
1428 *
1429 * Generated by: https://openapi-generator.tech
1430 */
1431
1432
1433#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
1434pub struct ConsoleBootstrapWorkspace {
1435    #[serde(rename = "organization")]
1436    pub organization: String,
1437    #[serde(rename = "project")]
1438    pub project: String,
1439    #[serde(rename = "environment")]
1440    pub environment: String,
1441    #[serde(rename = "mode")]
1442    pub mode: String,
1443}
1444
1445impl ConsoleBootstrapWorkspace {
1446    pub fn new(organization: String, project: String, environment: String, mode: String) -> ConsoleBootstrapWorkspace {
1447        ConsoleBootstrapWorkspace {
1448            organization,
1449            project,
1450            environment,
1451            mode,
1452        }
1453    }
1454}
1455
1456/*
1457 * HELM Kernel API
1458 *
1459 * Deterministic execution kernel for AI tool calls. Drop-in OpenAI proxy + cryptographic receipts + offline-verifiable evidence packs.
1460 *
1461 * The version of the OpenAPI document: 0.5.1
1462 *
1463 * Generated by: https://openapi-generator.tech
1464 */
1465
1466
1467#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
1468pub struct ConsoleSurfaceRef {
1469    #[serde(rename = "id")]
1470    pub id: String,
1471    #[serde(rename = "source")]
1472    pub source: String,
1473}
1474
1475impl ConsoleSurfaceRef {
1476    pub fn new(id: String, source: String) -> ConsoleSurfaceRef {
1477        ConsoleSurfaceRef {
1478            id,
1479            source,
1480        }
1481    }
1482}
1483
1484/*
1485 * HELM Kernel API
1486 *
1487 * Deterministic execution kernel for AI tool calls. Drop-in OpenAI proxy + cryptographic receipts + offline-verifiable evidence packs.
1488 *
1489 * The version of the OpenAPI document: 0.5.1
1490 *
1491 * Generated by: https://openapi-generator.tech
1492 */
1493
1494
1495#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
1496pub struct ConsoleSurfaceState {
1497    #[serde(rename = "id")]
1498    pub id: String,
1499    #[serde(rename = "status")]
1500    pub status: String,
1501    #[serde(rename = "source")]
1502    pub source: String,
1503    #[serde(rename = "generated_at")]
1504    pub generated_at: String,
1505    #[serde(rename = "summary", skip_serializing_if = "Option::is_none")]
1506    pub summary: Option<std::collections::HashMap<String, serde_json::Value>>,
1507    #[serde(rename = "records", skip_serializing_if = "Option::is_none")]
1508    pub records: Option<Vec<std::collections::HashMap<String, serde_json::Value>>>,
1509}
1510
1511impl ConsoleSurfaceState {
1512    pub fn new(id: String, status: String, source: String, generated_at: String) -> ConsoleSurfaceState {
1513        ConsoleSurfaceState {
1514            id,
1515            status,
1516            source,
1517            generated_at,
1518            summary: None,
1519            records: None,
1520        }
1521    }
1522}
1523
1524/*
1525 * HELM Kernel API
1526 *
1527 * Deterministic execution kernel for AI tool calls. Drop-in OpenAI proxy + cryptographic receipts + offline-verifiable evidence packs.
1528 *
1529 * The version of the OpenAPI document: 0.5.1
1530 *
1531 * Generated by: https://openapi-generator.tech
1532 */
1533
1534
1535#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
1536pub struct CreateApprovalWebAuthnChallengeRequest {
1537    #[serde(rename = "method", skip_serializing_if = "Option::is_none")]
1538    pub method: Option<String>,
1539    #[serde(rename = "ttl_ms", skip_serializing_if = "Option::is_none")]
1540    pub ttl_ms: Option<i32>,
1541}
1542
1543impl CreateApprovalWebAuthnChallengeRequest {
1544    pub fn new() -> CreateApprovalWebAuthnChallengeRequest {
1545        CreateApprovalWebAuthnChallengeRequest {
1546            method: None,
1547            ttl_ms: None,
1548        }
1549    }
1550}
1551
1552/*
1553 * HELM Kernel API
1554 *
1555 * Deterministic execution kernel for AI tool calls. Drop-in OpenAI proxy + cryptographic receipts + offline-verifiable evidence packs.
1556 *
1557 * The version of the OpenAPI document: 0.5.1
1558 *
1559 * Generated by: https://openapi-generator.tech
1560 */
1561
1562
1563#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
1564pub struct CreateSandboxGrantRequest {
1565    #[serde(rename = "runtime", skip_serializing_if = "Option::is_none")]
1566    pub runtime: Option<String>,
1567    #[serde(rename = "profile", skip_serializing_if = "Option::is_none")]
1568    pub profile: Option<String>,
1569    #[serde(rename = "image_digest", skip_serializing_if = "Option::is_none")]
1570    pub image_digest: Option<String>,
1571    #[serde(rename = "policy_epoch", skip_serializing_if = "Option::is_none")]
1572    pub policy_epoch: Option<String>,
1573}
1574
1575impl CreateSandboxGrantRequest {
1576    pub fn new() -> CreateSandboxGrantRequest {
1577        CreateSandboxGrantRequest {
1578            runtime: None,
1579            profile: None,
1580            image_digest: None,
1581            policy_epoch: None,
1582        }
1583    }
1584}
1585
1586/*
1587 * HELM Kernel API
1588 *
1589 * Deterministic execution kernel for AI tool calls. Drop-in OpenAI proxy + cryptographic receipts + offline-verifiable evidence packs.
1590 *
1591 * The version of the OpenAPI document: 0.5.1
1592 *
1593 * Generated by: https://openapi-generator.tech
1594 */
1595
1596
1597#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
1598pub struct DecisionRecord {
1599    #[serde(rename = "id", skip_serializing_if = "Option::is_none")]
1600    pub id: Option<String>,
1601    #[serde(rename = "action", skip_serializing_if = "Option::is_none")]
1602    pub action: Option<String>,
1603    #[serde(rename = "resource", skip_serializing_if = "Option::is_none")]
1604    pub resource: Option<String>,
1605    #[serde(rename = "verdict", skip_serializing_if = "Option::is_none")]
1606    pub verdict: Option<String>,
1607    #[serde(rename = "reason", skip_serializing_if = "Option::is_none")]
1608    pub reason: Option<String>,
1609    #[serde(rename = "policy_version", skip_serializing_if = "Option::is_none")]
1610    pub policy_version: Option<String>,
1611    #[serde(rename = "policy_decision_hash", skip_serializing_if = "Option::is_none")]
1612    pub policy_decision_hash: Option<String>,
1613    #[serde(rename = "signature", skip_serializing_if = "Option::is_none")]
1614    pub signature: Option<String>,
1615}
1616
1617impl DecisionRecord {
1618    pub fn new() -> DecisionRecord {
1619        DecisionRecord {
1620            id: None,
1621            action: None,
1622            resource: None,
1623            verdict: None,
1624            reason: None,
1625            policy_version: None,
1626            policy_decision_hash: None,
1627            signature: None,
1628        }
1629    }
1630}
1631
1632/*
1633 * HELM Kernel API
1634 *
1635 * Deterministic execution kernel for AI tool calls. Drop-in OpenAI proxy + cryptographic receipts + offline-verifiable evidence packs.
1636 *
1637 * The version of the OpenAPI document: 0.5.1
1638 *
1639 * Generated by: https://openapi-generator.tech
1640 */
1641
1642
1643#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
1644pub struct DecisionRequest {
1645    #[serde(rename = "principal", skip_serializing_if = "Option::is_none")]
1646    pub principal: Option<String>,
1647    #[serde(rename = "action")]
1648    pub action: String,
1649    #[serde(rename = "resource")]
1650    pub resource: String,
1651    #[serde(rename = "context", skip_serializing_if = "Option::is_none")]
1652    pub context: Option<std::collections::HashMap<String, serde_json::Value>>,
1653}
1654
1655impl DecisionRequest {
1656    pub fn new(action: String, resource: String) -> DecisionRequest {
1657        DecisionRequest {
1658            principal: None,
1659            action,
1660            resource,
1661            context: None,
1662        }
1663    }
1664}
1665
1666/*
1667 * HELM Kernel API
1668 *
1669 * Deterministic execution kernel for AI tool calls. Drop-in OpenAI proxy + cryptographic receipts + offline-verifiable evidence packs.
1670 *
1671 * The version of the OpenAPI document: 0.5.1
1672 *
1673 * Generated by: https://openapi-generator.tech
1674 */
1675
1676
1677/// Effect : An effect submitted for governance evaluation
1678#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
1679pub struct Effect {
1680    /// Category of the effect (file_read, api_call, exec, etc.)
1681    #[serde(rename = "effect_type")]
1682    pub effect_type: String,
1683    /// Unique identifier for this effect instance
1684    #[serde(rename = "effect_id")]
1685    pub effect_id: String,
1686    /// Effect-specific parameters
1687    #[serde(rename = "params")]
1688    pub params: std::collections::HashMap<String, serde_json::Value>,
1689    /// Optional budget to charge against
1690    #[serde(rename = "budget_id", skip_serializing_if = "Option::is_none")]
1691    pub budget_id: Option<String>,
1692}
1693
1694impl Effect {
1695    /// An effect submitted for governance evaluation
1696    pub fn new(effect_type: String, effect_id: String, params: std::collections::HashMap<String, serde_json::Value>) -> Effect {
1697        Effect {
1698            effect_type,
1699            effect_id,
1700            params,
1701            budget_id: None,
1702        }
1703    }
1704}
1705
1706/*
1707 * HELM Kernel API
1708 *
1709 * Deterministic execution kernel for AI tool calls. Drop-in OpenAI proxy + cryptographic receipts + offline-verifiable evidence packs.
1710 *
1711 * The version of the OpenAPI document: 0.5.1
1712 *
1713 * Generated by: https://openapi-generator.tech
1714 */
1715
1716
1717/// EffectBoundary : The boundary contract for submitting effects to the kernel
1718#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
1719pub struct EffectBoundary {
1720    #[serde(rename = "effect")]
1721    pub effect: Box<Effect>,
1722    /// Agent/user identity (e.g. agent:analyst)
1723    #[serde(rename = "principal")]
1724    pub principal: String,
1725    /// Additional context (jurisdiction, industry, budget state)
1726    #[serde(rename = "context", skip_serializing_if = "Option::is_none")]
1727    pub context: Option<std::collections::HashMap<String, serde_json::Value>>,
1728}
1729
1730impl EffectBoundary {
1731    /// The boundary contract for submitting effects to the kernel
1732    pub fn new(effect: Effect, principal: String) -> EffectBoundary {
1733        EffectBoundary {
1734            effect: Box::new(effect),
1735            principal,
1736            context: None,
1737        }
1738    }
1739}
1740
1741/*
1742 * HELM Kernel API
1743 *
1744 * Deterministic execution kernel for AI tool calls. Drop-in OpenAI proxy + cryptographic receipts + offline-verifiable evidence packs.
1745 *
1746 * The version of the OpenAPI document: 0.5.1
1747 *
1748 * Generated by: https://openapi-generator.tech
1749 */
1750
1751
1752#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
1753pub struct EnvExposurePolicy {
1754    #[serde(rename = "mode")]
1755    pub mode: EnvExposurePolicyMode,
1756    #[serde(rename = "names", skip_serializing_if = "Option::is_none")]
1757    pub names: Option<Vec<String>>,
1758    #[serde(rename = "names_hash", skip_serializing_if = "Option::is_none")]
1759    pub names_hash: Option<String>,
1760    #[serde(rename = "redacted", skip_serializing_if = "Option::is_none")]
1761    pub redacted: Option<bool>,
1762}
1763
1764impl EnvExposurePolicy {
1765    pub fn new(mode: EnvExposurePolicyMode) -> EnvExposurePolicy {
1766        EnvExposurePolicy {
1767            mode,
1768            names: None,
1769            names_hash: None,
1770            redacted: None,
1771        }
1772    }
1773}
1774///
1775#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
1776pub enum EnvExposurePolicyMode {
1777    #[serde(rename = "deny-all")]
1778    DenyAll,
1779    #[serde(rename = "allowlist")]
1780    Allowlist,
1781    #[serde(rename = "redacted")]
1782    Redacted,
1783}
1784
1785impl Default for EnvExposurePolicyMode {
1786    fn default() -> EnvExposurePolicyMode {
1787        Self::DenyAll
1788    }
1789}
1790
1791/*
1792 * HELM Kernel API
1793 *
1794 * Deterministic execution kernel for AI tool calls. Drop-in OpenAI proxy + cryptographic receipts + offline-verifiable evidence packs.
1795 *
1796 * The version of the OpenAPI document: 0.5.1
1797 *
1798 * Generated by: https://openapi-generator.tech
1799 */
1800
1801
1802#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
1803pub struct EvidenceEnvelopeExportRequest {
1804    #[serde(rename = "manifest_id")]
1805    pub manifest_id: String,
1806    #[serde(rename = "envelope")]
1807    pub envelope: EvidenceEnvelopeExportRequestEnvelope,
1808    /// HELM-native EvidencePack root hash.
1809    #[serde(rename = "native_evidence_hash")]
1810    pub native_evidence_hash: String,
1811    #[serde(rename = "subject", skip_serializing_if = "Option::is_none")]
1812    pub subject: Option<String>,
1813    /// Must be true for experimental SCITT or COSE exports.
1814    #[serde(rename = "experimental", skip_serializing_if = "Option::is_none")]
1815    pub experimental: Option<bool>,
1816}
1817
1818impl EvidenceEnvelopeExportRequest {
1819    pub fn new(manifest_id: String, envelope: EvidenceEnvelopeExportRequestEnvelope, native_evidence_hash: String) -> EvidenceEnvelopeExportRequest {
1820        EvidenceEnvelopeExportRequest {
1821            manifest_id,
1822            envelope,
1823            native_evidence_hash,
1824            subject: None,
1825            experimental: None,
1826        }
1827    }
1828}
1829///
1830#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
1831pub enum EvidenceEnvelopeExportRequestEnvelope {
1832    #[serde(rename = "dsse")]
1833    Dsse,
1834    #[serde(rename = "jws")]
1835    Jws,
1836    #[serde(rename = "in-toto")]
1837    InToto,
1838    #[serde(rename = "slsa")]
1839    Slsa,
1840    #[serde(rename = "sigstore")]
1841    Sigstore,
1842    #[serde(rename = "scitt")]
1843    Scitt,
1844    #[serde(rename = "cose")]
1845    Cose,
1846}
1847
1848impl Default for EvidenceEnvelopeExportRequestEnvelope {
1849    fn default() -> EvidenceEnvelopeExportRequestEnvelope {
1850        Self::Dsse
1851    }
1852}
1853
1854/*
1855 * HELM Kernel API
1856 *
1857 * Deterministic execution kernel for AI tool calls. Drop-in OpenAI proxy + cryptographic receipts + offline-verifiable evidence packs.
1858 *
1859 * The version of the OpenAPI document: 0.5.1
1860 *
1861 * Generated by: https://openapi-generator.tech
1862 */
1863
1864
1865#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
1866pub struct EvidenceEnvelopeManifest {
1867    #[serde(rename = "manifest_id")]
1868    pub manifest_id: String,
1869    #[serde(rename = "envelope")]
1870    pub envelope: EvidenceEnvelopeManifestEnvelope,
1871    #[serde(rename = "native_evidence_hash")]
1872    pub native_evidence_hash: String,
1873    #[serde(rename = "native_authority")]
1874    pub native_authority: bool,
1875    #[serde(rename = "subject", skip_serializing_if = "Option::is_none")]
1876    pub subject: Option<String>,
1877    #[serde(rename = "statement_hash", skip_serializing_if = "Option::is_none")]
1878    pub statement_hash: Option<String>,
1879    #[serde(rename = "experimental", skip_serializing_if = "Option::is_none")]
1880    pub experimental: Option<bool>,
1881    #[serde(rename = "created_at")]
1882    pub created_at: String,
1883    #[serde(rename = "manifest_hash", skip_serializing_if = "Option::is_none")]
1884    pub manifest_hash: Option<String>,
1885}
1886
1887impl EvidenceEnvelopeManifest {
1888    pub fn new(manifest_id: String, envelope: EvidenceEnvelopeManifestEnvelope, native_evidence_hash: String, native_authority: bool, created_at: String) -> EvidenceEnvelopeManifest {
1889        EvidenceEnvelopeManifest {
1890            manifest_id,
1891            envelope,
1892            native_evidence_hash,
1893            native_authority,
1894            subject: None,
1895            statement_hash: None,
1896            experimental: None,
1897            created_at,
1898            manifest_hash: None,
1899        }
1900    }
1901}
1902///
1903#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
1904pub enum EvidenceEnvelopeManifestEnvelope {
1905    #[serde(rename = "dsse")]
1906    Dsse,
1907    #[serde(rename = "jws")]
1908    Jws,
1909    #[serde(rename = "in-toto")]
1910    InToto,
1911    #[serde(rename = "slsa")]
1912    Slsa,
1913    #[serde(rename = "sigstore")]
1914    Sigstore,
1915    #[serde(rename = "scitt")]
1916    Scitt,
1917    #[serde(rename = "cose")]
1918    Cose,
1919}
1920
1921impl Default for EvidenceEnvelopeManifestEnvelope {
1922    fn default() -> EvidenceEnvelopeManifestEnvelope {
1923        Self::Dsse
1924    }
1925}
1926
1927/*
1928 * HELM Kernel API
1929 *
1930 * Deterministic execution kernel for AI tool calls. Drop-in OpenAI proxy + cryptographic receipts + offline-verifiable evidence packs.
1931 *
1932 * The version of the OpenAPI document: 0.5.1
1933 *
1934 * Generated by: https://openapi-generator.tech
1935 */
1936
1937
1938#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
1939pub struct EvidenceEnvelopeVerification {
1940    #[serde(rename = "manifest_id", skip_serializing_if = "Option::is_none")]
1941    pub manifest_id: Option<String>,
1942    #[serde(rename = "manifest_hash", skip_serializing_if = "Option::is_none")]
1943    pub manifest_hash: Option<String>,
1944    #[serde(rename = "native_evidence_hash", skip_serializing_if = "Option::is_none")]
1945    pub native_evidence_hash: Option<String>,
1946    #[serde(rename = "verified", skip_serializing_if = "Option::is_none")]
1947    pub verified: Option<bool>,
1948    #[serde(rename = "authoritative", skip_serializing_if = "Option::is_none")]
1949    pub authoritative: Option<bool>,
1950    #[serde(rename = "errors", skip_serializing_if = "Option::is_none")]
1951    pub errors: Option<Vec<String>>,
1952    #[serde(rename = "checked_at", skip_serializing_if = "Option::is_none")]
1953    pub checked_at: Option<String>,
1954}
1955
1956impl EvidenceEnvelopeVerification {
1957    pub fn new() -> EvidenceEnvelopeVerification {
1958        EvidenceEnvelopeVerification {
1959            manifest_id: None,
1960            manifest_hash: None,
1961            native_evidence_hash: None,
1962            verified: None,
1963            authoritative: None,
1964            errors: None,
1965            checked_at: None,
1966        }
1967    }
1968}
1969
1970/*
1971 * HELM Kernel API
1972 *
1973 * Deterministic execution kernel for AI tool calls. Drop-in OpenAI proxy + cryptographic receipts + offline-verifiable evidence packs.
1974 *
1975 * The version of the OpenAPI document: 0.5.1
1976 *
1977 * Generated by: https://openapi-generator.tech
1978 */
1979
1980
1981#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
1982pub struct ExecutionBoundaryRecord {
1983    #[serde(rename = "record_id", skip_serializing_if = "Option::is_none")]
1984    pub record_id: Option<String>,
1985    #[serde(rename = "verdict", skip_serializing_if = "Option::is_none")]
1986    pub verdict: Option<ExecutionBoundaryRecordVerdict>,
1987    #[serde(rename = "reason_code", skip_serializing_if = "Option::is_none")]
1988    pub reason_code: Option<String>,
1989    #[serde(rename = "tool_name", skip_serializing_if = "Option::is_none")]
1990    pub tool_name: Option<String>,
1991    #[serde(rename = "args_hash", skip_serializing_if = "Option::is_none")]
1992    pub args_hash: Option<String>,
1993    #[serde(rename = "policy_epoch", skip_serializing_if = "Option::is_none")]
1994    pub policy_epoch: Option<String>,
1995    #[serde(rename = "mcp_server_id", skip_serializing_if = "Option::is_none")]
1996    pub mcp_server_id: Option<String>,
1997    #[serde(rename = "oauth_resource", skip_serializing_if = "Option::is_none")]
1998    pub oauth_resource: Option<String>,
1999    #[serde(rename = "oauth_scopes", skip_serializing_if = "Option::is_none")]
2000    pub oauth_scopes: Option<Vec<String>>,
2001    #[serde(rename = "sandbox_grant_hash", skip_serializing_if = "Option::is_none")]
2002    pub sandbox_grant_hash: Option<String>,
2003    #[serde(rename = "authz_snapshot_hash", skip_serializing_if = "Option::is_none")]
2004    pub authz_snapshot_hash: Option<String>,
2005    #[serde(rename = "approval_receipt_id", skip_serializing_if = "Option::is_none")]
2006    pub approval_receipt_id: Option<String>,
2007    #[serde(rename = "receipt_id", skip_serializing_if = "Option::is_none")]
2008    pub receipt_id: Option<String>,
2009    #[serde(rename = "record_hash", skip_serializing_if = "Option::is_none")]
2010    pub record_hash: Option<String>,
2011    #[serde(rename = "created_at", skip_serializing_if = "Option::is_none")]
2012    pub created_at: Option<String>,
2013}
2014
2015impl ExecutionBoundaryRecord {
2016    pub fn new() -> ExecutionBoundaryRecord {
2017        ExecutionBoundaryRecord {
2018            record_id: None,
2019            verdict: None,
2020            reason_code: None,
2021            tool_name: None,
2022            args_hash: None,
2023            policy_epoch: None,
2024            mcp_server_id: None,
2025            oauth_resource: None,
2026            oauth_scopes: None,
2027            sandbox_grant_hash: None,
2028            authz_snapshot_hash: None,
2029            approval_receipt_id: None,
2030            receipt_id: None,
2031            record_hash: None,
2032            created_at: None,
2033        }
2034    }
2035}
2036///
2037#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
2038pub enum ExecutionBoundaryRecordVerdict {
2039    #[serde(rename = "ALLOW")]
2040    Allow,
2041    #[serde(rename = "DENY")]
2042    Deny,
2043    #[serde(rename = "ESCALATE")]
2044    Escalate,
2045}
2046
2047impl Default for ExecutionBoundaryRecordVerdict {
2048    fn default() -> ExecutionBoundaryRecordVerdict {
2049        Self::Allow
2050    }
2051}
2052
2053/*
2054 * HELM Kernel API
2055 *
2056 * Deterministic execution kernel for AI tool calls. Drop-in OpenAI proxy + cryptographic receipts + offline-verifiable evidence packs.
2057 *
2058 * The version of the OpenAPI document: 0.5.1
2059 *
2060 * Generated by: https://openapi-generator.tech
2061 */
2062
2063
2064#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
2065pub struct ExportRequest {
2066    /// Session to export (omit for all)
2067    #[serde(rename = "session_id", skip_serializing_if = "Option::is_none")]
2068    pub session_id: Option<String>,
2069    #[serde(rename = "format", skip_serializing_if = "Option::is_none")]
2070    pub format: Option<ExportRequestFormat>,
2071}
2072
2073impl ExportRequest {
2074    pub fn new() -> ExportRequest {
2075        ExportRequest {
2076            session_id: None,
2077            format: None,
2078        }
2079    }
2080}
2081///
2082#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
2083pub enum ExportRequestFormat {
2084    #[serde(rename = "tar.gz")]
2085    TarPeriodGz,
2086}
2087
2088impl Default for ExportRequestFormat {
2089    fn default() -> ExportRequestFormat {
2090        Self::TarPeriodGz
2091    }
2092}
2093
2094/*
2095 * HELM Kernel API
2096 *
2097 * Deterministic execution kernel for AI tool calls. Drop-in OpenAI proxy + cryptographic receipts + offline-verifiable evidence packs.
2098 *
2099 * The version of the OpenAPI document: 0.5.1
2100 *
2101 * Generated by: https://openapi-generator.tech
2102 */
2103
2104
2105#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
2106pub struct FilesystemPreopen {
2107    #[serde(rename = "path")]
2108    pub path: String,
2109    #[serde(rename = "mode")]
2110    pub mode: FilesystemPreopenMode,
2111    #[serde(rename = "content_hash", skip_serializing_if = "Option::is_none")]
2112    pub content_hash: Option<String>,
2113}
2114
2115impl FilesystemPreopen {
2116    pub fn new(path: String, mode: FilesystemPreopenMode) -> FilesystemPreopen {
2117        FilesystemPreopen {
2118            path,
2119            mode,
2120            content_hash: None,
2121        }
2122    }
2123}
2124///
2125#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
2126pub enum FilesystemPreopenMode {
2127    #[serde(rename = "ro")]
2128    Ro,
2129    #[serde(rename = "rw")]
2130    Rw,
2131}
2132
2133impl Default for FilesystemPreopenMode {
2134    fn default() -> FilesystemPreopenMode {
2135        Self::Ro
2136    }
2137}
2138
2139/*
2140 * HELM Kernel API
2141 *
2142 * Deterministic execution kernel for AI tool calls. Drop-in OpenAI proxy + cryptographic receipts + offline-verifiable evidence packs.
2143 *
2144 * The version of the OpenAPI document: 0.5.1
2145 *
2146 * Generated by: https://openapi-generator.tech
2147 */
2148
2149
2150#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
2151pub struct GetAgentUiRuntimeInfo200Response {
2152    #[serde(rename = "runtime")]
2153    pub runtime: String,
2154    #[serde(rename = "protocol", deserialize_with = "Option::deserialize")]
2155    pub protocol: Option<serde_json::Value>,
2156    #[serde(rename = "transport", deserialize_with = "Option::deserialize")]
2157    pub transport: Option<serde_json::Value>,
2158    #[serde(rename = "tools", deserialize_with = "Option::deserialize")]
2159    pub tools: Option<serde_json::Value>,
2160}
2161
2162impl GetAgentUiRuntimeInfo200Response {
2163    pub fn new(runtime: String, protocol: Option<serde_json::Value>, transport: Option<serde_json::Value>, tools: Option<serde_json::Value>) -> GetAgentUiRuntimeInfo200Response {
2164        GetAgentUiRuntimeInfo200Response {
2165            runtime,
2166            protocol,
2167            transport,
2168            tools,
2169        }
2170    }
2171}
2172
2173/*
2174 * HELM Kernel API
2175 *
2176 * Deterministic execution kernel for AI tool calls. Drop-in OpenAI proxy + cryptographic receipts + offline-verifiable evidence packs.
2177 *
2178 * The version of the OpenAPI document: 0.5.1
2179 *
2180 * Generated by: https://openapi-generator.tech
2181 */
2182
2183
2184#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
2185pub struct GetPublicDemoHealth200Response {
2186    #[serde(rename = "version")]
2187    pub version: String,
2188    #[serde(rename = "commit")]
2189    pub commit: String,
2190    #[serde(rename = "helm_ai_kernel_version")]
2191    pub helm_ai_kernel_version: String,
2192    #[serde(rename = "status")]
2193    pub status: String,
2194    #[serde(rename = "build_time")]
2195    pub build_time: String,
2196    #[serde(rename = "git_sha")]
2197    pub git_sha: String,
2198    #[serde(rename = "deployment_id")]
2199    pub deployment_id: String,
2200}
2201
2202impl GetPublicDemoHealth200Response {
2203    pub fn new(version: String, commit: String, helm_ai_kernel_version: String, status: String, build_time: String, git_sha: String, deployment_id: String) -> GetPublicDemoHealth200Response {
2204        GetPublicDemoHealth200Response {
2205            version,
2206            commit,
2207            helm_ai_kernel_version,
2208            status,
2209            build_time,
2210            git_sha,
2211            deployment_id,
2212        }
2213    }
2214}
2215
2216/*
2217 * HELM Kernel API
2218 *
2219 * Deterministic execution kernel for AI tool calls. Drop-in OpenAI proxy + cryptographic receipts + offline-verifiable evidence packs.
2220 *
2221 * The version of the OpenAPI document: 0.5.1
2222 *
2223 * Generated by: https://openapi-generator.tech
2224 */
2225
2226
2227/// GovernanceDecision : PDP decision for an effect
2228#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
2229pub struct GovernanceDecision {
2230    #[serde(rename = "decision_id")]
2231    pub decision_id: String,
2232    #[serde(rename = "effect_id")]
2233    pub effect_id: String,
2234    #[serde(rename = "verdict")]
2235    pub verdict: GovernanceDecisionVerdict,
2236    /// Null for ALLOW. Registered code from reason-codes-v1.json for DENY/ESCALATE.
2237    #[serde(rename = "reason_code", default, skip_serializing_if = "Option::is_none")]
2238    pub reason_code: Option<Option<String>>,
2239    #[serde(rename = "receipt", skip_serializing_if = "Option::is_none")]
2240    pub receipt: Option<Box<Receipt>>,
2241    /// Names of policy bundles active during evaluation
2242    #[serde(rename = "active_packs", skip_serializing_if = "Option::is_none")]
2243    pub active_packs: Option<Vec<String>>,
2244}
2245
2246impl GovernanceDecision {
2247    /// PDP decision for an effect
2248    pub fn new(decision_id: String, effect_id: String, verdict: GovernanceDecisionVerdict) -> GovernanceDecision {
2249        GovernanceDecision {
2250            decision_id,
2251            effect_id,
2252            verdict,
2253            reason_code: None,
2254            receipt: None,
2255            active_packs: None,
2256        }
2257    }
2258}
2259///
2260#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
2261pub enum GovernanceDecisionVerdict {
2262    #[serde(rename = "ALLOW")]
2263    Allow,
2264    #[serde(rename = "DENY")]
2265    Deny,
2266    #[serde(rename = "ESCALATE")]
2267    Escalate,
2268}
2269
2270impl Default for GovernanceDecisionVerdict {
2271    fn default() -> GovernanceDecisionVerdict {
2272        Self::Allow
2273    }
2274}
2275
2276/*
2277 * HELM Kernel API
2278 *
2279 * Deterministic execution kernel for AI tool calls. Drop-in OpenAI proxy + cryptographic receipts + offline-verifiable evidence packs.
2280 *
2281 * The version of the OpenAPI document: 0.5.1
2282 *
2283 * Generated by: https://openapi-generator.tech
2284 */
2285
2286
2287#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
2288pub struct HealthCheck200Response {
2289    #[serde(rename = "status", skip_serializing_if = "Option::is_none")]
2290    pub status: Option<String>,
2291    #[serde(rename = "version", skip_serializing_if = "Option::is_none")]
2292    pub version: Option<String>,
2293}
2294
2295impl HealthCheck200Response {
2296    pub fn new() -> HealthCheck200Response {
2297        HealthCheck200Response {
2298            status: None,
2299            version: None,
2300        }
2301    }
2302}
2303
2304/*
2305 * HELM Kernel API
2306 *
2307 * Deterministic execution kernel for AI tool calls. Drop-in OpenAI proxy + cryptographic receipts + offline-verifiable evidence packs.
2308 *
2309 * The version of the OpenAPI document: 0.5.1
2310 *
2311 * Generated by: https://openapi-generator.tech
2312 */
2313
2314
2315#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
2316pub struct HelmError {
2317    #[serde(rename = "error")]
2318    pub error: Box<HelmErrorError>,
2319}
2320
2321impl HelmError {
2322    pub fn new(error: HelmErrorError) -> HelmError {
2323        HelmError {
2324            error: Box::new(error),
2325        }
2326    }
2327}
2328
2329/*
2330 * HELM Kernel API
2331 *
2332 * Deterministic execution kernel for AI tool calls. Drop-in OpenAI proxy + cryptographic receipts + offline-verifiable evidence packs.
2333 *
2334 * The version of the OpenAPI document: 0.5.1
2335 *
2336 * Generated by: https://openapi-generator.tech
2337 */
2338
2339
2340#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
2341pub struct HelmErrorError {
2342    /// Human-readable error message
2343    #[serde(rename = "message")]
2344    pub message: String,
2345    #[serde(rename = "type")]
2346    pub r#type: HelmErrorErrorType,
2347    /// Machine-readable error code
2348    #[serde(rename = "code")]
2349    pub code: String,
2350    /// HELM-specific reason code
2351    #[serde(rename = "reason_code")]
2352    pub reason_code: HelmErrorErrorReasonCode,
2353    /// Additional error context
2354    #[serde(rename = "details", skip_serializing_if = "Option::is_none")]
2355    pub details: Option<std::collections::HashMap<String, serde_json::Value>>,
2356}
2357
2358impl HelmErrorError {
2359    pub fn new(message: String, r#type: HelmErrorErrorType, code: String, reason_code: HelmErrorErrorReasonCode) -> HelmErrorError {
2360        HelmErrorError {
2361            message,
2362            r#type,
2363            code,
2364            reason_code,
2365            details: None,
2366        }
2367    }
2368}
2369///
2370#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
2371pub enum HelmErrorErrorType {
2372    #[serde(rename = "invalid_request")]
2373    InvalidRequest,
2374    #[serde(rename = "authentication_error")]
2375    AuthenticationError,
2376    #[serde(rename = "permission_denied")]
2377    PermissionDenied,
2378    #[serde(rename = "not_found")]
2379    NotFound,
2380    #[serde(rename = "internal_error")]
2381    InternalError,
2382}
2383
2384impl Default for HelmErrorErrorType {
2385    fn default() -> HelmErrorErrorType {
2386        Self::InvalidRequest
2387    }
2388}
2389/// HELM-specific reason code
2390#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
2391pub enum HelmErrorErrorReasonCode {
2392    #[serde(rename = "DENY_TOOL_NOT_FOUND")]
2393    DenyToolNotFound,
2394    #[serde(rename = "DENY_SCHEMA_MISMATCH")]
2395    DenySchemaMismatch,
2396    #[serde(rename = "DENY_OUTPUT_DRIFT")]
2397    DenyOutputDrift,
2398    #[serde(rename = "DENY_BUDGET_EXCEEDED")]
2399    DenyBudgetExceeded,
2400    #[serde(rename = "DENY_APPROVAL_REQUIRED")]
2401    DenyApprovalRequired,
2402    #[serde(rename = "DENY_APPROVAL_TIMEOUT")]
2403    DenyApprovalTimeout,
2404    #[serde(rename = "DENY_SANDBOX_TRAP")]
2405    DenySandboxTrap,
2406    #[serde(rename = "DENY_GAS_EXHAUSTION")]
2407    DenyGasExhaustion,
2408    #[serde(rename = "DENY_TIME_LIMIT")]
2409    DenyTimeLimit,
2410    #[serde(rename = "DENY_MEMORY_LIMIT")]
2411    DenyMemoryLimit,
2412    #[serde(rename = "DENY_POLICY_VIOLATION")]
2413    DenyPolicyViolation,
2414    #[serde(rename = "DENY_TRUST_KEY_REVOKED")]
2415    DenyTrustKeyRevoked,
2416    #[serde(rename = "DENY_IDEMPOTENCY_DUPLICATE")]
2417    DenyIdempotencyDuplicate,
2418    #[serde(rename = "ERROR_INTERNAL")]
2419    ErrorInternal,
2420}
2421
2422impl Default for HelmErrorErrorReasonCode {
2423    fn default() -> HelmErrorErrorReasonCode {
2424        Self::DenyToolNotFound
2425    }
2426}
2427
2428/*
2429 * HELM Kernel API
2430 *
2431 * Deterministic execution kernel for AI tool calls. Drop-in OpenAI proxy + cryptographic receipts + offline-verifiable evidence packs.
2432 *
2433 * The version of the OpenAPI document: 0.5.1
2434 *
2435 * Generated by: https://openapi-generator.tech
2436 */
2437
2438
2439#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
2440pub struct ListConsoleSurfaces200Response {
2441    #[serde(rename = "surfaces", skip_serializing_if = "Option::is_none")]
2442    pub surfaces: Option<Vec<ConsoleSurfaceRef>>,
2443}
2444
2445impl ListConsoleSurfaces200Response {
2446    pub fn new() -> ListConsoleSurfaces200Response {
2447        ListConsoleSurfaces200Response {
2448            surfaces: None,
2449        }
2450    }
2451}
2452
2453/*
2454 * HELM Kernel API
2455 *
2456 * Deterministic execution kernel for AI tool calls. Drop-in OpenAI proxy + cryptographic receipts + offline-verifiable evidence packs.
2457 *
2458 * The version of the OpenAPI document: 0.5.1
2459 *
2460 * Generated by: https://openapi-generator.tech
2461 */
2462
2463
2464#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
2465pub struct McpAuthorizationProfile {
2466    #[serde(rename = "profile_id", skip_serializing_if = "Option::is_none")]
2467    pub profile_id: Option<String>,
2468    #[serde(rename = "protocol_version", skip_serializing_if = "Option::is_none")]
2469    pub protocol_version: Option<String>,
2470    #[serde(rename = "resource", skip_serializing_if = "Option::is_none")]
2471    pub resource: Option<String>,
2472    #[serde(rename = "authorization_servers", skip_serializing_if = "Option::is_none")]
2473    pub authorization_servers: Option<Vec<String>>,
2474    #[serde(rename = "scopes_supported", skip_serializing_if = "Option::is_none")]
2475    pub scopes_supported: Option<Vec<String>>,
2476    #[serde(rename = "tool_scopes", skip_serializing_if = "Option::is_none")]
2477    pub tool_scopes: Option<std::collections::HashMap<String, serde_json::Value>>,
2478    #[serde(rename = "required_audience", skip_serializing_if = "Option::is_none")]
2479    pub required_audience: Option<String>,
2480    #[serde(rename = "stale_after", skip_serializing_if = "Option::is_none")]
2481    pub stale_after: Option<String>,
2482    #[serde(rename = "profile_hash", skip_serializing_if = "Option::is_none")]
2483    pub profile_hash: Option<String>,
2484}
2485
2486impl McpAuthorizationProfile {
2487    pub fn new() -> McpAuthorizationProfile {
2488        McpAuthorizationProfile {
2489            profile_id: None,
2490            protocol_version: None,
2491            resource: None,
2492            authorization_servers: None,
2493            scopes_supported: None,
2494            tool_scopes: None,
2495            required_audience: None,
2496            stale_after: None,
2497            profile_hash: None,
2498        }
2499    }
2500}
2501
2502/*
2503 * HELM Kernel API
2504 *
2505 * Deterministic execution kernel for AI tool calls. Drop-in OpenAI proxy + cryptographic receipts + offline-verifiable evidence packs.
2506 *
2507 * The version of the OpenAPI document: 0.5.1
2508 *
2509 * Generated by: https://openapi-generator.tech
2510 */
2511
2512
2513#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
2514pub struct McpAuthorizeCallRequest {
2515    #[serde(rename = "server_id")]
2516    pub server_id: String,
2517    #[serde(rename = "tool_name")]
2518    pub tool_name: String,
2519    #[serde(rename = "args_hash", skip_serializing_if = "Option::is_none")]
2520    pub args_hash: Option<String>,
2521    #[serde(rename = "granted_scopes", skip_serializing_if = "Option::is_none")]
2522    pub granted_scopes: Option<Vec<String>>,
2523    #[serde(rename = "pinned_schema_hash", skip_serializing_if = "Option::is_none")]
2524    pub pinned_schema_hash: Option<String>,
2525    #[serde(rename = "tool_schema", skip_serializing_if = "Option::is_none")]
2526    pub tool_schema: Option<std::collections::HashMap<String, serde_json::Value>>,
2527    #[serde(rename = "output_schema", skip_serializing_if = "Option::is_none")]
2528    pub output_schema: Option<std::collections::HashMap<String, serde_json::Value>>,
2529    #[serde(rename = "oauth_resource", skip_serializing_if = "Option::is_none")]
2530    pub oauth_resource: Option<String>,
2531    #[serde(rename = "receipt_id", skip_serializing_if = "Option::is_none")]
2532    pub receipt_id: Option<String>,
2533}
2534
2535impl McpAuthorizeCallRequest {
2536    pub fn new(server_id: String, tool_name: String) -> McpAuthorizeCallRequest {
2537        McpAuthorizeCallRequest {
2538            server_id,
2539            tool_name,
2540            args_hash: None,
2541            granted_scopes: None,
2542            pinned_schema_hash: None,
2543            tool_schema: None,
2544            output_schema: None,
2545            oauth_resource: None,
2546            receipt_id: None,
2547        }
2548    }
2549}
2550
2551/*
2552 * HELM Kernel API
2553 *
2554 * Deterministic execution kernel for AI tool calls. Drop-in OpenAI proxy + cryptographic receipts + offline-verifiable evidence packs.
2555 *
2556 * The version of the OpenAPI document: 0.5.1
2557 *
2558 * Generated by: https://openapi-generator.tech
2559 */
2560
2561
2562#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
2563pub struct McpCapabilityManifest {
2564    #[serde(rename = "server_name", skip_serializing_if = "Option::is_none")]
2565    pub server_name: Option<String>,
2566    #[serde(rename = "version", skip_serializing_if = "Option::is_none")]
2567    pub version: Option<String>,
2568    #[serde(rename = "governance", skip_serializing_if = "Option::is_none")]
2569    pub governance: Option<String>,
2570    #[serde(rename = "tools", skip_serializing_if = "Option::is_none")]
2571    pub tools: Option<Vec<McpToolRef>>,
2572}
2573
2574impl McpCapabilityManifest {
2575    pub fn new() -> McpCapabilityManifest {
2576        McpCapabilityManifest {
2577            server_name: None,
2578            version: None,
2579            governance: None,
2580            tools: None,
2581        }
2582    }
2583}
2584
2585/*
2586 * HELM Kernel API
2587 *
2588 * Deterministic execution kernel for AI tool calls. Drop-in OpenAI proxy + cryptographic receipts + offline-verifiable evidence packs.
2589 *
2590 * The version of the OpenAPI document: 0.5.1
2591 *
2592 * Generated by: https://openapi-generator.tech
2593 */
2594
2595
2596#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
2597pub struct McpProtectedResourceMetadata {
2598    #[serde(rename = "resource", skip_serializing_if = "Option::is_none")]
2599    pub resource: Option<String>,
2600    #[serde(rename = "authorization_servers", skip_serializing_if = "Option::is_none")]
2601    pub authorization_servers: Option<Vec<String>>,
2602    #[serde(rename = "scopes_supported", skip_serializing_if = "Option::is_none")]
2603    pub scopes_supported: Option<Vec<String>>,
2604    #[serde(rename = "bearer_methods_supported", skip_serializing_if = "Option::is_none")]
2605    pub bearer_methods_supported: Option<Vec<String>>,
2606    #[serde(rename = "resource_documentation", skip_serializing_if = "Option::is_none")]
2607    pub resource_documentation: Option<String>,
2608}
2609
2610impl McpProtectedResourceMetadata {
2611    pub fn new() -> McpProtectedResourceMetadata {
2612        McpProtectedResourceMetadata {
2613            resource: None,
2614            authorization_servers: None,
2615            scopes_supported: None,
2616            bearer_methods_supported: None,
2617            resource_documentation: None,
2618        }
2619    }
2620}
2621
2622/*
2623 * HELM Kernel API
2624 *
2625 * Deterministic execution kernel for AI tool calls. Drop-in OpenAI proxy + cryptographic receipts + offline-verifiable evidence packs.
2626 *
2627 * The version of the OpenAPI document: 0.5.1
2628 *
2629 * Generated by: https://openapi-generator.tech
2630 */
2631
2632
2633#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
2634pub struct McpQuarantineRecord {
2635    #[serde(rename = "server_id")]
2636    pub server_id: String,
2637    #[serde(rename = "name", skip_serializing_if = "Option::is_none")]
2638    pub name: Option<String>,
2639    #[serde(rename = "transport", skip_serializing_if = "Option::is_none")]
2640    pub transport: Option<String>,
2641    #[serde(rename = "endpoint", skip_serializing_if = "Option::is_none")]
2642    pub endpoint: Option<String>,
2643    #[serde(rename = "tool_names", skip_serializing_if = "Option::is_none")]
2644    pub tool_names: Option<Vec<String>>,
2645    #[serde(rename = "risk")]
2646    pub risk: McpQuarantineRecordRisk,
2647    #[serde(rename = "state")]
2648    pub state: McpQuarantineRecordState,
2649    #[serde(rename = "discovered_at")]
2650    pub discovered_at: String,
2651    #[serde(rename = "approved_at", skip_serializing_if = "Option::is_none")]
2652    pub approved_at: Option<String>,
2653    #[serde(rename = "approved_by", skip_serializing_if = "Option::is_none")]
2654    pub approved_by: Option<String>,
2655    #[serde(rename = "approval_receipt_id", skip_serializing_if = "Option::is_none")]
2656    pub approval_receipt_id: Option<String>,
2657    #[serde(rename = "revoked_at", skip_serializing_if = "Option::is_none")]
2658    pub revoked_at: Option<String>,
2659    #[serde(rename = "expires_at", skip_serializing_if = "Option::is_none")]
2660    pub expires_at: Option<String>,
2661    #[serde(rename = "reason", skip_serializing_if = "Option::is_none")]
2662    pub reason: Option<String>,
2663}
2664
2665impl McpQuarantineRecord {
2666    pub fn new(server_id: String, risk: McpQuarantineRecordRisk, state: McpQuarantineRecordState, discovered_at: String) -> McpQuarantineRecord {
2667        McpQuarantineRecord {
2668            server_id,
2669            name: None,
2670            transport: None,
2671            endpoint: None,
2672            tool_names: None,
2673            risk,
2674            state,
2675            discovered_at,
2676            approved_at: None,
2677            approved_by: None,
2678            approval_receipt_id: None,
2679            revoked_at: None,
2680            expires_at: None,
2681            reason: None,
2682        }
2683    }
2684}
2685///
2686#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
2687pub enum McpQuarantineRecordRisk {
2688    #[serde(rename = "unknown")]
2689    Unknown,
2690    #[serde(rename = "low")]
2691    Low,
2692    #[serde(rename = "medium")]
2693    Medium,
2694    #[serde(rename = "high")]
2695    High,
2696    #[serde(rename = "critical")]
2697    Critical,
2698}
2699
2700impl Default for McpQuarantineRecordRisk {
2701    fn default() -> McpQuarantineRecordRisk {
2702        Self::Unknown
2703    }
2704}
2705///
2706#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
2707pub enum McpQuarantineRecordState {
2708    #[serde(rename = "discovered")]
2709    Discovered,
2710    #[serde(rename = "quarantined")]
2711    Quarantined,
2712    #[serde(rename = "approved")]
2713    Approved,
2714    #[serde(rename = "revoked")]
2715    Revoked,
2716    #[serde(rename = "expired")]
2717    Expired,
2718}
2719
2720impl Default for McpQuarantineRecordState {
2721    fn default() -> McpQuarantineRecordState {
2722        Self::Discovered
2723    }
2724}
2725
2726/*
2727 * HELM Kernel API
2728 *
2729 * Deterministic execution kernel for AI tool calls. Drop-in OpenAI proxy + cryptographic receipts + offline-verifiable evidence packs.
2730 *
2731 * The version of the OpenAPI document: 0.5.1
2732 *
2733 * Generated by: https://openapi-generator.tech
2734 */
2735
2736
2737#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
2738pub struct McpRegistryApprovalRequest {
2739    #[serde(rename = "server_id")]
2740    pub server_id: String,
2741    #[serde(rename = "approver_id")]
2742    pub approver_id: String,
2743    #[serde(rename = "approval_receipt_id")]
2744    pub approval_receipt_id: String,
2745    #[serde(rename = "reason", skip_serializing_if = "Option::is_none")]
2746    pub reason: Option<String>,
2747}
2748
2749impl McpRegistryApprovalRequest {
2750    pub fn new(server_id: String, approver_id: String, approval_receipt_id: String) -> McpRegistryApprovalRequest {
2751        McpRegistryApprovalRequest {
2752            server_id,
2753            approver_id,
2754            approval_receipt_id,
2755            reason: None,
2756        }
2757    }
2758}
2759
2760/*
2761 * HELM Kernel API
2762 *
2763 * Deterministic execution kernel for AI tool calls. Drop-in OpenAI proxy + cryptographic receipts + offline-verifiable evidence packs.
2764 *
2765 * The version of the OpenAPI document: 0.5.1
2766 *
2767 * Generated by: https://openapi-generator.tech
2768 */
2769
2770
2771#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
2772pub struct McpRegistryDiscoverRequest {
2773    #[serde(rename = "server_id")]
2774    pub server_id: String,
2775    #[serde(rename = "name", skip_serializing_if = "Option::is_none")]
2776    pub name: Option<String>,
2777    #[serde(rename = "transport", skip_serializing_if = "Option::is_none")]
2778    pub transport: Option<String>,
2779    #[serde(rename = "endpoint", skip_serializing_if = "Option::is_none")]
2780    pub endpoint: Option<String>,
2781    #[serde(rename = "tool_names", skip_serializing_if = "Option::is_none")]
2782    pub tool_names: Option<Vec<String>>,
2783    #[serde(rename = "risk", skip_serializing_if = "Option::is_none")]
2784    pub risk: Option<McpRegistryDiscoverRequestRisk>,
2785    #[serde(rename = "reason", skip_serializing_if = "Option::is_none")]
2786    pub reason: Option<String>,
2787}
2788
2789impl McpRegistryDiscoverRequest {
2790    pub fn new(server_id: String) -> McpRegistryDiscoverRequest {
2791        McpRegistryDiscoverRequest {
2792            server_id,
2793            name: None,
2794            transport: None,
2795            endpoint: None,
2796            tool_names: None,
2797            risk: None,
2798            reason: None,
2799        }
2800    }
2801}
2802///
2803#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
2804pub enum McpRegistryDiscoverRequestRisk {
2805    #[serde(rename = "unknown")]
2806    Unknown,
2807    #[serde(rename = "low")]
2808    Low,
2809    #[serde(rename = "medium")]
2810    Medium,
2811    #[serde(rename = "high")]
2812    High,
2813    #[serde(rename = "critical")]
2814    Critical,
2815}
2816
2817impl Default for McpRegistryDiscoverRequestRisk {
2818    fn default() -> McpRegistryDiscoverRequestRisk {
2819        Self::Unknown
2820    }
2821}
2822
2823/*
2824 * HELM Kernel API
2825 *
2826 * Deterministic execution kernel for AI tool calls. Drop-in OpenAI proxy + cryptographic receipts + offline-verifiable evidence packs.
2827 *
2828 * The version of the OpenAPI document: 0.5.1
2829 *
2830 * Generated by: https://openapi-generator.tech
2831 */
2832
2833
2834#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
2835pub struct McpRemoteDiscovery {
2836    #[serde(rename = "server_name", skip_serializing_if = "Option::is_none")]
2837    pub server_name: Option<String>,
2838    #[serde(rename = "version", skip_serializing_if = "Option::is_none")]
2839    pub version: Option<String>,
2840    #[serde(rename = "capabilities_url", skip_serializing_if = "Option::is_none")]
2841    pub capabilities_url: Option<String>,
2842    #[serde(rename = "execute_url", skip_serializing_if = "Option::is_none")]
2843    pub execute_url: Option<String>,
2844    #[serde(rename = "mcp_endpoint", skip_serializing_if = "Option::is_none")]
2845    pub mcp_endpoint: Option<String>,
2846    #[serde(rename = "supported_protocol_versions", skip_serializing_if = "Option::is_none")]
2847    pub supported_protocol_versions: Option<Vec<String>>,
2848    #[serde(rename = "auth_mode", skip_serializing_if = "Option::is_none")]
2849    pub auth_mode: Option<String>,
2850    #[serde(rename = "governance", skip_serializing_if = "Option::is_none")]
2851    pub governance: Option<String>,
2852}
2853
2854impl McpRemoteDiscovery {
2855    pub fn new() -> McpRemoteDiscovery {
2856        McpRemoteDiscovery {
2857            server_name: None,
2858            version: None,
2859            capabilities_url: None,
2860            execute_url: None,
2861            mcp_endpoint: None,
2862            supported_protocol_versions: None,
2863            auth_mode: None,
2864            governance: None,
2865        }
2866    }
2867}
2868
2869/*
2870 * HELM Kernel API
2871 *
2872 * Deterministic execution kernel for AI tool calls. Drop-in OpenAI proxy + cryptographic receipts + offline-verifiable evidence packs.
2873 *
2874 * The version of the OpenAPI document: 0.5.1
2875 *
2876 * Generated by: https://openapi-generator.tech
2877 */
2878
2879
2880#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
2881pub struct McpScanRequest {
2882    #[serde(rename = "server_id")]
2883    pub server_id: String,
2884    #[serde(rename = "name", skip_serializing_if = "Option::is_none")]
2885    pub name: Option<String>,
2886    #[serde(rename = "transport", skip_serializing_if = "Option::is_none")]
2887    pub transport: Option<String>,
2888    #[serde(rename = "endpoint", skip_serializing_if = "Option::is_none")]
2889    pub endpoint: Option<String>,
2890    #[serde(rename = "tool_names", skip_serializing_if = "Option::is_none")]
2891    pub tool_names: Option<Vec<String>>,
2892    #[serde(rename = "manifest", skip_serializing_if = "Option::is_none")]
2893    pub manifest: Option<std::collections::HashMap<String, serde_json::Value>>,
2894}
2895
2896impl McpScanRequest {
2897    pub fn new(server_id: String) -> McpScanRequest {
2898        McpScanRequest {
2899            server_id,
2900            name: None,
2901            transport: None,
2902            endpoint: None,
2903            tool_names: None,
2904            manifest: None,
2905        }
2906    }
2907}
2908
2909/*
2910 * HELM Kernel API
2911 *
2912 * Deterministic execution kernel for AI tool calls. Drop-in OpenAI proxy + cryptographic receipts + offline-verifiable evidence packs.
2913 *
2914 * The version of the OpenAPI document: 0.5.1
2915 *
2916 * Generated by: https://openapi-generator.tech
2917 */
2918
2919
2920#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
2921pub struct McpScanResult {
2922    #[serde(rename = "server_id", skip_serializing_if = "Option::is_none")]
2923    pub server_id: Option<String>,
2924    #[serde(rename = "risk", skip_serializing_if = "Option::is_none")]
2925    pub risk: Option<String>,
2926    #[serde(rename = "state", skip_serializing_if = "Option::is_none")]
2927    pub state: Option<String>,
2928    #[serde(rename = "tool_count", skip_serializing_if = "Option::is_none")]
2929    pub tool_count: Option<i32>,
2930    #[serde(rename = "findings", skip_serializing_if = "Option::is_none")]
2931    pub findings: Option<Vec<String>>,
2932    #[serde(rename = "recommended_action", skip_serializing_if = "Option::is_none")]
2933    pub recommended_action: Option<String>,
2934    #[serde(rename = "quarantine_record_id", skip_serializing_if = "Option::is_none")]
2935    pub quarantine_record_id: Option<String>,
2936    #[serde(rename = "requires_approval", skip_serializing_if = "Option::is_none")]
2937    pub requires_approval: Option<bool>,
2938    #[serde(rename = "schema_pin_required", skip_serializing_if = "Option::is_none")]
2939    pub schema_pin_required: Option<bool>,
2940    #[serde(rename = "authorization_needed", skip_serializing_if = "Option::is_none")]
2941    pub authorization_needed: Option<bool>,
2942    #[serde(rename = "scanned_at", skip_serializing_if = "Option::is_none")]
2943    pub scanned_at: Option<String>,
2944}
2945
2946impl McpScanResult {
2947    pub fn new() -> McpScanResult {
2948        McpScanResult {
2949            server_id: None,
2950            risk: None,
2951            state: None,
2952            tool_count: None,
2953            findings: None,
2954            recommended_action: None,
2955            quarantine_record_id: None,
2956            requires_approval: None,
2957            schema_pin_required: None,
2958            authorization_needed: None,
2959            scanned_at: None,
2960        }
2961    }
2962}
2963
2964/*
2965 * HELM Kernel API
2966 *
2967 * Deterministic execution kernel for AI tool calls. Drop-in OpenAI proxy + cryptographic receipts + offline-verifiable evidence packs.
2968 *
2969 * The version of the OpenAPI document: 0.5.1
2970 *
2971 * Generated by: https://openapi-generator.tech
2972 */
2973
2974
2975#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
2976pub struct McpToolCallRequest {
2977    #[serde(rename = "method")]
2978    pub method: String,
2979    #[serde(rename = "params", skip_serializing_if = "Option::is_none")]
2980    pub params: Option<std::collections::HashMap<String, serde_json::Value>>,
2981}
2982
2983impl McpToolCallRequest {
2984    pub fn new(method: String) -> McpToolCallRequest {
2985        McpToolCallRequest {
2986            method,
2987            params: None,
2988        }
2989    }
2990}
2991
2992/*
2993 * HELM Kernel API
2994 *
2995 * Deterministic execution kernel for AI tool calls. Drop-in OpenAI proxy + cryptographic receipts + offline-verifiable evidence packs.
2996 *
2997 * The version of the OpenAPI document: 0.5.1
2998 *
2999 * Generated by: https://openapi-generator.tech
3000 */
3001
3002
3003#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
3004pub struct McpToolCallResponse {
3005    #[serde(rename = "result", skip_serializing_if = "Option::is_none")]
3006    pub result: Option<Box<McpToolCallResponseResult>>,
3007    #[serde(rename = "error", skip_serializing_if = "Option::is_none")]
3008    pub error: Option<String>,
3009    #[serde(rename = "reason_code", skip_serializing_if = "Option::is_none")]
3010    pub reason_code: Option<String>,
3011    #[serde(rename = "args_hash", skip_serializing_if = "Option::is_none")]
3012    pub args_hash: Option<String>,
3013    #[serde(rename = "proofgraph_node", skip_serializing_if = "Option::is_none")]
3014    pub proofgraph_node: Option<String>,
3015    #[serde(rename = "receipt_id", skip_serializing_if = "Option::is_none")]
3016    pub receipt_id: Option<String>,
3017}
3018
3019impl McpToolCallResponse {
3020    pub fn new() -> McpToolCallResponse {
3021        McpToolCallResponse {
3022            result: None,
3023            error: None,
3024            reason_code: None,
3025            args_hash: None,
3026            proofgraph_node: None,
3027            receipt_id: None,
3028        }
3029    }
3030}
3031
3032/*
3033 * HELM Kernel API
3034 *
3035 * Deterministic execution kernel for AI tool calls. Drop-in OpenAI proxy + cryptographic receipts + offline-verifiable evidence packs.
3036 *
3037 * The version of the OpenAPI document: 0.5.1
3038 *
3039 * Generated by: https://openapi-generator.tech
3040 */
3041
3042
3043/// McpToolCallResponseResult : Tool output payload
3044/// Tool output payload
3045#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
3046#[serde(untagged)]
3047pub enum McpToolCallResponseResult {
3048    String(String),
3049    Object(std::collections::HashMap<String, serde_json::Value>),
3050}
3051
3052impl Default for McpToolCallResponseResult {
3053    fn default() -> Self {
3054        Self::String(Default::default())
3055    }
3056}
3057
3058/*
3059 * HELM Kernel API
3060 *
3061 * Deterministic execution kernel for AI tool calls. Drop-in OpenAI proxy + cryptographic receipts + offline-verifiable evidence packs.
3062 *
3063 * The version of the OpenAPI document: 0.5.1
3064 *
3065 * Generated by: https://openapi-generator.tech
3066 */
3067
3068
3069#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
3070pub struct McpToolRef {
3071    #[serde(rename = "name", skip_serializing_if = "Option::is_none")]
3072    pub name: Option<String>,
3073    #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
3074    pub description: Option<String>,
3075    #[serde(rename = "server_id", skip_serializing_if = "Option::is_none")]
3076    pub server_id: Option<String>,
3077    #[serde(rename = "schema", skip_serializing_if = "Option::is_none")]
3078    pub schema: Option<std::collections::HashMap<String, serde_json::Value>>,
3079}
3080
3081impl McpToolRef {
3082    pub fn new() -> McpToolRef {
3083        McpToolRef {
3084            name: None,
3085            description: None,
3086            server_id: None,
3087            schema: None,
3088        }
3089    }
3090}
3091
3092/*
3093 * HELM Kernel API
3094 *
3095 * Deterministic execution kernel for AI tool calls. Drop-in OpenAI proxy + cryptographic receipts + offline-verifiable evidence packs.
3096 *
3097 * The version of the OpenAPI document: 0.5.1
3098 *
3099 * Generated by: https://openapi-generator.tech
3100 */
3101
3102
3103#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
3104pub struct McpjsonrpcError {
3105    #[serde(rename = "code", skip_serializing_if = "Option::is_none")]
3106    pub code: Option<i32>,
3107    #[serde(rename = "message", skip_serializing_if = "Option::is_none")]
3108    pub message: Option<String>,
3109}
3110
3111impl McpjsonrpcError {
3112    pub fn new() -> McpjsonrpcError {
3113        McpjsonrpcError {
3114            code: None,
3115            message: None,
3116        }
3117    }
3118}
3119
3120/*
3121 * HELM Kernel API
3122 *
3123 * Deterministic execution kernel for AI tool calls. Drop-in OpenAI proxy + cryptographic receipts + offline-verifiable evidence packs.
3124 *
3125 * The version of the OpenAPI document: 0.5.1
3126 *
3127 * Generated by: https://openapi-generator.tech
3128 */
3129
3130
3131#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
3132pub struct McpjsonrpcRequest {
3133    #[serde(rename = "jsonrpc")]
3134    pub jsonrpc: McpjsonrpcRequestJsonrpc,
3135    #[serde(rename = "id", skip_serializing_if = "Option::is_none")]
3136    pub id: Option<Box<McpjsonrpcRequestId>>,
3137    #[serde(rename = "method")]
3138    pub method: String,
3139    #[serde(rename = "params", skip_serializing_if = "Option::is_none")]
3140    pub params: Option<std::collections::HashMap<String, serde_json::Value>>,
3141}
3142
3143impl McpjsonrpcRequest {
3144    pub fn new(jsonrpc: McpjsonrpcRequestJsonrpc, method: String) -> McpjsonrpcRequest {
3145        McpjsonrpcRequest {
3146            jsonrpc,
3147            id: None,
3148            method,
3149            params: None,
3150        }
3151    }
3152}
3153///
3154#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
3155pub enum McpjsonrpcRequestJsonrpc {
3156    #[serde(rename = "2.0")]
3157    Variant2Period0,
3158}
3159
3160impl Default for McpjsonrpcRequestJsonrpc {
3161    fn default() -> McpjsonrpcRequestJsonrpc {
3162        Self::Variant2Period0
3163    }
3164}
3165
3166/*
3167 * HELM Kernel API
3168 *
3169 * Deterministic execution kernel for AI tool calls. Drop-in OpenAI proxy + cryptographic receipts + offline-verifiable evidence packs.
3170 *
3171 * The version of the OpenAPI document: 0.5.1
3172 *
3173 * Generated by: https://openapi-generator.tech
3174 */
3175
3176
3177/// McpjsonrpcRequestId : Request identifier. Omit for notifications.
3178/// Request identifier. Omit for notifications.
3179#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
3180#[serde(untagged)]
3181pub enum McpjsonrpcRequestId {
3182    String(String),
3183    Integer(i32),
3184}
3185
3186impl Default for McpjsonrpcRequestId {
3187    fn default() -> Self {
3188        Self::String(Default::default())
3189    }
3190}
3191
3192/*
3193 * HELM Kernel API
3194 *
3195 * Deterministic execution kernel for AI tool calls. Drop-in OpenAI proxy + cryptographic receipts + offline-verifiable evidence packs.
3196 *
3197 * The version of the OpenAPI document: 0.5.1
3198 *
3199 * Generated by: https://openapi-generator.tech
3200 */
3201
3202
3203#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
3204pub struct McpjsonrpcResponse {
3205    #[serde(rename = "jsonrpc", skip_serializing_if = "Option::is_none")]
3206    pub jsonrpc: Option<McpjsonrpcResponseJsonrpc>,
3207    #[serde(rename = "id", skip_serializing_if = "Option::is_none")]
3208    pub id: Option<Box<McpjsonrpcResponseId>>,
3209    #[serde(rename = "result", skip_serializing_if = "Option::is_none")]
3210    pub result: Option<std::collections::HashMap<String, serde_json::Value>>,
3211    #[serde(rename = "error", skip_serializing_if = "Option::is_none")]
3212    pub error: Option<Box<McpjsonrpcError>>,
3213}
3214
3215impl McpjsonrpcResponse {
3216    pub fn new() -> McpjsonrpcResponse {
3217        McpjsonrpcResponse {
3218            jsonrpc: None,
3219            id: None,
3220            result: None,
3221            error: None,
3222        }
3223    }
3224}
3225///
3226#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
3227pub enum McpjsonrpcResponseJsonrpc {
3228    #[serde(rename = "2.0")]
3229    Variant2Period0,
3230}
3231
3232impl Default for McpjsonrpcResponseJsonrpc {
3233    fn default() -> McpjsonrpcResponseJsonrpc {
3234        Self::Variant2Period0
3235    }
3236}
3237
3238/*
3239 * HELM Kernel API
3240 *
3241 * Deterministic execution kernel for AI tool calls. Drop-in OpenAI proxy + cryptographic receipts + offline-verifiable evidence packs.
3242 *
3243 * The version of the OpenAPI document: 0.5.1
3244 *
3245 * Generated by: https://openapi-generator.tech
3246 */
3247
3248
3249#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
3250#[serde(untagged)]
3251pub enum McpjsonrpcResponseId {
3252    String(String),
3253    Integer(i32),
3254}
3255
3256impl Default for McpjsonrpcResponseId {
3257    fn default() -> Self {
3258        Self::String(Default::default())
3259    }
3260}
3261
3262/*
3263 * HELM Kernel API
3264 *
3265 * Deterministic execution kernel for AI tool calls. Drop-in OpenAI proxy + cryptographic receipts + offline-verifiable evidence packs.
3266 *
3267 * The version of the OpenAPI document: 0.5.1
3268 *
3269 * Generated by: https://openapi-generator.tech
3270 */
3271
3272
3273#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
3274pub struct NegativeBoundaryVector {
3275    #[serde(rename = "id")]
3276    pub id: String,
3277    #[serde(rename = "category")]
3278    pub category: String,
3279    #[serde(rename = "trigger")]
3280    pub trigger: String,
3281    #[serde(rename = "expected_verdict")]
3282    pub expected_verdict: NegativeBoundaryVectorExpectedVerdict,
3283    #[serde(rename = "expected_reason_code")]
3284    pub expected_reason_code: String,
3285    #[serde(rename = "must_emit_receipt")]
3286    pub must_emit_receipt: bool,
3287    #[serde(rename = "must_not_dispatch")]
3288    pub must_not_dispatch: bool,
3289    #[serde(rename = "must_bind_evidence", skip_serializing_if = "Option::is_none")]
3290    pub must_bind_evidence: Option<Vec<String>>,
3291}
3292
3293impl NegativeBoundaryVector {
3294    pub fn new(id: String, category: String, trigger: String, expected_verdict: NegativeBoundaryVectorExpectedVerdict, expected_reason_code: String, must_emit_receipt: bool, must_not_dispatch: bool) -> NegativeBoundaryVector {
3295        NegativeBoundaryVector {
3296            id,
3297            category,
3298            trigger,
3299            expected_verdict,
3300            expected_reason_code,
3301            must_emit_receipt,
3302            must_not_dispatch,
3303            must_bind_evidence: None,
3304        }
3305    }
3306}
3307///
3308#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
3309pub enum NegativeBoundaryVectorExpectedVerdict {
3310    #[serde(rename = "ALLOW")]
3311    Allow,
3312    #[serde(rename = "DENY")]
3313    Deny,
3314    #[serde(rename = "ESCALATE")]
3315    Escalate,
3316}
3317
3318impl Default for NegativeBoundaryVectorExpectedVerdict {
3319    fn default() -> NegativeBoundaryVectorExpectedVerdict {
3320        Self::Allow
3321    }
3322}
3323
3324/*
3325 * HELM Kernel API
3326 *
3327 * Deterministic execution kernel for AI tool calls. Drop-in OpenAI proxy + cryptographic receipts + offline-verifiable evidence packs.
3328 *
3329 * The version of the OpenAPI document: 0.5.1
3330 *
3331 * Generated by: https://openapi-generator.tech
3332 */
3333
3334
3335#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
3336pub struct NetworkGrant {
3337    #[serde(rename = "mode")]
3338    pub mode: NetworkGrantMode,
3339    #[serde(rename = "destinations", skip_serializing_if = "Option::is_none")]
3340    pub destinations: Option<Vec<String>>,
3341    #[serde(rename = "cidrs", skip_serializing_if = "Option::is_none")]
3342    pub cidrs: Option<Vec<String>>,
3343}
3344
3345impl NetworkGrant {
3346    pub fn new(mode: NetworkGrantMode) -> NetworkGrant {
3347        NetworkGrant {
3348            mode,
3349            destinations: None,
3350            cidrs: None,
3351        }
3352    }
3353}
3354///
3355#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
3356pub enum NetworkGrantMode {
3357    #[serde(rename = "deny-all")]
3358    DenyAll,
3359    #[serde(rename = "allowlist")]
3360    Allowlist,
3361}
3362
3363impl Default for NetworkGrantMode {
3364    fn default() -> NetworkGrantMode {
3365        Self::DenyAll
3366    }
3367}
3368
3369/*
3370 * HELM Kernel API
3371 *
3372 * Deterministic execution kernel for AI tool calls. Drop-in OpenAI proxy + cryptographic receipts + offline-verifiable evidence packs.
3373 *
3374 * The version of the OpenAPI document: 0.5.1
3375 *
3376 * Generated by: https://openapi-generator.tech
3377 */
3378
3379
3380/// PdpRequest : Request to the Policy Decision Point
3381#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
3382pub struct PdpRequest {
3383    #[serde(rename = "boundary")]
3384    pub boundary: Box<EffectBoundary>,
3385}
3386
3387impl PdpRequest {
3388    /// Request to the Policy Decision Point
3389    pub fn new(boundary: EffectBoundary) -> PdpRequest {
3390        PdpRequest {
3391            boundary: Box::new(boundary),
3392        }
3393    }
3394}
3395
3396/*
3397 * HELM Kernel API
3398 *
3399 * Deterministic execution kernel for AI tool calls. Drop-in OpenAI proxy + cryptographic receipts + offline-verifiable evidence packs.
3400 *
3401 * The version of the OpenAPI document: 0.5.1
3402 *
3403 * Generated by: https://openapi-generator.tech
3404 */
3405
3406
3407/// PdpResponse : Response from the Policy Decision Point
3408#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
3409pub struct PdpResponse {
3410    #[serde(rename = "decision")]
3411    pub decision: Box<GovernanceDecision>,
3412}
3413
3414impl PdpResponse {
3415    /// Response from the Policy Decision Point
3416    pub fn new(decision: GovernanceDecision) -> PdpResponse {
3417        PdpResponse {
3418            decision: Box::new(decision),
3419        }
3420    }
3421}
3422
3423/*
3424 * HELM Kernel API
3425 *
3426 * Deterministic execution kernel for AI tool calls. Drop-in OpenAI proxy + cryptographic receipts + offline-verifiable evidence packs.
3427 *
3428 * The version of the OpenAPI document: 0.5.1
3429 *
3430 * Generated by: https://openapi-generator.tech
3431 */
3432
3433
3434/// PolicyBundle : A loaded policy bundle (jurisdiction, industry, or business pack)
3435#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
3436pub struct PolicyBundle {
3437    #[serde(rename = "name")]
3438    pub name: String,
3439    #[serde(rename = "version")]
3440    pub version: String,
3441    /// SHA-256 of the bundle contents
3442    #[serde(rename = "content_hash")]
3443    pub content_hash: String,
3444    /// Ed25519 signature over content_hash
3445    #[serde(rename = "signature", default, skip_serializing_if = "Option::is_none")]
3446    pub signature: Option<Option<String>>,
3447    #[serde(rename = "pack_type", skip_serializing_if = "Option::is_none")]
3448    pub pack_type: Option<PolicyBundlePackType>,
3449}
3450
3451impl PolicyBundle {
3452    /// A loaded policy bundle (jurisdiction, industry, or business pack)
3453    pub fn new(name: String, version: String, content_hash: String) -> PolicyBundle {
3454        PolicyBundle {
3455            name,
3456            version,
3457            content_hash,
3458            signature: None,
3459            pack_type: None,
3460        }
3461    }
3462}
3463///
3464#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
3465pub enum PolicyBundlePackType {
3466    #[serde(rename = "jurisdiction")]
3467    Jurisdiction,
3468    #[serde(rename = "industry")]
3469    Industry,
3470    #[serde(rename = "business")]
3471    Business,
3472    #[serde(rename = "custom")]
3473    Custom,
3474}
3475
3476impl Default for PolicyBundlePackType {
3477    fn default() -> PolicyBundlePackType {
3478        Self::Jurisdiction
3479    }
3480}
3481
3482/*
3483 * HELM Kernel API
3484 *
3485 * Deterministic execution kernel for AI tool calls. Drop-in OpenAI proxy + cryptographic receipts + offline-verifiable evidence packs.
3486 *
3487 * The version of the OpenAPI document: 0.5.1
3488 *
3489 * Generated by: https://openapi-generator.tech
3490 */
3491
3492
3493#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
3494pub struct Receipt {
3495    #[serde(rename = "receipt_id", skip_serializing_if = "Option::is_none")]
3496    pub receipt_id: Option<String>,
3497    #[serde(rename = "decision_id", skip_serializing_if = "Option::is_none")]
3498    pub decision_id: Option<String>,
3499    #[serde(rename = "effect_id", skip_serializing_if = "Option::is_none")]
3500    pub effect_id: Option<String>,
3501    #[serde(rename = "status", skip_serializing_if = "Option::is_none")]
3502    pub status: Option<String>,
3503    #[serde(rename = "reason_code", skip_serializing_if = "Option::is_none")]
3504    pub reason_code: Option<String>,
3505    #[serde(rename = "output_hash", skip_serializing_if = "Option::is_none")]
3506    pub output_hash: Option<String>,
3507    #[serde(rename = "blob_hash", skip_serializing_if = "Option::is_none")]
3508    pub blob_hash: Option<String>,
3509    #[serde(rename = "prev_hash", skip_serializing_if = "Option::is_none")]
3510    pub prev_hash: Option<String>,
3511    #[serde(rename = "lamport_clock", skip_serializing_if = "Option::is_none")]
3512    pub lamport_clock: Option<i32>,
3513    #[serde(rename = "signature", skip_serializing_if = "Option::is_none")]
3514    pub signature: Option<String>,
3515    #[serde(rename = "timestamp", skip_serializing_if = "Option::is_none")]
3516    pub timestamp: Option<String>,
3517    #[serde(rename = "principal", skip_serializing_if = "Option::is_none")]
3518    pub principal: Option<String>,
3519    #[serde(rename = "executor_id", skip_serializing_if = "Option::is_none")]
3520    pub executor_id: Option<String>,
3521    #[serde(rename = "args_hash", skip_serializing_if = "Option::is_none")]
3522    pub args_hash: Option<String>,
3523    #[serde(rename = "metadata", skip_serializing_if = "Option::is_none")]
3524    pub metadata: Option<std::collections::HashMap<String, serde_json::Value>>,
3525}
3526
3527impl Receipt {
3528    pub fn new() -> Receipt {
3529        Receipt {
3530            receipt_id: None,
3531            decision_id: None,
3532            effect_id: None,
3533            status: None,
3534            reason_code: None,
3535            output_hash: None,
3536            blob_hash: None,
3537            prev_hash: None,
3538            lamport_clock: None,
3539            signature: None,
3540            timestamp: None,
3541            principal: None,
3542            executor_id: None,
3543            args_hash: None,
3544            metadata: None,
3545        }
3546    }
3547}
3548
3549/*
3550 * HELM Kernel API
3551 *
3552 * Deterministic execution kernel for AI tool calls. Drop-in OpenAI proxy + cryptographic receipts + offline-verifiable evidence packs.
3553 *
3554 * The version of the OpenAPI document: 0.5.1
3555 *
3556 * Generated by: https://openapi-generator.tech
3557 */
3558
3559
3560#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
3561pub struct ReceiptListResponse {
3562    #[serde(rename = "receipts", skip_serializing_if = "Option::is_none")]
3563    pub receipts: Option<Vec<Receipt>>,
3564    #[serde(rename = "count", skip_serializing_if = "Option::is_none")]
3565    pub count: Option<i32>,
3566    #[serde(rename = "next_cursor", skip_serializing_if = "Option::is_none")]
3567    pub next_cursor: Option<String>,
3568    #[serde(rename = "has_more", skip_serializing_if = "Option::is_none")]
3569    pub has_more: Option<bool>,
3570}
3571
3572impl ReceiptListResponse {
3573    pub fn new() -> ReceiptListResponse {
3574        ReceiptListResponse {
3575            receipts: None,
3576            count: None,
3577            next_cursor: None,
3578            has_more: None,
3579        }
3580    }
3581}
3582
3583/*
3584 * HELM Kernel API
3585 *
3586 * Deterministic execution kernel for AI tool calls. Drop-in OpenAI proxy + cryptographic receipts + offline-verifiable evidence packs.
3587 *
3588 * The version of the OpenAPI document: 0.5.1
3589 *
3590 * Generated by: https://openapi-generator.tech
3591 */
3592
3593
3594#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
3595pub struct RevokeMcpRegistryRecordRequest {
3596    #[serde(rename = "reason", skip_serializing_if = "Option::is_none")]
3597    pub reason: Option<String>,
3598}
3599
3600impl RevokeMcpRegistryRecordRequest {
3601    pub fn new() -> RevokeMcpRegistryRecordRequest {
3602        RevokeMcpRegistryRecordRequest {
3603            reason: None,
3604        }
3605    }
3606}
3607
3608/*
3609 * HELM Kernel API
3610 *
3611 * Deterministic execution kernel for AI tool calls. Drop-in OpenAI proxy + cryptographic receipts + offline-verifiable evidence packs.
3612 *
3613 * The version of the OpenAPI document: 0.5.1
3614 *
3615 * Generated by: https://openapi-generator.tech
3616 */
3617
3618
3619#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
3620pub struct RevokeTrustKeyRequest {
3621    #[serde(rename = "tenant_id")]
3622    pub tenant_id: String,
3623    #[serde(rename = "key_id")]
3624    pub key_id: String,
3625}
3626
3627impl RevokeTrustKeyRequest {
3628    pub fn new(tenant_id: String, key_id: String) -> RevokeTrustKeyRequest {
3629        RevokeTrustKeyRequest {
3630            tenant_id,
3631            key_id,
3632        }
3633    }
3634}
3635
3636/*
3637 * HELM Kernel API
3638 *
3639 * Deterministic execution kernel for AI tool calls. Drop-in OpenAI proxy + cryptographic receipts + offline-verifiable evidence packs.
3640 *
3641 * The version of the OpenAPI document: 0.5.1
3642 *
3643 * Generated by: https://openapi-generator.tech
3644 */
3645
3646
3647#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
3648pub struct RunAgentUiRuntimeRequest {
3649    #[serde(rename = "threadId", skip_serializing_if = "Option::is_none")]
3650    pub thread_id: Option<String>,
3651    #[serde(rename = "runId", skip_serializing_if = "Option::is_none")]
3652    pub run_id: Option<String>,
3653    #[serde(rename = "workspaceId", skip_serializing_if = "Option::is_none")]
3654    pub workspace_id: Option<String>,
3655    #[serde(rename = "currentSurface", skip_serializing_if = "Option::is_none")]
3656    pub current_surface: Option<String>,
3657    #[serde(rename = "state", skip_serializing_if = "Option::is_none")]
3658    pub state: Option<std::collections::HashMap<String, serde_json::Value>>,
3659    #[serde(rename = "messages", default, skip_serializing_if = "Option::is_none")]
3660    pub messages: Option<Option<serde_json::Value>>,
3661}
3662
3663impl RunAgentUiRuntimeRequest {
3664    pub fn new() -> RunAgentUiRuntimeRequest {
3665        RunAgentUiRuntimeRequest {
3666            thread_id: None,
3667            run_id: None,
3668            workspace_id: None,
3669            current_surface: None,
3670            state: None,
3671            messages: None,
3672        }
3673    }
3674}
3675
3676/*
3677 * HELM Kernel API
3678 *
3679 * Deterministic execution kernel for AI tool calls. Drop-in OpenAI proxy + cryptographic receipts + offline-verifiable evidence packs.
3680 *
3681 * The version of the OpenAPI document: 0.5.1
3682 *
3683 * Generated by: https://openapi-generator.tech
3684 */
3685
3686
3687#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
3688pub struct RunPublicDemo200Response {
3689    #[serde(rename = "verdict")]
3690    pub verdict: RunPublicDemo200ResponseVerdict,
3691    #[serde(rename = "reason_code")]
3692    pub reason_code: String,
3693    #[serde(rename = "receipt")]
3694    pub receipt: Box<Receipt>,
3695    #[serde(rename = "proof_refs")]
3696    pub proof_refs: Box<RunPublicDemo200ResponseProofRefs>,
3697    #[serde(rename = "verification_hint")]
3698    pub verification_hint: String,
3699    #[serde(rename = "sandbox_label")]
3700    pub sandbox_label: String,
3701    #[serde(rename = "helm_ai_kernel_version")]
3702    pub helm_ai_kernel_version: String,
3703}
3704
3705impl RunPublicDemo200Response {
3706    pub fn new(verdict: RunPublicDemo200ResponseVerdict, reason_code: String, receipt: Receipt, proof_refs: RunPublicDemo200ResponseProofRefs, verification_hint: String, sandbox_label: String, helm_ai_kernel_version: String) -> RunPublicDemo200Response {
3707        RunPublicDemo200Response {
3708            verdict,
3709            reason_code,
3710            receipt: Box::new(receipt),
3711            proof_refs: Box::new(proof_refs),
3712            verification_hint,
3713            sandbox_label,
3714            helm_ai_kernel_version,
3715        }
3716    }
3717}
3718///
3719#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
3720pub enum RunPublicDemo200ResponseVerdict {
3721    #[serde(rename = "ALLOW")]
3722    Allow,
3723    #[serde(rename = "DENY")]
3724    Deny,
3725    #[serde(rename = "ESCALATE")]
3726    Escalate,
3727}
3728
3729impl Default for RunPublicDemo200ResponseVerdict {
3730    fn default() -> RunPublicDemo200ResponseVerdict {
3731        Self::Allow
3732    }
3733}
3734
3735/*
3736 * HELM Kernel API
3737 *
3738 * Deterministic execution kernel for AI tool calls. Drop-in OpenAI proxy + cryptographic receipts + offline-verifiable evidence packs.
3739 *
3740 * The version of the OpenAPI document: 0.5.1
3741 *
3742 * Generated by: https://openapi-generator.tech
3743 */
3744
3745
3746#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
3747pub struct RunPublicDemo200ResponseProofRefs {
3748    #[serde(rename = "decision_id")]
3749    pub decision_id: String,
3750    #[serde(rename = "receipt_id")]
3751    pub receipt_id: String,
3752    #[serde(rename = "receipt_hash")]
3753    pub receipt_hash: String,
3754}
3755
3756impl RunPublicDemo200ResponseProofRefs {
3757    pub fn new(decision_id: String, receipt_id: String, receipt_hash: String) -> RunPublicDemo200ResponseProofRefs {
3758        RunPublicDemo200ResponseProofRefs {
3759            decision_id,
3760            receipt_id,
3761            receipt_hash,
3762        }
3763    }
3764}
3765
3766/*
3767 * HELM Kernel API
3768 *
3769 * Deterministic execution kernel for AI tool calls. Drop-in OpenAI proxy + cryptographic receipts + offline-verifiable evidence packs.
3770 *
3771 * The version of the OpenAPI document: 0.5.1
3772 *
3773 * Generated by: https://openapi-generator.tech
3774 */
3775
3776
3777#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
3778pub struct RunPublicDemoRequest {
3779    #[serde(rename = "action_id")]
3780    pub action_id: RunPublicDemoRequestActionId,
3781    #[serde(rename = "policy_id", skip_serializing_if = "Option::is_none")]
3782    pub policy_id: Option<String>,
3783    #[serde(rename = "args", skip_serializing_if = "Option::is_none")]
3784    pub args: Option<std::collections::HashMap<String, serde_json::Value>>,
3785}
3786
3787impl RunPublicDemoRequest {
3788    pub fn new(action_id: RunPublicDemoRequestActionId) -> RunPublicDemoRequest {
3789        RunPublicDemoRequest {
3790            action_id,
3791            policy_id: None,
3792            args: None,
3793        }
3794    }
3795}
3796///
3797#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
3798pub enum RunPublicDemoRequestActionId {
3799    #[serde(rename = "read_ticket")]
3800    ReadTicket,
3801    #[serde(rename = "draft_reply")]
3802    DraftReply,
3803    #[serde(rename = "small_refund")]
3804    SmallRefund,
3805    #[serde(rename = "large_refund")]
3806    LargeRefund,
3807    #[serde(rename = "dangerous_shell")]
3808    DangerousShell,
3809    #[serde(rename = "export_customer_list")]
3810    ExportCustomerList,
3811    #[serde(rename = "modify_policy")]
3812    ModifyPolicy,
3813}
3814
3815impl Default for RunPublicDemoRequestActionId {
3816    fn default() -> RunPublicDemoRequestActionId {
3817        Self::ReadTicket
3818    }
3819}
3820
3821/*
3822 * HELM Kernel API
3823 *
3824 * Deterministic execution kernel for AI tool calls. Drop-in OpenAI proxy + cryptographic receipts + offline-verifiable evidence packs.
3825 *
3826 * The version of the OpenAPI document: 0.5.1
3827 *
3828 * Generated by: https://openapi-generator.tech
3829 */
3830
3831
3832#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
3833pub struct SandboxBackendProfile {
3834    #[serde(rename = "name")]
3835    pub name: String,
3836    #[serde(rename = "kind")]
3837    pub kind: SandboxBackendProfileKind,
3838    #[serde(rename = "runtime")]
3839    pub runtime: String,
3840    #[serde(rename = "hosted")]
3841    pub hosted: bool,
3842    #[serde(rename = "deny_network_by_default")]
3843    pub deny_network_by_default: bool,
3844    #[serde(rename = "native_isolation")]
3845    pub native_isolation: bool,
3846    #[serde(rename = "experimental", skip_serializing_if = "Option::is_none")]
3847    pub experimental: Option<bool>,
3848}
3849
3850impl SandboxBackendProfile {
3851    pub fn new(name: String, kind: SandboxBackendProfileKind, runtime: String, hosted: bool, deny_network_by_default: bool, native_isolation: bool) -> SandboxBackendProfile {
3852        SandboxBackendProfile {
3853            name,
3854            kind,
3855            runtime,
3856            hosted,
3857            deny_network_by_default,
3858            native_isolation,
3859            experimental: None,
3860        }
3861    }
3862}
3863///
3864#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
3865pub enum SandboxBackendProfileKind {
3866    #[serde(rename = "wasi-wazero")]
3867    WasiWazero,
3868    #[serde(rename = "wasi-wasmtime")]
3869    WasiWasmtime,
3870    #[serde(rename = "native-nsjail")]
3871    NativeNsjail,
3872    #[serde(rename = "native-gvisor")]
3873    NativeGvisor,
3874    #[serde(rename = "native-firecracker")]
3875    NativeFirecracker,
3876    #[serde(rename = "hosted-adapter")]
3877    HostedAdapter,
3878}
3879
3880impl Default for SandboxBackendProfileKind {
3881    fn default() -> SandboxBackendProfileKind {
3882        Self::WasiWazero
3883    }
3884}
3885
3886/*
3887 * HELM Kernel API
3888 *
3889 * Deterministic execution kernel for AI tool calls. Drop-in OpenAI proxy + cryptographic receipts + offline-verifiable evidence packs.
3890 *
3891 * The version of the OpenAPI document: 0.5.1
3892 *
3893 * Generated by: https://openapi-generator.tech
3894 */
3895
3896
3897#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
3898pub struct SandboxGrant {
3899    #[serde(rename = "grant_id")]
3900    pub grant_id: String,
3901    #[serde(rename = "runtime")]
3902    pub runtime: String,
3903    #[serde(rename = "runtime_version", skip_serializing_if = "Option::is_none")]
3904    pub runtime_version: Option<String>,
3905    #[serde(rename = "profile")]
3906    pub profile: String,
3907    #[serde(rename = "image_digest", skip_serializing_if = "Option::is_none")]
3908    pub image_digest: Option<String>,
3909    #[serde(rename = "template_digest", skip_serializing_if = "Option::is_none")]
3910    pub template_digest: Option<String>,
3911    #[serde(rename = "filesystem_preopens", skip_serializing_if = "Option::is_none")]
3912    pub filesystem_preopens: Option<Vec<FilesystemPreopen>>,
3913    #[serde(rename = "env")]
3914    pub env: Box<EnvExposurePolicy>,
3915    #[serde(rename = "network")]
3916    pub network: Box<NetworkGrant>,
3917    #[serde(rename = "limits", skip_serializing_if = "Option::is_none")]
3918    pub limits: Option<Box<SandboxGrantLimits>>,
3919    #[serde(rename = "declared_at")]
3920    pub declared_at: String,
3921    #[serde(rename = "policy_epoch", skip_serializing_if = "Option::is_none")]
3922    pub policy_epoch: Option<String>,
3923    #[serde(rename = "grant_hash", skip_serializing_if = "Option::is_none")]
3924    pub grant_hash: Option<String>,
3925}
3926
3927impl SandboxGrant {
3928    pub fn new(grant_id: String, runtime: String, profile: String, env: EnvExposurePolicy, network: NetworkGrant, declared_at: String) -> SandboxGrant {
3929        SandboxGrant {
3930            grant_id,
3931            runtime,
3932            runtime_version: None,
3933            profile,
3934            image_digest: None,
3935            template_digest: None,
3936            filesystem_preopens: None,
3937            env: Box::new(env),
3938            network: Box::new(network),
3939            limits: None,
3940            declared_at,
3941            policy_epoch: None,
3942            grant_hash: None,
3943        }
3944    }
3945}
3946
3947/*
3948 * HELM Kernel API
3949 *
3950 * Deterministic execution kernel for AI tool calls. Drop-in OpenAI proxy + cryptographic receipts + offline-verifiable evidence packs.
3951 *
3952 * The version of the OpenAPI document: 0.5.1
3953 *
3954 * Generated by: https://openapi-generator.tech
3955 */
3956
3957
3958#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
3959#[serde(untagged)]
3960pub enum SandboxGrantInspection {
3961    SandboxBackendProfileList(Vec<SandboxBackendProfile>),
3962    SandboxGrant(Box<SandboxGrant>),
3963}
3964
3965impl Default for SandboxGrantInspection {
3966    fn default() -> Self {
3967        Self::SandboxBackendProfileList(Default::default())
3968    }
3969}
3970
3971/*
3972 * HELM Kernel API
3973 *
3974 * Deterministic execution kernel for AI tool calls. Drop-in OpenAI proxy + cryptographic receipts + offline-verifiable evidence packs.
3975 *
3976 * The version of the OpenAPI document: 0.5.1
3977 *
3978 * Generated by: https://openapi-generator.tech
3979 */
3980
3981
3982#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
3983pub struct SandboxGrantLimits {
3984    #[serde(rename = "memory_bytes", skip_serializing_if = "Option::is_none")]
3985    pub memory_bytes: Option<i64>,
3986    /// Go duration in nanoseconds.
3987    #[serde(rename = "cpu_time", skip_serializing_if = "Option::is_none")]
3988    pub cpu_time: Option<i64>,
3989    #[serde(rename = "output_bytes", skip_serializing_if = "Option::is_none")]
3990    pub output_bytes: Option<i64>,
3991    #[serde(rename = "open_files", skip_serializing_if = "Option::is_none")]
3992    pub open_files: Option<i32>,
3993}
3994
3995impl SandboxGrantLimits {
3996    pub fn new() -> SandboxGrantLimits {
3997        SandboxGrantLimits {
3998            memory_bytes: None,
3999            cpu_time: None,
4000            output_bytes: None,
4001            open_files: None,
4002        }
4003    }
4004}
4005
4006/*
4007 * HELM Kernel API
4008 *
4009 * Deterministic execution kernel for AI tool calls. Drop-in OpenAI proxy + cryptographic receipts + offline-verifiable evidence packs.
4010 *
4011 * The version of the OpenAPI document: 0.5.1
4012 *
4013 * Generated by: https://openapi-generator.tech
4014 */
4015
4016
4017#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
4018pub struct SandboxPreflightRequest {
4019    #[serde(rename = "runtime", skip_serializing_if = "Option::is_none")]
4020    pub runtime: Option<String>,
4021    #[serde(rename = "profile", skip_serializing_if = "Option::is_none")]
4022    pub profile: Option<String>,
4023    #[serde(rename = "image_digest", skip_serializing_if = "Option::is_none")]
4024    pub image_digest: Option<String>,
4025    #[serde(rename = "policy_epoch", skip_serializing_if = "Option::is_none")]
4026    pub policy_epoch: Option<String>,
4027    #[serde(rename = "requested_grant", skip_serializing_if = "Option::is_none")]
4028    pub requested_grant: Option<Box<SandboxGrant>>,
4029    #[serde(rename = "expected_grant_hash", skip_serializing_if = "Option::is_none")]
4030    pub expected_grant_hash: Option<String>,
4031}
4032
4033impl SandboxPreflightRequest {
4034    pub fn new() -> SandboxPreflightRequest {
4035        SandboxPreflightRequest {
4036            runtime: None,
4037            profile: None,
4038            image_digest: None,
4039            policy_epoch: None,
4040            requested_grant: None,
4041            expected_grant_hash: None,
4042        }
4043    }
4044}
4045
4046/*
4047 * HELM Kernel API
4048 *
4049 * Deterministic execution kernel for AI tool calls. Drop-in OpenAI proxy + cryptographic receipts + offline-verifiable evidence packs.
4050 *
4051 * The version of the OpenAPI document: 0.5.1
4052 *
4053 * Generated by: https://openapi-generator.tech
4054 */
4055
4056
4057#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
4058pub struct SandboxPreflightResult {
4059    #[serde(rename = "verdict", skip_serializing_if = "Option::is_none")]
4060    pub verdict: Option<SandboxPreflightResultVerdict>,
4061    #[serde(rename = "reason_code", skip_serializing_if = "Option::is_none")]
4062    pub reason_code: Option<String>,
4063    #[serde(rename = "grant_id", skip_serializing_if = "Option::is_none")]
4064    pub grant_id: Option<String>,
4065    #[serde(rename = "grant_hash", skip_serializing_if = "Option::is_none")]
4066    pub grant_hash: Option<String>,
4067    #[serde(rename = "dispatch_ready", skip_serializing_if = "Option::is_none")]
4068    pub dispatch_ready: Option<bool>,
4069    #[serde(rename = "findings", skip_serializing_if = "Option::is_none")]
4070    pub findings: Option<Vec<String>>,
4071    #[serde(rename = "checked_at", skip_serializing_if = "Option::is_none")]
4072    pub checked_at: Option<String>,
4073}
4074
4075impl SandboxPreflightResult {
4076    pub fn new() -> SandboxPreflightResult {
4077        SandboxPreflightResult {
4078            verdict: None,
4079            reason_code: None,
4080            grant_id: None,
4081            grant_hash: None,
4082            dispatch_ready: None,
4083            findings: None,
4084            checked_at: None,
4085        }
4086    }
4087}
4088///
4089#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
4090pub enum SandboxPreflightResultVerdict {
4091    #[serde(rename = "ALLOW")]
4092    Allow,
4093    #[serde(rename = "DENY")]
4094    Deny,
4095    #[serde(rename = "ESCALATE")]
4096    Escalate,
4097}
4098
4099impl Default for SandboxPreflightResultVerdict {
4100    fn default() -> SandboxPreflightResultVerdict {
4101        Self::Allow
4102    }
4103}
4104
4105/*
4106 * HELM Kernel API
4107 *
4108 * Deterministic execution kernel for AI tool calls. Drop-in OpenAI proxy + cryptographic receipts + offline-verifiable evidence packs.
4109 *
4110 * The version of the OpenAPI document: 0.5.1
4111 *
4112 * Generated by: https://openapi-generator.tech
4113 */
4114
4115
4116#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
4117pub struct Session {
4118    #[serde(rename = "session_id", skip_serializing_if = "Option::is_none")]
4119    pub session_id: Option<String>,
4120    #[serde(rename = "created_at", skip_serializing_if = "Option::is_none")]
4121    pub created_at: Option<String>,
4122    #[serde(rename = "receipt_count", skip_serializing_if = "Option::is_none")]
4123    pub receipt_count: Option<i32>,
4124    #[serde(rename = "last_lamport_clock", skip_serializing_if = "Option::is_none")]
4125    pub last_lamport_clock: Option<i32>,
4126}
4127
4128impl Session {
4129    pub fn new() -> Session {
4130        Session {
4131            session_id: None,
4132            created_at: None,
4133            receipt_count: None,
4134            last_lamport_clock: None,
4135        }
4136    }
4137}
4138
4139/*
4140 * HELM Kernel API
4141 *
4142 * Deterministic execution kernel for AI tool calls. Drop-in OpenAI proxy + cryptographic receipts + offline-verifiable evidence packs.
4143 *
4144 * The version of the OpenAPI document: 0.5.1
4145 *
4146 * Generated by: https://openapi-generator.tech
4147 */
4148
4149
4150#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
4151pub struct TamperPublicDemoReceipt200Response {
4152    #[serde(rename = "valid")]
4153    pub valid: bool,
4154    #[serde(rename = "signature_valid")]
4155    pub signature_valid: bool,
4156    #[serde(rename = "hash_matches")]
4157    pub hash_matches: bool,
4158    #[serde(rename = "reason")]
4159    pub reason: String,
4160    #[serde(rename = "receipt_hash")]
4161    pub receipt_hash: String,
4162    #[serde(rename = "expected_receipt_hash")]
4163    pub expected_receipt_hash: String,
4164    #[serde(rename = "original_hash")]
4165    pub original_hash: String,
4166    #[serde(rename = "tampered_hash")]
4167    pub tampered_hash: String,
4168}
4169
4170impl TamperPublicDemoReceipt200Response {
4171    pub fn new(valid: bool, signature_valid: bool, hash_matches: bool, reason: String, receipt_hash: String, expected_receipt_hash: String, original_hash: String, tampered_hash: String) -> TamperPublicDemoReceipt200Response {
4172        TamperPublicDemoReceipt200Response {
4173            valid,
4174            signature_valid,
4175            hash_matches,
4176            reason,
4177            receipt_hash,
4178            expected_receipt_hash,
4179            original_hash,
4180            tampered_hash,
4181        }
4182    }
4183}
4184
4185/*
4186 * HELM Kernel API
4187 *
4188 * Deterministic execution kernel for AI tool calls. Drop-in OpenAI proxy + cryptographic receipts + offline-verifiable evidence packs.
4189 *
4190 * The version of the OpenAPI document: 0.5.1
4191 *
4192 * Generated by: https://openapi-generator.tech
4193 */
4194
4195
4196#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
4197pub struct TamperPublicDemoReceiptRequest {
4198    #[serde(rename = "receipt")]
4199    pub receipt: Box<Receipt>,
4200    /// Receipt hash returned in /api/demo/run proof_refs.receipt_hash.
4201    #[serde(rename = "expected_receipt_hash")]
4202    pub expected_receipt_hash: String,
4203    #[serde(rename = "mutation", skip_serializing_if = "Option::is_none")]
4204    pub mutation: Option<String>,
4205}
4206
4207impl TamperPublicDemoReceiptRequest {
4208    pub fn new(receipt: Receipt, expected_receipt_hash: String) -> TamperPublicDemoReceiptRequest {
4209        TamperPublicDemoReceiptRequest {
4210            receipt: Box::new(receipt),
4211            expected_receipt_hash,
4212            mutation: None,
4213        }
4214    }
4215}
4216
4217/*
4218 * HELM Kernel API
4219 *
4220 * Deterministic execution kernel for AI tool calls. Drop-in OpenAI proxy + cryptographic receipts + offline-verifiable evidence packs.
4221 *
4222 * The version of the OpenAPI document: 0.5.1
4223 *
4224 * Generated by: https://openapi-generator.tech
4225 */
4226
4227
4228#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
4229pub struct TelemetryExportRequest {
4230    #[serde(rename = "format", skip_serializing_if = "Option::is_none")]
4231    pub format: Option<String>,
4232    #[serde(rename = "receipt_id", skip_serializing_if = "Option::is_none")]
4233    pub receipt_id: Option<String>,
4234    #[serde(rename = "record_hash", skip_serializing_if = "Option::is_none")]
4235    pub record_hash: Option<String>,
4236    #[serde(rename = "policy_epoch", skip_serializing_if = "Option::is_none")]
4237    pub policy_epoch: Option<String>,
4238    #[serde(rename = "verdict", skip_serializing_if = "Option::is_none")]
4239    pub verdict: Option<String>,
4240    #[serde(rename = "reason_code", skip_serializing_if = "Option::is_none")]
4241    pub reason_code: Option<String>,
4242    #[serde(rename = "sandbox_grant_hash", skip_serializing_if = "Option::is_none")]
4243    pub sandbox_grant_hash: Option<String>,
4244    #[serde(rename = "authz_snapshot_hash", skip_serializing_if = "Option::is_none")]
4245    pub authz_snapshot_hash: Option<String>,
4246    #[serde(rename = "attributes", skip_serializing_if = "Option::is_none")]
4247    pub attributes: Option<std::collections::HashMap<String, String>>,
4248}
4249
4250impl TelemetryExportRequest {
4251    pub fn new() -> TelemetryExportRequest {
4252        TelemetryExportRequest {
4253            format: None,
4254            receipt_id: None,
4255            record_hash: None,
4256            policy_epoch: None,
4257            verdict: None,
4258            reason_code: None,
4259            sandbox_grant_hash: None,
4260            authz_snapshot_hash: None,
4261            attributes: None,
4262        }
4263    }
4264}
4265
4266/*
4267 * HELM Kernel API
4268 *
4269 * Deterministic execution kernel for AI tool calls. Drop-in OpenAI proxy + cryptographic receipts + offline-verifiable evidence packs.
4270 *
4271 * The version of the OpenAPI document: 0.5.1
4272 *
4273 * Generated by: https://openapi-generator.tech
4274 */
4275
4276
4277#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
4278pub struct TelemetryExportResult {
4279    #[serde(rename = "export_id", skip_serializing_if = "Option::is_none")]
4280    pub export_id: Option<String>,
4281    #[serde(rename = "format", skip_serializing_if = "Option::is_none")]
4282    pub format: Option<String>,
4283    #[serde(rename = "authoritative", skip_serializing_if = "Option::is_none")]
4284    pub authoritative: Option<bool>,
4285    #[serde(rename = "attributes", skip_serializing_if = "Option::is_none")]
4286    pub attributes: Option<std::collections::HashMap<String, String>>,
4287    #[serde(rename = "exported_at", skip_serializing_if = "Option::is_none")]
4288    pub exported_at: Option<String>,
4289}
4290
4291impl TelemetryExportResult {
4292    pub fn new() -> TelemetryExportResult {
4293        TelemetryExportResult {
4294            export_id: None,
4295            format: None,
4296            authoritative: None,
4297            attributes: None,
4298            exported_at: None,
4299        }
4300    }
4301}
4302
4303/*
4304 * HELM Kernel API
4305 *
4306 * Deterministic execution kernel for AI tool calls. Drop-in OpenAI proxy + cryptographic receipts + offline-verifiable evidence packs.
4307 *
4308 * The version of the OpenAPI document: 0.5.1
4309 *
4310 * Generated by: https://openapi-generator.tech
4311 */
4312
4313
4314#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
4315pub struct TelemetryOTelConfig {
4316    #[serde(rename = "service_name", skip_serializing_if = "Option::is_none")]
4317    pub service_name: Option<String>,
4318    #[serde(rename = "signal_type", skip_serializing_if = "Option::is_none")]
4319    pub signal_type: Option<String>,
4320    #[serde(rename = "authoritative", skip_serializing_if = "Option::is_none")]
4321    pub authoritative: Option<bool>,
4322    #[serde(rename = "span_attributes", skip_serializing_if = "Option::is_none")]
4323    pub span_attributes: Option<std::collections::HashMap<String, String>>,
4324    #[serde(rename = "exported_signals", skip_serializing_if = "Option::is_none")]
4325    pub exported_signals: Option<Vec<String>>,
4326}
4327
4328impl TelemetryOTelConfig {
4329    pub fn new() -> TelemetryOTelConfig {
4330        TelemetryOTelConfig {
4331            service_name: None,
4332            signal_type: None,
4333            authoritative: None,
4334            span_attributes: None,
4335            exported_signals: None,
4336        }
4337    }
4338}
4339
4340/*
4341 * HELM Kernel API
4342 *
4343 * Deterministic execution kernel for AI tool calls. Drop-in OpenAI proxy + cryptographic receipts + offline-verifiable evidence packs.
4344 *
4345 * The version of the OpenAPI document: 0.5.1
4346 *
4347 * Generated by: https://openapi-generator.tech
4348 */
4349
4350
4351#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
4352pub struct TransitionApprovalCeremonyRequest {
4353    #[serde(rename = "actor", skip_serializing_if = "Option::is_none")]
4354    pub actor: Option<String>,
4355    #[serde(rename = "receipt_id", skip_serializing_if = "Option::is_none")]
4356    pub receipt_id: Option<String>,
4357    #[serde(rename = "reason", skip_serializing_if = "Option::is_none")]
4358    pub reason: Option<String>,
4359}
4360
4361impl TransitionApprovalCeremonyRequest {
4362    pub fn new() -> TransitionApprovalCeremonyRequest {
4363        TransitionApprovalCeremonyRequest {
4364            actor: None,
4365            receipt_id: None,
4366            reason: None,
4367        }
4368    }
4369}
4370
4371/*
4372 * HELM Kernel API
4373 *
4374 * Deterministic execution kernel for AI tool calls. Drop-in OpenAI proxy + cryptographic receipts + offline-verifiable evidence packs.
4375 *
4376 * The version of the OpenAPI document: 0.5.1
4377 *
4378 * Generated by: https://openapi-generator.tech
4379 */
4380
4381
4382#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
4383pub struct VerificationResult {
4384    #[serde(rename = "verdict", skip_serializing_if = "Option::is_none")]
4385    pub verdict: Option<VerificationResultVerdict>,
4386    #[serde(rename = "checks", skip_serializing_if = "Option::is_none")]
4387    pub checks: Option<Box<VerificationResultChecks>>,
4388    #[serde(rename = "roots", skip_serializing_if = "Option::is_none")]
4389    pub roots: Option<Box<VerificationResultRoots>>,
4390    #[serde(rename = "errors", skip_serializing_if = "Option::is_none")]
4391    pub errors: Option<Vec<String>>,
4392}
4393
4394impl VerificationResult {
4395    pub fn new() -> VerificationResult {
4396        VerificationResult {
4397            verdict: None,
4398            checks: None,
4399            roots: None,
4400            errors: None,
4401        }
4402    }
4403}
4404///
4405#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
4406pub enum VerificationResultVerdict {
4407    #[serde(rename = "PASS")]
4408    Pass,
4409    #[serde(rename = "FAIL")]
4410    Fail,
4411}
4412
4413impl Default for VerificationResultVerdict {
4414    fn default() -> VerificationResultVerdict {
4415        Self::Pass
4416    }
4417}
4418
4419/*
4420 * HELM Kernel API
4421 *
4422 * Deterministic execution kernel for AI tool calls. Drop-in OpenAI proxy + cryptographic receipts + offline-verifiable evidence packs.
4423 *
4424 * The version of the OpenAPI document: 0.5.1
4425 *
4426 * Generated by: https://openapi-generator.tech
4427 */
4428
4429
4430#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
4431pub struct VerificationResultChecks {
4432    #[serde(rename = "signatures", skip_serializing_if = "Option::is_none")]
4433    pub signatures: Option<VerificationResultChecksSignatures>,
4434    #[serde(rename = "causal_chain", skip_serializing_if = "Option::is_none")]
4435    pub causal_chain: Option<VerificationResultChecksCausalChain>,
4436    #[serde(rename = "policy_compliance", skip_serializing_if = "Option::is_none")]
4437    pub policy_compliance: Option<VerificationResultChecksPolicyCompliance>,
4438}
4439
4440impl VerificationResultChecks {
4441    pub fn new() -> VerificationResultChecks {
4442        VerificationResultChecks {
4443            signatures: None,
4444            causal_chain: None,
4445            policy_compliance: None,
4446        }
4447    }
4448}
4449///
4450#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
4451pub enum VerificationResultChecksSignatures {
4452    #[serde(rename = "PASS")]
4453    Pass,
4454    #[serde(rename = "FAIL")]
4455    Fail,
4456}
4457
4458impl Default for VerificationResultChecksSignatures {
4459    fn default() -> VerificationResultChecksSignatures {
4460        Self::Pass
4461    }
4462}
4463///
4464#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
4465pub enum VerificationResultChecksCausalChain {
4466    #[serde(rename = "PASS")]
4467    Pass,
4468    #[serde(rename = "FAIL")]
4469    Fail,
4470}
4471
4472impl Default for VerificationResultChecksCausalChain {
4473    fn default() -> VerificationResultChecksCausalChain {
4474        Self::Pass
4475    }
4476}
4477///
4478#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
4479pub enum VerificationResultChecksPolicyCompliance {
4480    #[serde(rename = "PASS")]
4481    Pass,
4482    #[serde(rename = "FAIL")]
4483    Fail,
4484}
4485
4486impl Default for VerificationResultChecksPolicyCompliance {
4487    fn default() -> VerificationResultChecksPolicyCompliance {
4488        Self::Pass
4489    }
4490}
4491
4492/*
4493 * HELM Kernel API
4494 *
4495 * Deterministic execution kernel for AI tool calls. Drop-in OpenAI proxy + cryptographic receipts + offline-verifiable evidence packs.
4496 *
4497 * The version of the OpenAPI document: 0.5.1
4498 *
4499 * Generated by: https://openapi-generator.tech
4500 */
4501
4502
4503#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
4504pub struct VerificationResultRoots {
4505    #[serde(rename = "manifest_root_hash", skip_serializing_if = "Option::is_none")]
4506    pub manifest_root_hash: Option<String>,
4507    #[serde(rename = "merkle_root", skip_serializing_if = "Option::is_none")]
4508    pub merkle_root: Option<String>,
4509    #[serde(rename = "entry_count", skip_serializing_if = "Option::is_none")]
4510    pub entry_count: Option<i32>,
4511}
4512
4513impl VerificationResultRoots {
4514    pub fn new() -> VerificationResultRoots {
4515        VerificationResultRoots {
4516            manifest_root_hash: None,
4517            merkle_root: None,
4518            entry_count: None,
4519        }
4520    }
4521}
4522
4523/*
4524 * HELM Kernel API
4525 *
4526 * Deterministic execution kernel for AI tool calls. Drop-in OpenAI proxy + cryptographic receipts + offline-verifiable evidence packs.
4527 *
4528 * The version of the OpenAPI document: 0.5.1
4529 *
4530 * Generated by: https://openapi-generator.tech
4531 */
4532
4533
4534#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
4535pub struct VerifyPublicDemoReceipt200Response {
4536    #[serde(rename = "valid")]
4537    pub valid: bool,
4538    #[serde(rename = "signature_valid")]
4539    pub signature_valid: bool,
4540    #[serde(rename = "hash_matches")]
4541    pub hash_matches: bool,
4542    #[serde(rename = "reason")]
4543    pub reason: String,
4544    #[serde(rename = "verified_fields")]
4545    pub verified_fields: Vec<String>,
4546    #[serde(rename = "receipt_hash")]
4547    pub receipt_hash: String,
4548    #[serde(rename = "expected_receipt_hash")]
4549    pub expected_receipt_hash: String,
4550}
4551
4552impl VerifyPublicDemoReceipt200Response {
4553    pub fn new(valid: bool, signature_valid: bool, hash_matches: bool, reason: String, verified_fields: Vec<String>, receipt_hash: String, expected_receipt_hash: String) -> VerifyPublicDemoReceipt200Response {
4554        VerifyPublicDemoReceipt200Response {
4555            valid,
4556            signature_valid,
4557            hash_matches,
4558            reason,
4559            verified_fields,
4560            receipt_hash,
4561            expected_receipt_hash,
4562        }
4563    }
4564}
4565
4566/*
4567 * HELM Kernel API
4568 *
4569 * Deterministic execution kernel for AI tool calls. Drop-in OpenAI proxy + cryptographic receipts + offline-verifiable evidence packs.
4570 *
4571 * The version of the OpenAPI document: 0.5.1
4572 *
4573 * Generated by: https://openapi-generator.tech
4574 */
4575
4576
4577#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
4578pub struct VerifyPublicDemoReceiptRequest {
4579    #[serde(rename = "receipt")]
4580    pub receipt: Box<Receipt>,
4581    /// Receipt hash returned in /api/demo/run proof_refs.receipt_hash.
4582    #[serde(rename = "expected_receipt_hash")]
4583    pub expected_receipt_hash: String,
4584}
4585
4586impl VerifyPublicDemoReceiptRequest {
4587    pub fn new(receipt: Receipt, expected_receipt_hash: String) -> VerifyPublicDemoReceiptRequest {
4588        VerifyPublicDemoReceiptRequest {
4589            receipt: Box::new(receipt),
4590            expected_receipt_hash,
4591        }
4592    }
4593}
4594
4595/*
4596 * HELM Kernel API
4597 *
4598 * Deterministic execution kernel for AI tool calls. Drop-in OpenAI proxy + cryptographic receipts + offline-verifiable evidence packs.
4599 *
4600 * The version of the OpenAPI document: 0.5.1
4601 *
4602 * Generated by: https://openapi-generator.tech
4603 */
4604
4605
4606#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
4607pub struct VersionInfo {
4608    #[serde(rename = "version", skip_serializing_if = "Option::is_none")]
4609    pub version: Option<String>,
4610    #[serde(rename = "commit", skip_serializing_if = "Option::is_none")]
4611    pub commit: Option<String>,
4612    #[serde(rename = "build_time", skip_serializing_if = "Option::is_none")]
4613    pub build_time: Option<String>,
4614    #[serde(rename = "go_version", skip_serializing_if = "Option::is_none")]
4615    pub go_version: Option<String>,
4616}
4617
4618impl VersionInfo {
4619    pub fn new() -> VersionInfo {
4620        VersionInfo {
4621            version: None,
4622            commit: None,
4623            build_time: None,
4624            go_version: None,
4625        }
4626    }
4627}
4628
4629
4630pub type ReasonCode = HelmErrorErrorReasonCode;