{
  "name": "forge-sdk",
  "language": "rust",
  "version": "0.2.0",
  "description": "The Forge SDK \u2014 unified ANVIL-compliant agent development framework",
  "manifest": "forge-rs/crates/forge-sdk/Cargo.toml",
  "manifestSha256": "59054a58bb16295bfcc7594b8eb8398077fd34a302d57a971f435e5cad08985b",
  "status": "source-reference",
  "registryPublicationVerified": false,
  "route": "/libraries/rust/forge-sdk",
  "features": {
    "default": [],
    "openai": [
      "dep:forge-provider-openai"
    ],
    "anthropic": [
      "dep:forge-provider-anthropic"
    ],
    "google": [
      "dep:forge-provider-google"
    ],
    "coding": [
      "dep:forge-provider-coding"
    ],
    "platforms": [
      "dep:forge-provider-platforms"
    ],
    "all-providers": [
      "openai",
      "anthropic",
      "google",
      "coding",
      "platforms"
    ]
  },
  "files": [
    {
      "path": "forge-rs/crates/forge-sdk/src/adapters.rs",
      "sha256": "ef118fa135b2f0bebb9a3f4e6a874e13540e9dc1a1ccdced65eff2603a253827",
      "artifactSha256": "8040a4a5a19532719fddef3d9b3b4a88a7a35500a3bd35db23fb9dba23d48feb",
      "url": "/reference/source/forge-rs/crates/forge-sdk/src/adapters.rs.txt",
      "declarations": [
        {
          "name": "::IdentityAdapter",
          "line": 14,
          "signature": "pub trait IdentityAdapter: Send + Sync {\n    /// Creates a new human root identity.\n    fn create_hmr_identity(\n        &self,\n        namespace: &str,\n        identifier: &str,\n    ) -> ForgeIdentityResult<ForgeAgentIdentity>;\n\n    /// Creates a new machine root identity.\n    fn create_mhr_identity(\n        &self,\n        namespace: &str,\n        identifier: &str,\n    ) -> ForgeIdentityResult<ForgeAgentIdentity>;\n\n    /// Derives a child agent identity from a parent identity.\n    fn derive_agent_identity(\n        &self,\n        parent: &ForgeAgentIdentity,\n        name: &str,\n        namespace: &str,\n    ) -> ForgeIdentityResult<ForgeAgentIdentity>;\n}",
          "documentation": "Stable Forge contract for OAS-backed identity creation and derivation."
        },
        {
          "name": "::OasIdentityAdapter",
          "line": 40,
          "signature": "#[derive(Debug, Default, Clone, Copy)]\npub struct OasIdentityAdapter;",
          "documentation": "Production identity adapter backed by Forge's OAS reference implementation."
        },
        {
          "name": "::AuthorizationAdapter",
          "line": 70,
          "signature": "pub trait AuthorizationAdapter: Send + Sync {\n    /// Verifies that an ACT is structurally and temporally valid.\n    fn verify_act(&self, act: &AgentCapabilityToken) -> ForgeAuthResult<()>;\n\n    /// Extracts the scopes granted by an ACT.\n    fn extract_scopes(&self, act: &AgentCapabilityToken) -> Vec<String>;\n\n    /// Authorizes a tool invocation against the active ACT.\n    fn authorize_tool_invocation(\n        &self,\n        request: &ToolAuthorizationRequest<'_>,\n    ) -> ForgeAuthResult<ToolAuthorizationDecision>;\n\n    /// Delegates a narrowed capability set to a child agent.\n    fn delegate_capabilities(\n        &self,\n        request: &DelegationRequest<'_>,\n    ) -> ForgeAuthResult<AgentCapabilityToken>;\n}",
          "documentation": "Stable Forge contract for Arsenal-backed authorization."
        },
        {
          "name": "::ArsenalAuthorizationAdapter",
          "line": 92,
          "signature": "#[derive(Debug, Default, Clone, Copy)]\npub struct ArsenalAuthorizationAdapter;",
          "documentation": "Production authorization adapter backed by Forge's Arsenal integration."
        },
        {
          "name": "::DocumentRevocationState",
          "line": 120,
          "signature": "#[derive(Debug, Clone, Copy, PartialEq, Eq)]\npub enum DocumentRevocationState {\n    Active,\n    Revoked,\n    Suspended,\n    Expired,\n    Unknown,\n}",
          "documentation": "Forge-owned revocation status for the verification contract."
        },
        {
          "name": "::HumanRootLivenessState",
          "line": 130,
          "signature": "#[derive(Debug, Clone, Copy, PartialEq, Eq)]\npub enum HumanRootLivenessState {\n    Active,\n    Warning,\n    Stale,\n    Unknown,\n}",
          "documentation": "Forge-owned human-root liveness state for the verification contract."
        },
        {
          "name": "::DocumentVerification",
          "line": 139,
          "signature": "#[derive(Debug, Clone, PartialEq, Eq)]\npub struct DocumentVerification {\npub did: String,\npub signature_valid: bool,\npub lineage_valid: bool,\npub lineage_depth: u32,\npub human_root: Option<String>,\npub revocation_state: DocumentRevocationState,\npub liveness_state: HumanRootLivenessState,\npub conformance_level: u8,\npub warnings: Vec<String>,\npub verified_at: Timestamp\n}",
          "documentation": "Stable Forge verification result independent of the upstream verifier."
        },
        {
          "name": "::VerificationAdapterError",
          "line": 154,
          "signature": "#[derive(Debug, Error)]\npub enum VerificationAdapterError {\n    #[cfg(not(target_arch = \"wasm32\"))]\n    #[error(transparent)]\n    Aegis(#[from] aegis_core::VerificationError),\n\n    #[error(\"verification backend unavailable: {reason}\")]\n    BackendUnavailable { reason: String },\n}",
          "documentation": "Errors produced by a verification adapter implementation."
        },
        {
          "name": "::VerificationAdapterResult",
          "line": 164,
          "signature": "pub type VerificationAdapterResult<T> = Result<T, VerificationAdapterError>;",
          "documentation": "Result type for verification adapter operations."
        },
        {
          "name": "::VerificationAdapter",
          "line": 168,
          "signature": "#[async_trait]\npub trait VerificationAdapter: Send + Sync {\n    /// Verifies a DID through the configured verification backend.\n    async fn verify_did(&self, did: &str) -> VerificationAdapterResult<DocumentVerification>;\n}",
          "documentation": "Stable Forge contract for verification backends."
        },
        {
          "name": "::ForgePlatformAdapters",
          "line": 175,
          "signature": "#[derive(Clone)]\npub struct ForgePlatformAdapters {\n\n}",
          "documentation": "Bundle of the production adapter contracts consumed by Forge runtimes."
        },
        {
          "name": "::ForgePlatformAdapters::new",
          "line": 183,
          "signature": "pub fn new(\n        identity: Arc<dyn IdentityAdapter>,\n        authorization: Arc<dyn AuthorizationAdapter>,\n        verification: Arc<dyn VerificationAdapter>,\n    ) -> Self;",
          "documentation": "Builds an adapter bundle from explicit implementations."
        },
        {
          "name": "::ForgePlatformAdapters::identity",
          "line": 196,
          "signature": "pub fn identity(&self) -> &dyn IdentityAdapter;",
          "documentation": "Returns the configured identity adapter."
        },
        {
          "name": "::ForgePlatformAdapters::authorization",
          "line": 201,
          "signature": "pub fn authorization(&self) -> &dyn AuthorizationAdapter;",
          "documentation": "Returns the configured authorization adapter."
        },
        {
          "name": "::ForgePlatformAdapters::verification",
          "line": 206,
          "signature": "pub fn verification(&self) -> &dyn VerificationAdapter;",
          "documentation": "Returns the configured verification adapter."
        },
        {
          "name": "::ForgePlatformAdapters::production",
          "line": 212,
          "signature": "#[cfg(not(target_arch = \"wasm32\"))]\npub fn production(\n        registry: Arc<aegis_core::PluginRegistry>,\n        config: aegis_core::VerificationConfig,\n    ) -> Self;",
          "documentation": "Builds the production bundle backed by Forge/OAS, Forge/Arsenal, and AEGIS."
        },
        {
          "name": "::AegisVerificationAdapter",
          "line": 269,
          "signature": "#[cfg(not(target_arch = \"wasm32\"))]\npub struct AegisVerificationAdapter {\n\n}",
          "documentation": "Production verification adapter backed by the AEGIS verification pipeline."
        },
        {
          "name": "::AegisVerificationAdapter::new",
          "line": 276,
          "signature": "#[cfg(not(target_arch = \"wasm32\"))]\npub fn new(\n        registry: Arc<aegis_core::PluginRegistry>,\n        config: aegis_core::VerificationConfig,\n    ) -> Self;",
          "documentation": "Creates an AEGIS-backed verification adapter from a resolver registry."
        },
        {
          "name": "::AegisVerificationAdapter::from_pipeline",
          "line": 286,
          "signature": "#[cfg(not(target_arch = \"wasm32\"))]\npub fn from_pipeline(pipeline: aegis_verify::VerificationPipeline) -> Self;",
          "documentation": "Wraps an existing AEGIS verification pipeline."
        }
      ]
    },
    {
      "path": "forge-rs/crates/forge-sdk/src/lib.rs",
      "sha256": "44e38c920e79406a79a8947fcc59ae9103e9d5021c7bf90f3b72273b9e4e5bf2",
      "artifactSha256": "f50cebaff005f84b7fc9c3fd057df951460af5f369befc02f5ba2d066b1e7b55",
      "url": "/reference/source/forge-rs/crates/forge-sdk/src/lib.rs.txt",
      "declarations": [
        {
          "name": "pub use forge_core;",
          "line": 94,
          "signature": "pub use forge_core;",
          "documentation": "# forge-sdk\n\nThe unified Forge SDK -- an ANVIL-compliant agent development framework.\n\nThis crate re-exports all Forge SDK crates under a single import, providing\na convenient entry point for building AI agents with cryptographic identity,\ncapability-based authorization, and full observability.\n\n# Quick Start\n\n```no_run\nuse forge_sdk::prelude::*;\nuse std::sync::Arc;\n\nasync fn quickstart(model: Arc<dyn LanguageModel>) {\n    // 1. Create a human root identity\n    let hmr = create_hmr_identity(\"l1fe\", \"admin\").unwrap();\n\n    // 2. Derive an agent identity\n    let agent_id = derive_agent_identity(&hmr, \"data-analyst\", \"l1fe\").unwrap();\n\n    // 3. Configure the agent\n    let config = AgentConfig::new(\"data-analyst\", \"openai:gpt-4o\")\n        .with_system_prompt(\"You are a data analysis assistant.\")\n        .with_max_steps(10);\n\n    // 4. Run the agent\n    let registry = ToolRegistry::new();\n    let approval = Arc::new(AutoApprove);\n    let agent = ToolLoopAgent::new(config, model, registry, approval);\n    let output = agent.run(\"Analyze the data\").await;\n}\n```\n\n# Module Organization\n\n| Module | Crate | Purpose |\n|--------|-------|---------|\n| [`forge_core`] | `forge-core` | Types, provider trait, telemetry, configuration |\n| [`generate`] | `forge-generate` | Text, stream, and object generation |\n| [`tool`] | `forge-tool` | Tool definition, execution, approval, registry |\n| [`health`] | `forge-health` | Lifecycle state machine, health profiles |\n| [`agent`] | `forge-agent` | Tool loops, workflows, sub-agents |\n| [`embed`] | `forge-embed` | Embeddings, similarity, vector store, chunking |\n| [`media`] | `forge-media` | Image, transcription, speech, video |\n| [`mcp`] | `forge-mcp` | Model Context Protocol client/server |\n| [`identity`] | `forge-identity` | OAS identity binding, lineage |\n| [`auth`] | `forge-auth` | Arsenal capability tokens, authorization |\n| [`comm`] | `forge-comm` | Communication Contract: transports, envelopes |\n| [`collab`] | `forge-collab` | Collaboration Contract: roles, sessions, delegation |\n| [`telemetry`] | `forge-telemetry` | Telemetry Contract: spans, audit trails |\n\n# Re-exported External Crates\n\nFor convenience, this crate also re-exports commonly needed external types:\n\n- [`serde`] -- Serialization and deserialization framework.\n- [`serde_json`] -- JSON parsing and serialization.\n- [`async_trait`] -- Async trait support for implementing provider traits.\n- [`tokio`] -- Async runtime for running agents.\n\n# ANVIL Conformance\n\nThe Forge SDK implements the ANVIL specification at conformance level L1\n(Accountable Runtime). See the ANVIL specification for details on each\nconformance level.\n\n| Level | Description | Status |\n|-------|-------------|--------|\n| L0 -- Core Runtime | Sandbox, cognitive interface, tool invocation, lifecycle | Implemented |\n| L1 -- Accountable Runtime | L0 + OAS identity, Arsenal authorization, health, audit | Implemented |\n| L2 -- Full Runtime | L1 + WASM compilation, on-chain deployment, full lineage | In progress |\nCore types, provider traits, telemetry, and configuration.\n\nRe-exports the `forge-core` crate. This module contains the foundational types\nused throughout the entire Forge SDK: messages, tools, schemas, providers,\nconfiguration, output types, errors, and telemetry primitives.\n\n# Examples\n\n```\nuse forge_sdk::forge_core::message::{ModelMessage, Role};\n\nlet msg = ModelMessage::text(Role::User, \"Hello, agent!\");\nassert_eq!(msg.role(), Role::User);\n```"
        },
        {
          "name": "pub use forge_generate as generate;",
          "line": 116,
          "signature": "pub use forge_generate as generate;",
          "documentation": "Text generation, streaming, and structured output generation.\n\nRe-exports the `forge-generate` crate. Provides `generate_text`,\n`stream_text`, `generate_object`, and `stream_object` functions for\ninteracting with language models.\n\n# Examples\n\n```no_run\nuse forge_sdk::generate::generate_text;\nuse forge_sdk::forge_core::config::GenerateOptions;\nuse forge_sdk::forge_core::message::{ModelMessage, Role};\nuse forge_sdk::forge_core::model::LanguageModel;\n\nasync fn example(model: &dyn LanguageModel) {\n    let msgs = vec![ModelMessage::text(Role::User, \"Hello\")];\n    let opts = GenerateOptions::default();\n    let result = generate_text(model, &msgs, &[], &opts).await;\n}\n```"
        },
        {
          "name": "pub use forge_tool as tool;",
          "line": 123,
          "signature": "pub use forge_tool as tool;",
          "documentation": "Tool definition, execution, approval, and registry.\n\nRe-exports the `forge-tool` crate. Provides the complete 3-tier tool\nsubsystem: definition builders, execution pipeline with schema validation\nand approval gates, and the runtime tool registry."
        },
        {
          "name": "pub use forge_health as health;",
          "line": 130,
          "signature": "pub use forge_health as health;",
          "documentation": "ANVIL health profiles, lifecycle state machine, and monitoring.\n\nRe-exports the `forge-health` crate. Implements the immutable 6-state\nlifecycle state machine defined in ANVIL Spec section 13.2 and health\nprofile tracking with threshold-based monitoring."
        },
        {
          "name": "pub use forge_agent as agent;",
          "line": 137,
          "signature": "pub use forge_agent as agent;",
          "documentation": "Agent execution loop, workflows, and multi-agent orchestration.\n\nRe-exports the `forge-agent` crate. Provides the `ToolLoopAgent`,\nsequential/parallel/router workflows, sub-agent creation, and\ninter-agent messaging."
        },
        {
          "name": "pub use forge_embed as embed;",
          "line": 144,
          "signature": "pub use forge_embed as embed;",
          "documentation": "Embedding, reranking, vector store, and RAG primitives.\n\nRe-exports the `forge-embed` crate. Provides everything needed for\nretrieval-augmented generation: embedding providers, similarity functions,\nvector stores, document loaders, and text chunking."
        },
        {
          "name": "pub use forge_media as media;",
          "line": 150,
          "signature": "pub use forge_media as media;",
          "documentation": "Image generation, audio transcription, speech synthesis, and video.\n\nRe-exports the `forge-media` crate. Provides pluggable provider traits\nfor all media types with top-level convenience functions."
        },
        {
          "name": "pub use forge_mcp as mcp;",
          "line": 157,
          "signature": "pub use forge_mcp as mcp;",
          "documentation": "Model Context Protocol (MCP) client, server, and transport.\n\nRe-exports the `forge-mcp` crate. Enables Forge agents to connect to\nexternal MCP tool servers as clients and to expose their own capabilities\nas MCP servers."
        },
        {
          "name": "adapters",
          "line": 160,
          "signature": "pub mod adapters;",
          "documentation": "Ecosystem adapter contracts for identity, authorization, and verification."
        },
        {
          "name": "pub use forge_identity as identity;",
          "line": 176,
          "signature": "pub use forge_identity as identity;",
          "documentation": "OAS identity binding for agents.\n\nRe-exports the `forge-identity` crate. Binds OAS cryptographic identities\nto Forge agents, providing Ed25519 keypairs, signed identity documents,\nand lineage proof chains.\n\n# Examples\n\n```\nuse forge_sdk::identity::lineage::create_hmr_identity;\n\nlet hmr = create_hmr_identity(\"test\", \"alice\").unwrap();\nassert_eq!(hmr.did(), \"did:oas:test:hmr:alice\");\n```"
        },
        {
          "name": "pub use forge_auth as auth;",
          "line": 183,
          "signature": "pub use forge_auth as auth;",
          "documentation": "Arsenal capability token integration.\n\nRe-exports the `forge-auth` crate. Bridges the Forge agent runtime with\nthe Arsenal authorization framework, providing ACT verification, tool\nauthorization, capability delegation, and scope extraction."
        },
        {
          "name": "pub use forge_comm as comm;",
          "line": 190,
          "signature": "pub use forge_comm as comm;",
          "documentation": "Communication Contract (ANVIL Spec \u00a710).\n\nRe-exports the `forge-comm` crate. Provides the inter-agent communication\nabstraction: message envelopes, transport traits (`MessageTransport`),\nchannel and noop transports, and protocol negotiation types."
        },
        {
          "name": "pub use forge_collab as collab;",
          "line": 198,
          "signature": "pub use forge_collab as collab;",
          "documentation": "Collaboration Contract (ANVIL Spec \u00a711).\n\nRe-exports the `forge-collab` crate. Provides the multi-agent collaboration\nframework: role contracts (Coordinator/Worker/Peer), session management,\nshared context, task delegation, interrupt handling, and capability\nadvertising."
        },
        {
          "name": "pub use forge_provider_coding as coding;",
          "line": 202,
          "signature": "#[cfg(feature = \"coding\")]\npub use forge_provider_coding as coding;",
          "documentation": "Official coding-product adapters for subscription-style coding providers."
        },
        {
          "name": "pub use forge_provider_platforms as platforms;",
          "line": 206,
          "signature": "#[cfg(feature = \"platforms\")]\npub use forge_provider_platforms as platforms;",
          "documentation": "Official direct-provider and gateway adapters for the wider model ecosystem."
        },
        {
          "name": "pub use forge_telemetry as telemetry;",
          "line": 213,
          "signature": "pub use forge_telemetry as telemetry;",
          "documentation": "Telemetry Contract (ANVIL Spec \u00a714).\n\nRe-exports the `forge-telemetry` crate. Provides the telemetry abstraction:\n`TelemetryContract` trait, span collectors, signed audit trails, and\nOpenTelemetry-compatible export."
        },
        {
          "name": "pub use serde;",
          "line": 218,
          "signature": "pub use serde;",
          "documentation": "Re-export of the `serde` crate for serialization and deserialization."
        },
        {
          "name": "pub use serde_json;",
          "line": 221,
          "signature": "pub use serde_json;",
          "documentation": "Re-export of the `serde_json` crate for JSON handling."
        },
        {
          "name": "pub use async_trait;",
          "line": 224,
          "signature": "pub use async_trait;",
          "documentation": "Re-export of the `async_trait` crate for async trait definitions."
        },
        {
          "name": "pub use tokio;",
          "line": 231,
          "signature": "#[cfg(not(target_arch = \"wasm32\"))]\npub use tokio;",
          "documentation": "Re-export of the `tokio` crate for async runtime support.\n\nThis re-export is only available on non-WASM targets, because `tokio` with\nfull features does not compile to `wasm32-wasip1`."
        },
        {
          "name": "prelude",
          "line": 263,
          "signature": "pub mod prelude;",
          "documentation": "The Forge SDK prelude -- import `use forge_sdk::prelude::*` for the most common types.\n\nThis module re-exports the essential types and functions needed to build and\nrun ANVIL-compliant agents. It aggregates the most commonly used items from\nevery Forge crate so that a single `use forge_sdk::prelude::*;` import covers\nthe typical agent development workflow.\n\n# What's Included\n\n- **Core types**: Messages, roles, tools, schemas, providers, output types, errors\n- **Agent types**: Config, trait, tool loop, sub-agents, workflows, messaging\n- **Generation functions**: `generate_text`, `stream_text`, `generate_object`, `stream_object`\n- **Tool types**: Registry, approval handlers, executors\n- **Health types**: Lifecycle state machine, health profiles, monitoring\n- **Identity types**: Create HMR/MHR roots, derive agents, verify lineage chains\n- **Auth types**: Tool authorization, capability delegation\n- **Async support**: `async_trait` macro for trait implementations\n\n# Examples\n\n```\nuse forge_sdk::prelude::*;\n\n// Create an agent config\nlet config = AgentConfig::new(\"assistant\", \"openai:gpt-4o\")\n    .with_system_prompt(\"You are helpful.\")\n    .with_max_steps(10);\n\nassert_eq!(config.name(), \"assistant\");\n```"
        },
        {
          "name": "pub use forge_core::message::{MessagePart, ModelMessage, Role};",
          "line": 267,
          "signature": "pub use forge_core::message::{MessagePart, ModelMessage, Role};",
          "documentation": "Message types for LLM communication."
        },
        {
          "name": "pub use forge_core::model::LanguageModel;",
          "line": 270,
          "signature": "pub use forge_core::model::LanguageModel;",
          "documentation": "The language model trait that all providers implement."
        },
        {
          "name": "pub use forge_core::provider::{ProviderRef, ProviderRegistry};",
          "line": 273,
          "signature": "pub use forge_core::provider::{ProviderRef, ProviderRegistry};",
          "documentation": "Provider reference and registry for model dispatch."
        },
        {
          "name": "pub use forge_core::tool::{ToolApproval, ToolCall, ToolDefinition, ToolResult, ToolTier};",
          "line": 276,
          "signature": "pub use forge_core::tool::{ToolApproval, ToolCall, ToolDefinition, ToolResult, ToolTier};",
          "documentation": "Tool definition types: 3-tier classification, calls, and results."
        },
        {
          "name": "pub use forge_core::config::GenerateOptions;",
          "line": 279,
          "signature": "pub use forge_core::config::GenerateOptions;",
          "documentation": "Configuration for generation calls."
        },
        {
          "name": "pub use forge_core::output::{FinishReason, GenerateResult, StreamChunk, Usage};",
          "line": 282,
          "signature": "pub use forge_core::output::{FinishReason, GenerateResult, StreamChunk, Usage};",
          "documentation": "Output types from generation calls."
        },
        {
          "name": "pub use forge_core::error::{ForgeError, ForgeResult};",
          "line": 285,
          "signature": "pub use forge_core::error::{ForgeError, ForgeResult};",
          "documentation": "Typed error types used across the Forge SDK."
        },
        {
          "name": "pub use forge_core::telemetry::{ForgeEvent, ForgeSpan, TelemetryEmitter};",
          "line": 288,
          "signature": "pub use forge_core::telemetry::{ForgeEvent, ForgeSpan, TelemetryEmitter};",
          "documentation": "Telemetry primitives for structured observability."
        },
        {
          "name": "pub use forge_core::types::{AgentDid, Timestamp};",
          "line": 291,
          "signature": "pub use forge_core::types::{AgentDid, Timestamp};",
          "documentation": "Common types: agent DIDs and timestamps."
        },
        {
          "name": "pub use forge_core::schema::JsonSchema;",
          "line": 294,
          "signature": "pub use forge_core::schema::JsonSchema;",
          "documentation": "Zero-dependency JSON schema representation."
        },
        {
          "name": "pub use forge_agent::agent::{\n        Agent, AgentCheckpointValidationError, AgentConfig, AgentOutput, AgentRunCheckpoint,\n        AGENT_RUN_CHECKPOINT_SCHEMA,\n    };",
          "line": 299,
          "signature": "pub use forge_agent::agent::{\n        Agent, AgentCheckpointValidationError, AgentConfig, AgentOutput, AgentRunCheckpoint,\n        AGENT_RUN_CHECKPOINT_SCHEMA,\n    };",
          "documentation": "The core agent trait and configuration."
        },
        {
          "name": "pub use forge_agent::tool_loop::ToolLoopAgent;",
          "line": 305,
          "signature": "pub use forge_agent::tool_loop::ToolLoopAgent;",
          "documentation": "The reference ANVIL agent execution loop."
        },
        {
          "name": "pub use forge_agent::subagent::{create_subagent, SubAgentConfig};",
          "line": 308,
          "signature": "pub use forge_agent::subagent::{create_subagent, SubAgentConfig};",
          "documentation": "Sub-agent creation with narrowed capabilities."
        },
        {
          "name": "pub use forge_agent::workflow::{\n        ParallelWorkflow, RouterWorkflow, SequentialWorkflow, WorkflowOutput,\n    };",
          "line": 311,
          "signature": "pub use forge_agent::workflow::{\n        ParallelWorkflow, RouterWorkflow, SequentialWorkflow, WorkflowOutput,\n    };",
          "documentation": "Workflow orchestration patterns: sequential, parallel, router."
        },
        {
          "name": "pub use forge_agent::loop_control::{\n        AgentStopCondition, NoOpPrepare, PrepareStep, StopWhen, StopWhenCustom, StopWhenMaxSteps,\n        StopWhenTextGenerated, StopWhenToolCalled,\n    };",
          "line": 316,
          "signature": "pub use forge_agent::loop_control::{\n        AgentStopCondition, NoOpPrepare, PrepareStep, StopWhen, StopWhenCustom, StopWhenMaxSteps,\n        StopWhenTextGenerated, StopWhenToolCalled,\n    };",
          "documentation": "Stop conditions and pre-step hooks for agent execution loops."
        },
        {
          "name": "pub use forge_agent::messaging::{\n        AgentChannel, AgentChannelReceiver, AgentChannelSender, AgentMessage,\n    };",
          "line": 325,
          "signature": "#[cfg(not(target_arch = \"wasm32\"))]\npub use forge_agent::messaging::{\n        AgentChannel, AgentChannelReceiver, AgentChannelSender, AgentMessage,\n    };",
          "documentation": "Inter-agent communication via bounded async channels.\n\nOnly available on non-WASM targets (requires `tokio::sync::mpsc`)."
        },
        {
          "name": "pub use forge_agent::error::{ForgeAgentError, ForgeAgentResult};",
          "line": 330,
          "signature": "pub use forge_agent::error::{ForgeAgentError, ForgeAgentResult};",
          "documentation": "Agent-specific error types."
        },
        {
          "name": "pub use forge_generate::generate_text;",
          "line": 335,
          "signature": "pub use forge_generate::generate_text;",
          "documentation": "Generate a complete text response from a language model."
        },
        {
          "name": "pub use forge_generate::stream_text;",
          "line": 338,
          "signature": "pub use forge_generate::stream_text;",
          "documentation": "Stream text responses incrementally from a language model."
        },
        {
          "name": "pub use forge_generate::generate_object;",
          "line": 341,
          "signature": "pub use forge_generate::generate_object;",
          "documentation": "Generate a schema-validated, deserialized object from a language model."
        },
        {
          "name": "pub use forge_generate::stream_object;",
          "line": 344,
          "signature": "pub use forge_generate::stream_object;",
          "documentation": "Stream a schema-validated object incrementally from a language model."
        },
        {
          "name": "pub use forge_tool::registry::ToolRegistry;",
          "line": 349,
          "signature": "pub use forge_tool::registry::ToolRegistry;",
          "documentation": "Runtime tool registry for managing registered tools."
        },
        {
          "name": "pub use forge_tool::approval::{ApprovalHandler, AutoApprove, DenyAll};",
          "line": 352,
          "signature": "pub use forge_tool::approval::{ApprovalHandler, AutoApprove, DenyAll};",
          "documentation": "Approval handlers: `AutoApprove`, `DenyAll`, and the `ApprovalHandler` trait."
        },
        {
          "name": "pub use forge_provider_coding::{\n        official_provider_registry, AuthorizedSessionExecution, AuthorizedSessionHandle,\n        AuthorizedSessionRequest, ClaudeCodeAdapter, CodexCliAdapter,\n        OfficialCodingProviderManager,\n    };",
          "line": 355,
          "signature": "#[cfg(all(feature = \"coding\", not(target_arch = \"wasm32\")))]\npub use forge_provider_coding::{\n        official_provider_registry, AuthorizedSessionExecution, AuthorizedSessionHandle,\n        AuthorizedSessionRequest, ClaudeCodeAdapter, CodexCliAdapter,\n        OfficialCodingProviderManager,\n    };",
          "documentation": ""
        },
        {
          "name": "pub use forge_provider_platforms::{\n        approved_direct_provider_presets, approved_gateway_provider_presets, AuthStrategy,\n        ProviderFamily, ProviderPreset,\n    };",
          "line": 362,
          "signature": "#[cfg(feature = \"platforms\")]\npub use forge_provider_platforms::{\n        approved_direct_provider_presets, approved_gateway_provider_presets, AuthStrategy,\n        ProviderFamily, ProviderPreset,\n    };",
          "documentation": ""
        },
        {
          "name": "pub use forge_provider_platforms::{\n        register_anthropic_model, register_bedrock_model, register_cohere_model,\n        register_deepseek_model, register_default_core_direct_providers, register_foundry_model,\n        register_google_model, register_groq_model, register_microsoft_foundry_model,\n        register_minimax_model, register_mistral_model, register_moonshot_model,\n        register_openai_model, register_openrouter_model, register_vertex_ai_model,\n        register_xai_model, register_zai_model,\n    };",
          "line": 368,
          "signature": "#[cfg(all(feature = \"platforms\", not(target_arch = \"wasm32\")))]\npub use forge_provider_platforms::{\n        register_anthropic_model, register_bedrock_model, register_cohere_model,\n        register_deepseek_model, register_default_core_direct_providers, register_foundry_model,\n        register_google_model, register_groq_model, register_microsoft_foundry_model,\n        register_minimax_model, register_mistral_model, register_moonshot_model,\n        register_openai_model, register_openrouter_model, register_vertex_ai_model,\n        register_xai_model, register_zai_model,\n    };",
          "documentation": ""
        },
        {
          "name": "pub use forge_tool::execution::{execute_tool_call, FnToolExecutor, ToolExecutor};",
          "line": 378,
          "signature": "pub use forge_tool::execution::{execute_tool_call, FnToolExecutor, ToolExecutor};",
          "documentation": "Tool execution pipeline and executor types."
        },
        {
          "name": "pub use forge_tool::definition::ToolBuilder;",
          "line": 381,
          "signature": "pub use forge_tool::definition::ToolBuilder;",
          "documentation": "Fluent builder for constructing tool definitions."
        },
        {
          "name": "pub use forge_health::lifecycle::{LifecycleManager, LifecycleState, LifecycleTransition};",
          "line": 386,
          "signature": "pub use forge_health::lifecycle::{LifecycleManager, LifecycleState, LifecycleTransition};",
          "documentation": "Lifecycle state machine: 6 immutable states per ANVIL Spec section 13.2."
        },
        {
          "name": "pub use forge_health::profile::HealthProfile;",
          "line": 389,
          "signature": "pub use forge_health::profile::HealthProfile;",
          "documentation": "Runtime health profile tracking agent metrics."
        },
        {
          "name": "pub use forge_health::monitoring::{HealthMonitor, HealthThresholds};",
          "line": 392,
          "signature": "pub use forge_health::monitoring::{HealthMonitor, HealthThresholds};",
          "documentation": "Health monitoring with configurable thresholds."
        },
        {
          "name": "pub use forge_health::reporting::{HealthReport, HealthStatus};",
          "line": 395,
          "signature": "pub use forge_health::reporting::{HealthReport, HealthStatus};",
          "documentation": "Health status reporting."
        },
        {
          "name": "pub use forge_health::events::LifecycleEvent;",
          "line": 398,
          "signature": "pub use forge_health::events::LifecycleEvent;",
          "documentation": "Lifecycle events emitted at every state transition."
        },
        {
          "name": "pub use forge_identity::agent_identity::ForgeAgentIdentity;",
          "line": 403,
          "signature": "pub use forge_identity::agent_identity::ForgeAgentIdentity;",
          "documentation": "The core agent identity binding: keypair, DID document, and lineage."
        },
        {
          "name": "pub use forge_identity::lineage::{\n        create_hmr_identity, create_mhr_identity, derive_agent_identity, verify_lineage_chain,\n    };",
          "line": 406,
          "signature": "pub use forge_identity::lineage::{\n        create_hmr_identity, create_mhr_identity, derive_agent_identity, verify_lineage_chain,\n    };",
          "documentation": "High-level identity workflows: create roots, derive agents, verify chains."
        },
        {
          "name": "pub use forge_identity::persistence::{load_identity, save_identity};",
          "line": 412,
          "signature": "#[allow(deprecated)]\npub use forge_identity::persistence::{load_identity, save_identity};",
          "documentation": "Identity persistence: save and load from JSON files."
        },
        {
          "name": "pub use forge_identity::error::{ForgeIdentityError, ForgeIdentityResult};",
          "line": 415,
          "signature": "pub use forge_identity::error::{ForgeIdentityError, ForgeIdentityResult};",
          "documentation": "Identity-specific error types."
        },
        {
          "name": "pub use forge_auth::tool_auth::{\n        authorize_tool_invocation, ToolAuthorizationDecision, ToolAuthorizationRequest,\n    };",
          "line": 420,
          "signature": "pub use forge_auth::tool_auth::{\n        authorize_tool_invocation, ToolAuthorizationDecision, ToolAuthorizationRequest,\n    };",
          "documentation": "Tool authorization decision and request types (ANVIL Spec section 8.7)."
        },
        {
          "name": "pub use forge_auth::delegation::{delegate_capabilities, DelegationRequest};",
          "line": 425,
          "signature": "pub use forge_auth::delegation::{delegate_capabilities, DelegationRequest};",
          "documentation": "Capability delegation for sub-agents (ANVIL Spec section 11.3)."
        },
        {
          "name": "pub use forge_auth::capability::{act_allows_scope, extract_scopes, verify_act};",
          "line": 428,
          "signature": "pub use forge_auth::capability::{act_allows_scope, extract_scopes, verify_act};",
          "documentation": "ACT verification and scope extraction."
        },
        {
          "name": "pub use forge_auth::error::{ForgeAuthError, ForgeAuthResult};",
          "line": 431,
          "signature": "pub use forge_auth::error::{ForgeAuthError, ForgeAuthResult};",
          "documentation": "Auth-specific error types."
        },
        {
          "name": "pub use crate::adapters::AegisVerificationAdapter;",
          "line": 436,
          "signature": "#[cfg(not(target_arch = \"wasm32\"))]\npub use crate::adapters::AegisVerificationAdapter;",
          "documentation": ""
        },
        {
          "name": "pub use crate::adapters::{\n        ArsenalAuthorizationAdapter, AuthorizationAdapter, DocumentRevocationState,\n        DocumentVerification, ForgePlatformAdapters, HumanRootLivenessState, IdentityAdapter,\n        OasIdentityAdapter, VerificationAdapter, VerificationAdapterError,\n        VerificationAdapterResult,\n    };",
          "line": 438,
          "signature": "pub use crate::adapters::{\n        ArsenalAuthorizationAdapter, AuthorizationAdapter, DocumentRevocationState,\n        DocumentVerification, ForgePlatformAdapters, HumanRootLivenessState, IdentityAdapter,\n        OasIdentityAdapter, VerificationAdapter, VerificationAdapterError,\n        VerificationAdapterResult,\n    };",
          "documentation": "Forge-owned adapter contracts and the production reference adapters."
        },
        {
          "name": "pub use forge_comm::message::AgentMessage as CommMessage;",
          "line": 451,
          "signature": "pub use forge_comm::message::AgentMessage as CommMessage;",
          "documentation": "Communication message envelope for inter-agent communication (ANVIL Spec \u00a710.2).\n\nThis is the full-featured envelope type from `forge-comm`. For the simpler\nchannel-based messaging, see [`AgentMessage`] from `forge-agent`."
        },
        {
          "name": "pub use forge_comm::transport::MessageTransport;",
          "line": 455,
          "signature": "#[cfg(not(target_arch = \"wasm32\"))]\npub use forge_comm::transport::MessageTransport;",
          "documentation": "Transport trait for pluggable inter-agent communication backends."
        },
        {
          "name": "pub use forge_comm::noop::NoopTransport;",
          "line": 458,
          "signature": "pub use forge_comm::noop::NoopTransport;",
          "documentation": "No-op transport for standalone agents without communication needs."
        },
        {
          "name": "pub use forge_collab::types::CollaborationRole;",
          "line": 463,
          "signature": "pub use forge_collab::types::CollaborationRole;",
          "documentation": "Collaboration roles: Coordinator, Worker, Peer."
        },
        {
          "name": "pub use forge_collab::types::CollaborationSession;",
          "line": 466,
          "signature": "pub use forge_collab::types::CollaborationSession;",
          "documentation": "Collaboration session for multi-agent coordination."
        },
        {
          "name": "pub use forge_collab::types::DelegatedTask;",
          "line": 469,
          "signature": "pub use forge_collab::types::DelegatedTask;",
          "documentation": "Delegated task from coordinator to worker."
        },
        {
          "name": "pub use forge_collab::types::TaskResult;",
          "line": 472,
          "signature": "pub use forge_collab::types::TaskResult;",
          "documentation": "Result of a delegated task execution."
        },
        {
          "name": "pub use forge_collab::types::Interrupt;",
          "line": 475,
          "signature": "pub use forge_collab::types::Interrupt;",
          "documentation": "Interrupt for priority-based agent preemption."
        },
        {
          "name": "pub use forge_collab::types::AgentCapabilityProfile;",
          "line": 478,
          "signature": "pub use forge_collab::types::AgentCapabilityProfile;",
          "documentation": "Agent capability profile for advertising capabilities."
        },
        {
          "name": "pub use forge_telemetry::contract::TelemetryContract;",
          "line": 483,
          "signature": "pub use forge_telemetry::contract::TelemetryContract;",
          "documentation": "Telemetry contract trait for pluggable observability backends."
        },
        {
          "name": "pub use forge_telemetry::contract::NoopTelemetry;",
          "line": 486,
          "signature": "pub use forge_telemetry::contract::NoopTelemetry;",
          "documentation": "No-op telemetry implementation that discards all spans."
        },
        {
          "name": "pub use forge_telemetry::collector::InMemoryTelemetry;",
          "line": 489,
          "signature": "pub use forge_telemetry::collector::InMemoryTelemetry;",
          "documentation": "In-memory telemetry collector for testing."
        },
        {
          "name": "pub use forge_telemetry::audit::AuditTrail;",
          "line": 492,
          "signature": "pub use forge_telemetry::audit::AuditTrail;",
          "documentation": "Signed audit trail for accountability."
        },
        {
          "name": "pub use async_trait::async_trait;",
          "line": 497,
          "signature": "pub use async_trait::async_trait;",
          "documentation": "Re-export of `async_trait` for implementing async traits such as `Agent`."
        },
        {
          "name": "::version",
          "line": 511,
          "signature": "pub fn version() -> &'static str;",
          "documentation": "Returns the Forge SDK version string.\n\nThis returns the version of the `forge-sdk` crate as defined in its\n`Cargo.toml`. All Forge crates share the same workspace version.\n\n# Examples\n\n```\nlet version = forge_sdk::version();\nassert!(!version.is_empty());\n```"
        }
      ]
    }
  ]
}
