tiny.closure.receipt
Defined in tiny.closure.
API (8)
Actions
Public operations.
Types and contracts
Public types and contracts.
Namespaces
Public namespaces.
Source
Source: lib/closure/src/receipt/model.zig:84
zig
pub const Context = struct { limits: limits.Limits, capacity: limits.Capacity, occupancy: Counts, high_water: Counts, before_root: schema.Digest, after_root: schema.Digest, verdict: schema.Verdict, reason: ?[]const u8, rejection: ?[]const u8, unknown: ?[]const u8, work: usize, visited_high_water: usize, queue_high_water: usize, allocation_count: u64,};Source: lib/closure/src/receipt/model.zig:6
zig
pub const Counts = struct { nodes: usize, edges: usize, artifacts: usize, ranges: usize, digests: usize, provenance_parents: usize, source_records: usize, build_records: usize, authorities: usize, lineage_references: usize, service_descriptors: usize, residual_roots: usize, claims: usize, claim_nodes: usize, receipt_bytes: usize, pub fn fromInput(input: schema.GenerationInput, receipt_bytes: usize) Counts { return .{ .nodes = input.nodes.len, .edges = input.edges.len, .artifacts = input.artifacts.len, .ranges = input.ranges.len, .digests = input.digests.len, .provenance_parents = input.provenance_parents.len, .source_records = input.source_records.len, .build_records = input.build_records.len, .authorities = input.authorities.len, .lineage_references = input.lineage_references.len, .service_descriptors = input.service_descriptors.len, .residual_roots = input.residual_roots.len, .claims = input.claims.len, .claim_nodes = input.claim_nodes.len, .receipt_bytes = receipt_bytes, }; } pub fn fromLimits(value: limits.Limits) Counts { return .{ .nodes = value.nodes, .edges = value.edges, .artifacts = value.artifacts, .ranges = value.ranges, .digests = value.digests, .provenance_parents = value.provenance_parents, .source_records = value.source_records, .build_records = value.build_records, .authorities = value.authorities, .lineage_references = value.lineage_references, .service_descriptors = value.service_descriptors, .residual_roots = value.residual_roots, .claims = value.claims, .claim_nodes = value.claim_nodes, .receipt_bytes = value.receipt_bytes, }; } pub fn fromCapacity(value: limits.Capacity) Counts { return .{ .nodes = value.nodes, .edges = value.edges, .artifacts = value.artifacts, .ranges = value.ranges, .digests = value.digests, .provenance_parents = value.provenance_parents, .source_records = value.source_records, .build_records = value.build_records, .authorities = value.authorities, .lineage_references = value.lineage_references, .service_descriptors = value.service_descriptors, .residual_roots = value.residual_roots, .claims = value.claims, .claim_nodes = value.claim_nodes, .receipt_bytes = value.receipt_bytes, }; }};Source: lib/closure/src/receipt/encode.zig:19
Source: lib/closure/src/receipt/encode.zig:21
zig
pub fn encode( output: []u8, input: schema.GenerationInput, selected_claim: schema.ClaimId, context: model.Context,) Error![]const u8 { try validate(input, context); const selected = findClaim(input.claims, selected_claim) orelse return error.SelectedClaimNotFound; var normalized = context; const length = try fixedReceiptLength(input, selected, &normalized); if (length > context.limits.receipt_bytes or length > context.capacity.receipt_bytes or length > output.len) { return error.ReceiptCapacityExceeded; } return try json.render( output, length, rows.emit, .{ input, selected, normalized }, );}Source: lib/closure/src/receipt/root.zig
zig
const implementation = @import("encode.zig");const model = @import("model.zig");pub const json = @import("json.zig");pub const Context = model.Context;pub const Counts = model.Counts;pub const Error = implementation.Error;pub const encode = implementation.encode;Source: lib/closure/src/root.zig:19
zig
pub const receipt = @import("receipt/root.zig");Audit
| Definitions | 8 |
|---|---|
| Public names | 8 |
| Members | 29 |
| Version | 26.7.0 |
| Revision | daab053ee433 |