Skip to main content

Crate distri_types

Crate distri_types 

Source

Re-exports§

pub use workflow_triggers::WebhookAuth;
pub use workflow_triggers::WebhookResponse;
pub use workflow_triggers::WorkflowTrigger;
pub use api_error::ApiError;
pub use api_error::ApiResult;
pub use configuration::AgentConfig;
pub use tool_result_store::CacheCheck;
pub use tool_result_store::ContentFormat;
pub use tool_result_store::ContentReplacementState;
pub use tool_result_store::FILE_UNCHANGED_STUB;
pub use tool_result_store::FileReadCache;
pub use tool_result_store::MAX_TOOL_RESULT_CHARS;
pub use tool_result_store::MAX_TOOL_RESULTS_PER_MESSAGE_CHARS;
pub use tool_result_store::PERSIST_THRESHOLD_BYTES;
pub use tool_result_store::PREVIEW_SIZE_BYTES;
pub use tool_result_store::PersistedToolResult;
pub use tool_result_store::Preview;
pub use tool_result_store::ReplacementDecision;
pub use auth::*;
pub use events::*;
pub use tenant_context::*;
pub use tool::*;
pub use integration::*;
pub use filesystem::*;
pub use skill::*;
pub use todos::*;
pub use ui_tool_render::*;
pub use ui_tool_renderers::*;
pub use models::*;

Modules§

a2a
a2a_converters
api
api_error
ApiError — the single error type that every distri service returns.
auth
browser
channel_commands
Channel-facing rendering types. A WorkflowAgent bound to a bot uses these for slash command declarations (now on crate::WorkflowTrigger::Slash) and reply rendering. See docs/specs/workflow-channel-commands.md.
channels
Shared channel + bot types. Consumed by distri-cloud (server, stores, handlers) and distri-gateway (webhook adapters) so the two halves speak the same vocabulary.
configuration
connections
context
dynamic_tool
events
filesystem
http_request
Typed request/response structs for the HTTP request proxy.
integration
invocation
The unified sub-agent invocation model.
mock_tool
Typed config for the mock dynamic-tool factory.
model_catalog
Provider catalog — the section-grouped file format for provider/model definitions, plus loaders.
models
Core model, provider, and audio types used across the entire system.
prompt
resolve
skill
stores
tenant_context
thinking
Branded thinking/loading phrases shared between CLI and UI.
todos
tool
tool_result_store
Two-level tool result persistence and file read caching.
ui_tool_render
ui_tool_renderers
workflow_triggers
Unified workflow trigger taxonomy.

Structs§

AdditionalAttributes
Additional attributes for thread/task metadata.
AdditionalParts
Structure for managing additional user message parts This allows control over how parts are added and whether artifacts should be expanded
AgentContextSize
AgentPlan
AgentStrategy
Unified Agent Strategy Configuration
AvailableSkill
A reference to a stored skill that an agent can load on demand
CompactionSummary
Summary produced by semantic compaction of older scratchpad entries
ContextBudget
Tracks token usage by component for context optimization.
ContextSize
ContextUsage
CreateThreadRequest
DistriConfig
Configuration for the Distri client.
ExecutionHistoryEntry
Enriched execution history entry that includes context metadata
ExecutionResult
Execution result with detailed information
ExecutorContextMetadata
Metadata sent by clients (CLI, browser SDK, etc.) alongside A2A messages. Deserialized by the server to configure execution context. This is the canonical schema — all clients should serialize this struct.
ExternalTool
External tool that delegates execution to the frontend
HookContext
HookMutation
InlineHookRequest
InlineHookResponse
LLmContext
LlmDefinition
McpDefinition
McpServerHandle
A pool-ready handle for one MCP server: identifier + transport + already- resolved authorization headers.
McpServerMetadata
McpSession
McpToolConfig
Configuration for tools from an MCP server
Message
MockOrchestrator
ModelInfo
A model entry within a provider
ModelSettings
Model settings configuration. A ModelSettings always has a valid model string. Use Option<ModelSettings> when no model is configured yet.
ModelSettingsInner
Optional/defaultable model parameters. Split from ModelSettings so callers can construct ModelSettings { model: "...", ..Default::default() } easily via the inner field having Default.
OrchestratorRef
Reference wrapper for orchestrator that allows late binding
PartMetadata
Metadata for individual message parts. Used to control part behavior such as persistence and rendering.
PlanConfig
Configuration for planning operations
PlanStep
Plan step for execution
ProviderModels
Models grouped by provider, with configuration status
ProviderModelsStatus
Provider models with configuration status (returned by API)
ProviderSecretDefinition
Defines the secret requirements for a provider
ReflectionConfig
Reflection configuration
ReplanningConfig
Replanning configuration
ResourceLink
MCP resource reference. Mirrors the shape an MCP server returns under tools/call’s content[].resource, plus the _meta blob that hosts use to discover MCP-Apps UI capabilities (_meta.ui.resourceUri).
ScratchpadEntry
Entry for scratchpad formatting
SecretKeyDefinition
Defines a single secret key requirement
ServerMetadataWrapper
SkillContextEntry
Skill content re-injected after compaction to preserve agent instructions
StandardDefinition
Agent definition - complete configuration for an agent
Task
TaskEvent
Thread
ThreadSummary
TokenUsage
Token usage breakdown from an LLM call.
ToolCall
ToolDefinition
ToolResponse
ToolsConfig
TraceContext
Inbound distributed-trace context, propagated by callers so an agent run (and all of its descendant spans) nests under a remote parent trace.
UpdateThreadRequest
UserMessageOverrides

Enums§

Action
Action can be either a tool call or an LLM call
AdditionalPartsInstruction
Instruction for how to handle additional parts
AgentError
CodeLanguage
ExecutionKind
ExecutionMode
Execution mode - tools vs code
ExecutionStatus
ExecutionType
Execution strategy types
FileType
HookKind
McpClientTransport
Client-side transport configuration for connecting to an MCP server.
McpServerType
MemoryKind
MessageRole
ModelProvider
OpenAiApiFormat
Which OpenAI-family API format to use when talking to the LLM.
Part
PartDefinition
ReasoningDepth
Depth of reasoning for planning
ReflectionDepth
Depth of reflection
ReflectionTrigger
When to trigger reflection
ReplanningTrigger
When to trigger replanning
ResolvedOpenAiApiFormat
Resolved (non-Auto) API format
RuntimeMode
Runtime environment in which the agent is executing. Determines which built-in agent variants and tools are available.
ScratchpadEntryType
Type of scratchpad entry - only for Thought/Action/Observation tracking
TaskMessage
TaskStatus
Lifecycle state of a task. Snake-case in JSON to match the tasks.status schema column (“pending” / “running” / “input_required” / “completed” / “failed” / “canceled”) and the SDK’s typed AgentTaskStatus enum.
ToolCallFormat
Supported tool call formats
ToolCallStatus
ToolDeliveryMode
How tools are delivered to the LLM in the prompt.
ToolResultWithSkip
TransportType

Constants§

CORE_TOOLS
Tools that always get full schemas, never deferred. These are the most commonly used tools that agents need immediately.
DEFAULT_DEFERRED_THRESHOLD
Default threshold: defer tools when total count exceeds this.
DEFAULT_EXTERNAL_TOOL_TIMEOUT_SECS
Default timeout for external tool execution in seconds
VALID_BUILTIN_TOOLS
Tools configuration for agents Canonical list of valid builtin tool names.

Traits§

OrchestratorTrait
Trait for workflow runtime functions (session storage, agent calls, etc.)
ServerTrait

Functions§

default_agent_version
default_transport_type
from_tool_results
lookup_provider_test_config
Look up the provider-test override for a registered provider. The /v1/providers/test handler calls this and falls back to its default GET /models probe when None is returned. Reads from the merged layered registry (built-in basics + deployment extensions).
parse_agent_markdown_content
register_provider_extensions
Register deployment-owned provider/model definitions — layer 2 of the provider registry. Call once, at process startup, before any provider/model catalog is served.
validate_parameters
validate_plugin_name
Validate plugin name follows naming conventions Plugin names must be valid identifiers. At most one ‘/’ is allowed for workspace namespacing (e.g. ‘workspace/agent’).

Type Aliases§

BuilderFn
PartsMetadata
Mapping of part indices to their metadata. Used in message metadata to specify per-part behavior.