golem-schema 1.6.2

Golem schema and value model
Documentation
// Copyright 2024-2026 Golem Cloud
//
// Licensed under the Golem Source License v1.1 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     http://license.golem.cloud/LICENSE
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

//! Recursive in-memory mirror of the `golem:core@2.0.0` schema model.

pub mod canonical;
pub mod conversion;
pub mod derive;
pub mod fingerprint;
pub mod graph;
pub mod host_managed;
pub mod metadata;
pub mod multimodal;
#[cfg(feature = "full")]
pub mod protobuf;
pub mod render;
pub mod schema_type;
pub mod schema_value;
pub mod stream;
pub mod tool;
pub mod unstructured;
pub mod validation;
#[cfg(all(
    any(feature = "guest", feature = "host"),
    not(all(feature = "guest", feature = "host"))
))]
pub mod wit;

#[cfg(any(test, feature = "proptest"))]
pub mod proptest_strategies;

pub use conversion::{
    DecodeError, FromSchema, FromSchemaError, IntoSchema, IntoTypedSchemaValue, MergeError,
    Quantity, QuantityUnit, SchemaBuilder, merge_agent_graphs, try_into_schema_graph,
    try_into_typed_schema_value,
};
pub use fingerprint::{
    SchemaFingerprintError, SchemaFingerprintV1, resolve_stream_element_schema_v1,
    schema_fingerprint_v1,
};
#[cfg(feature = "derive")]
pub use golem_schema_derive::{FromSchema, FromWire, IntoSchema, IntoWire, Schema, WireSchema};
pub use graph::{SchemaGraph, SchemaTypeDef, TypedSchemaValue};
pub use host_managed::{
    HostManagedKind, HostManagedOccurrence, HostManagedTraversalError, RedactedSchemaValue,
    find_host_managed_type, find_host_managed_value, redacted_schema_value_debug,
};
pub use metadata::{MetadataEnvelope, Role, TypeId};
pub use schema_type::{
    BinaryRestrictions, DiscriminatorRule, FieldDiscriminator, NamedFieldType, PathDirection,
    PathKind, PathSpec, PermissionCardSpec, QuantitySpec, QuantityValue, QuotaTokenSpec,
    ResultSpec, SchemaType, SecretSpec, TextRestrictions, UnionBranch, UnionSpec, UrlRestrictions,
    VariantCaseType,
};
pub use schema_value::{
    BinaryValuePayload, DurationValuePayload, PermissionCardValuePayload, QuotaTokenValuePayload,
    ResultValuePayload, SchemaValue, SecretValuePayload, TextValuePayload, UnionValuePayload,
    VariantValuePayload,
};
pub use stream::SchemaValueStream;
#[cfg(all(feature = "host", not(feature = "guest")))]
pub use stream::SchemaValueStreamHandleRep;