Skip to main content

Crate gsm_core

Crate gsm_core 

Source
Expand description

Greentic Messaging core contracts and value types.

This crate exposes the shared data structures exchanged between ingress, runner, and egress components. It also provides validation helpers and small utilities for subject naming and idempotency tracking.

Re-exports§

pub use messaging_card::types::Action as AdaptiveAction;
pub use messaging_card::types::ImageRef as AdaptiveImageRef;
pub use messaging_card::types::MessageCard as AdaptiveMessageCard;
pub use messaging_card::types::MessageCardKind as AdaptiveMessageCardKind;
pub use messaging_card::types::OauthCard as AdaptiveOauthCard;
pub use messaging_card::types::OauthPrompt as AdaptiveOauthPrompt;
pub use messaging_card::types::OauthProvider as AdaptiveOauthProvider;
pub use messaging_card::MessageCardEngine;
pub use messaging_card::adaptive::AdaptiveCardPayload;
pub use messaging_card::adaptive::AdaptiveCardVersion;
pub use messaging_card::adaptive::ValidateError;
pub use messaging_card::adaptive::normalizer;
pub use messaging_card::downgrade::CapabilityProfile;
pub use messaging_card::downgrade::DowngradeContext;
pub use messaging_card::downgrade::DowngradeEngine;
pub use messaging_card::downgrade::PolicyDowngradeEngine;
pub use messaging_card::ir::Element;
pub use messaging_card::ir::InputChoice;
pub use messaging_card::ir::MessageCardIr;
pub use messaging_card::ir::MessageCardIrBuilder;
pub use messaging_card::renderers::NullRenderer;
pub use messaging_card::renderers::PlatformRenderer;
pub use messaging_card::renderers::RendererRegistry;
pub use messaging_card::renderers::SlackRenderer;
pub use messaging_card::renderers::TeamsRenderer;
pub use messaging_card::renderers::TelegramRenderer;
pub use messaging_card::renderers::WebChatRenderer;
pub use messaging_card::renderers::WebexRenderer;
pub use messaging_card::spec::AuthRenderSpec;
pub use messaging_card::spec::FallbackButton;
pub use messaging_card::spec::RenderIntent;
pub use messaging_card::spec::RenderSpec;
pub use messaging_card::telemetry::CardTelemetry;
pub use messaging_card::telemetry::NullTelemetry;
pub use messaging_card::telemetry::TelemetryEvent;
pub use messaging_card::telemetry::TelemetryHook;
pub use messaging_card::tier::Tier;
pub use messaging_card::tier::TierPolicy;
pub use provider_install_store::INSTALL_ID_KEY;
pub use provider_install_store::InMemoryProviderInstallStore;
pub use provider_install_store::PROVIDER_CONFIG_REFS_KEY;
pub use provider_install_store::PROVIDER_ID_KEY;
pub use provider_install_store::PROVIDER_SECRET_REFS_KEY;
pub use provider_install_store::ProviderInstallError;
pub use provider_install_store::ProviderInstallRouting;
pub use provider_install_store::ProviderInstallState;
pub use provider_install_store::ProviderInstallStore;
pub use provider_install_store::ProviderInstallStoreSnapshot;
pub use provider_install_store::apply_install_refs;
pub use provider_install_store::extract_provider_route;
pub use provider_install_store::load_install_store_from_path;
pub use provider_ops::AttachmentInput;
pub use provider_ops::IngestInput;
pub use provider_ops::IngestOutput;
pub use provider_ops::MessageEnvelope as ProviderMessageEnvelope;
pub use provider_ops::ReplyInput;
pub use provider_ops::ReplyMetadata;
pub use provider_ops::ReplyOutput;
pub use provider_ops::SendInput;
pub use provider_ops::SendMetadata;
pub use provider_ops::SendOutput;
pub use provider_ops::SendStatus;
pub use provider_registry::CapsSource;
pub use provider_registry::ProviderCapsRegistry;
pub use provider_registry::ProviderRecord;
pub use adapter_registry::*;
pub use adaptivecards::*;
pub use cards::*;
pub use context::*;
pub use default_packs::*;
pub use http::*;
pub use idempotency::*;
pub use ingress::*;
pub use interfaces::*;
pub use messaging_subjects::*;
pub use outbound::*;
pub use pack_extensions::*;
pub use platforms::*;
pub use prelude::*;
pub use provider_capabilities::*;
pub use render_mode::*;
pub use render_plan::*;
pub use render_planner::*;
pub use runner_client::*;
pub use secrets_paths::*;
pub use telemetry::*;
pub use types::*;
pub use validate::*;
pub use worker::*;

Modules§

adapter_registry
adaptivecards
cards
context
default_packs
egress
http
idempotency
Idempotency helpers for webhook/event processing.
ingress
interfaces
Helpers for converting core types to the canonical host bindings.
messaging_card
messaging_subjects
Canonical NATS subject helpers for messaging ingress/egress.
oauth
outbound
pack_extensions
path_safety
platforms
prelude
provider_capabilities
provider_install_store
provider_ops
Provider-core messaging operation contracts (schemas + serde types).
provider_registry
render_mode
Render mode abstraction to toggle between legacy rendering and the planner path.
render_plan
Minimal render-planning types shared across renderers.
render_planner
Deterministic render planner prototype (capability-driven tiers).
runner_client
secrets_paths
telemetry
types
validate
worker

Enums§

MessagingAdapterKind

Functions§

version
Returns the semantic version advertised by this crate.