Skip to documentation
SLOP

tiny.closure.receipt

Reference tiny.closure receipt

Defined in tiny.closure.

API (8)

Actions

Public operations.

Types and contracts

Public types and contracts.

Namespaces

Public namespaces.

No direct callersNo direct callstiny.closurereceipt
Static calls · unresolved targets: unknown · external targets: unknown.

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

zig
pub const Error = json.Error || ValidationError;

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 },    );}
Called byCallsprivate sourcelib.closure.src.receipt.encodeexpectInvalidContextUnpublishedtest sourcelib.closure.src.receipt.encodetest: receipt escapes JSON bytes and ...test sourcelib.closure.src.receipt.encodetest: receipt exposes unknown axes an...test sourcelib.closure.src.receipt.encodetest: receipt preflight accepts exact...test sourcelib.closure.src.receipt.encodetest: receipt rejects absolute host s...test sourcelib.closure.src.receipt.encodetest: receipt repeats deterministical...private sourcelib.closure.src.receipt.encodefindClaimprivate sourcelib.closure.src.receipt.encodefixedReceiptLengthprivate sourcelib.closure.src.receipt.encodevalidatereceiptencode
Static calls · unresolved targets: 0 · external targets: 1.
Called byCallsNo direct callsprivate sourcelib.closure.src.receipt.encodevalidateprivate sourcelib.closure.src.receipt.rowswriteCapacityreceipt.CountsfromCapacity
Static calls · unresolved targets: 0 · external targets: 0.
Called byCallsNo direct callsprivate sourcelib.closure.src.receipt.encodetestContextprivate sourcelib.closure.src.receipt.encodevalidatereceipt.CountsfromInput
Static calls · unresolved targets: 0 · external targets: 0.
Called byCallsNo direct callsprivate sourcelib.closure.src.receipt.rowsgenerationRowreceipt.CountsfromLimits
Static calls · unresolved targets: 0 · external targets: 0.

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

Definitions8
Public names8
Members29
Version26.7.0
Revisiondaab053ee433