{
  "name": "ForgeCore",
  "language": "swift",
  "version": "Swift package source snapshot",
  "description": "Swift ForgeCore library product.",
  "manifest": "forge-swift/Package.swift",
  "manifestSha256": "8579cd038904d9101db7b7714fa006f94144a6f951c0535512114bb00d4a3128",
  "status": "source-reference",
  "registryPublicationVerified": false,
  "route": "/libraries/swift/ForgeCore",
  "features": {},
  "files": [
    {
      "path": "forge-swift/Sources/ForgeCore/Brew.swift",
      "sha256": "d7b559d1d2d0ad629fdd3e0d86ff7488ec278494e60699f32d813e110f27b790",
      "artifactSha256": "8671152c56728bf8fdd6c42dde0167374c5573224d176d1a39cecf3afa0d0926",
      "url": "/reference/source/forge-swift/Sources/ForgeCore/Brew.swift.txt",
      "declarations": [
        {
          "name": "public struct BrewId: Codable, Sendable, Hashable, Comparable",
          "line": 20,
          "signature": "public struct BrewId: Codable, Sendable, Hashable, Comparable",
          "documentation": ""
        },
        {
          "name": "public init(_ id: String)",
          "line": 24,
          "signature": "public init(_ id: String)",
          "documentation": ""
        },
        {
          "name": "public var asStr: String",
          "line": 29,
          "signature": "public var asStr: String",
          "documentation": ""
        },
        {
          "name": "public init(from decoder: Decoder) throws",
          "line": 31,
          "signature": "public init(from decoder: Decoder) throws",
          "documentation": ""
        },
        {
          "name": "public func encode(to encoder: Encoder) throws",
          "line": 36,
          "signature": "public func encode(to encoder: Encoder) throws",
          "documentation": ""
        },
        {
          "name": "public static func < (lhs: BrewId, rhs: BrewId) -> Bool",
          "line": 41,
          "signature": "public static func < (lhs: BrewId, rhs: BrewId) -> Bool",
          "documentation": ""
        },
        {
          "name": "public var description: String",
          "line": 47,
          "signature": "public var description: String",
          "documentation": ""
        },
        {
          "name": "public struct NodeId: Codable, Sendable, Hashable, Comparable",
          "line": 53,
          "signature": "public struct NodeId: Codable, Sendable, Hashable, Comparable",
          "documentation": ""
        },
        {
          "name": "public init(_ id: String)",
          "line": 57,
          "signature": "public init(_ id: String)",
          "documentation": ""
        },
        {
          "name": "public var asStr: String",
          "line": 62,
          "signature": "public var asStr: String",
          "documentation": ""
        },
        {
          "name": "public init(from decoder: Decoder) throws",
          "line": 64,
          "signature": "public init(from decoder: Decoder) throws",
          "documentation": ""
        },
        {
          "name": "public func encode(to encoder: Encoder) throws",
          "line": 69,
          "signature": "public func encode(to encoder: Encoder) throws",
          "documentation": ""
        },
        {
          "name": "public static func < (lhs: NodeId, rhs: NodeId) -> Bool",
          "line": 74,
          "signature": "public static func < (lhs: NodeId, rhs: NodeId) -> Bool",
          "documentation": ""
        },
        {
          "name": "public var description: String",
          "line": 80,
          "signature": "public var description: String",
          "documentation": ""
        },
        {
          "name": "public struct BrewVersion: Codable, Sendable, Hashable, Comparable",
          "line": 86,
          "signature": "public struct BrewVersion: Codable, Sendable, Hashable, Comparable",
          "documentation": ""
        },
        {
          "name": "public init(_ version: String)",
          "line": 90,
          "signature": "public init(_ version: String)",
          "documentation": ""
        },
        {
          "name": "public var asStr: String",
          "line": 95,
          "signature": "public var asStr: String",
          "documentation": ""
        },
        {
          "name": "public init(from decoder: Decoder) throws",
          "line": 97,
          "signature": "public init(from decoder: Decoder) throws",
          "documentation": ""
        },
        {
          "name": "public func encode(to encoder: Encoder) throws",
          "line": 102,
          "signature": "public func encode(to encoder: Encoder) throws",
          "documentation": ""
        },
        {
          "name": "public static func < (lhs: BrewVersion, rhs: BrewVersion) -> Bool",
          "line": 107,
          "signature": "public static func < (lhs: BrewVersion, rhs: BrewVersion) -> Bool",
          "documentation": ""
        },
        {
          "name": "public var description: String",
          "line": 113,
          "signature": "public var description: String",
          "documentation": ""
        },
        {
          "name": "public enum JoinMode: Codable, Sendable, Hashable",
          "line": 119,
          "signature": "public enum JoinMode: Codable, Sendable, Hashable",
          "documentation": ""
        },
        {
          "name": "public init(from decoder: Decoder) throws",
          "line": 131,
          "signature": "public init(from decoder: Decoder) throws",
          "documentation": ""
        },
        {
          "name": "public func encode(to encoder: Encoder) throws",
          "line": 152,
          "signature": "public func encode(to encoder: Encoder) throws",
          "documentation": ""
        },
        {
          "name": "public enum BrewNodeKind: Codable, Sendable",
          "line": 173,
          "signature": "public enum BrewNodeKind: Codable, Sendable",
          "documentation": ""
        },
        {
          "name": "public init(from decoder: Decoder) throws",
          "line": 218,
          "signature": "public init(from decoder: Decoder) throws",
          "documentation": ""
        },
        {
          "name": "public func encode(to encoder: Encoder) throws",
          "line": 272,
          "signature": "public func encode(to encoder: Encoder) throws",
          "documentation": ""
        },
        {
          "name": "public enum BrewEdgeKind: String, Codable, Sendable, Hashable, Comparable, CaseIterable",
          "line": 314,
          "signature": "public enum BrewEdgeKind: String, Codable, Sendable, Hashable, Comparable, CaseIterable",
          "documentation": ""
        },
        {
          "name": "public static func < (lhs: BrewEdgeKind, rhs: BrewEdgeKind) -> Bool",
          "line": 322,
          "signature": "public static func < (lhs: BrewEdgeKind, rhs: BrewEdgeKind) -> Bool",
          "documentation": ""
        },
        {
          "name": "public struct BrewNode: Codable, Sendable",
          "line": 330,
          "signature": "public struct BrewNode: Codable, Sendable",
          "documentation": ""
        },
        {
          "name": "public let id: NodeId",
          "line": 332,
          "signature": "public let id: NodeId\n/// The node's execution semantics.\npublic let kind: BrewNodeKind\n/// Arbitrary key-value metadata for tooling and visualization.\npublic var metadata: [String: String]\n\npublic init(id: NodeId, kind: BrewNodeKind, metadata: [String: String];",
          "documentation": ""
        },
        {
          "name": "public let kind: BrewNodeKind",
          "line": 334,
          "signature": "public let kind: BrewNodeKind\n/// Arbitrary key-value metadata for tooling and visualization.\npublic var metadata: [String: String]\n\npublic init(id: NodeId, kind: BrewNodeKind, metadata: [String: String];",
          "documentation": ""
        },
        {
          "name": "public var metadata: [String: String]",
          "line": 336,
          "signature": "public var metadata: [String: String]\n\npublic init(id: NodeId, kind: BrewNodeKind, metadata: [String: String];",
          "documentation": ""
        },
        {
          "name": "public init(id: NodeId, kind: BrewNodeKind, metadata: [String: String];",
          "line": 338,
          "signature": "public init(id: NodeId, kind: BrewNodeKind, metadata: [String: String];",
          "documentation": ""
        },
        {
          "name": "public struct BrewEdge: Codable, Sendable, Hashable, Comparable",
          "line": 348,
          "signature": "public struct BrewEdge: Codable, Sendable, Hashable, Comparable",
          "documentation": ""
        },
        {
          "name": "public let from: NodeId",
          "line": 350,
          "signature": "public let from: NodeId\n/// Target node.\npublic let to: NodeId\n/// Edge semantics.\npublic let kind: BrewEdgeKind\n\npublic init(from: NodeId, to: NodeId, kind: BrewEdgeKind)",
          "documentation": ""
        },
        {
          "name": "public let to: NodeId",
          "line": 352,
          "signature": "public let to: NodeId\n/// Edge semantics.\npublic let kind: BrewEdgeKind\n\npublic init(from: NodeId, to: NodeId, kind: BrewEdgeKind)",
          "documentation": ""
        },
        {
          "name": "public let kind: BrewEdgeKind",
          "line": 354,
          "signature": "public let kind: BrewEdgeKind\n\npublic init(from: NodeId, to: NodeId, kind: BrewEdgeKind)",
          "documentation": ""
        },
        {
          "name": "public init(from: NodeId, to: NodeId, kind: BrewEdgeKind)",
          "line": 356,
          "signature": "public init(from: NodeId, to: NodeId, kind: BrewEdgeKind)",
          "documentation": ""
        },
        {
          "name": "public static func < (lhs: BrewEdge, rhs: BrewEdge) -> Bool",
          "line": 362,
          "signature": "public static func < (lhs: BrewEdge, rhs: BrewEdge) -> Bool",
          "documentation": ""
        },
        {
          "name": "public struct Brew: Codable, Sendable",
          "line": 379,
          "signature": "public struct Brew: Codable, Sendable",
          "documentation": ""
        },
        {
          "name": "public let id: BrewId",
          "line": 381,
          "signature": "public let id: BrewId\n/// Semantic version of this brew definition.\npublic let version: BrewVersion\n/// The graph's nodes, keyed by stable node ID.\npublic var nodes: [NodeId: BrewNode]\n/// The graph's edges.\npublic var edges: Set<BrewEdge>\n/// Designated entry nodes. Execution begins at these nodes.\npublic var entryNodes: [NodeId]\n/// Designated exit nodes. When all exit nodes complete, the brew is complete.\npublic var exitNodes: [NodeId]\n/// Optional model topology for this brew.\npublic var topology: ModelTopology?\n\npublic init(\nid: BrewId,\nversion: BrewVersion,\nnodes: [NodeId: BrewNode];",
          "documentation": ""
        },
        {
          "name": "public let version: BrewVersion",
          "line": 383,
          "signature": "public let version: BrewVersion\n/// The graph's nodes, keyed by stable node ID.\npublic var nodes: [NodeId: BrewNode]\n/// The graph's edges.\npublic var edges: Set<BrewEdge>\n/// Designated entry nodes. Execution begins at these nodes.\npublic var entryNodes: [NodeId]\n/// Designated exit nodes. When all exit nodes complete, the brew is complete.\npublic var exitNodes: [NodeId]\n/// Optional model topology for this brew.\npublic var topology: ModelTopology?\n\npublic init(\nid: BrewId,\nversion: BrewVersion,\nnodes: [NodeId: BrewNode];",
          "documentation": ""
        },
        {
          "name": "public var nodes: [NodeId: BrewNode]",
          "line": 385,
          "signature": "public var nodes: [NodeId: BrewNode]\n/// The graph's edges.\npublic var edges: Set<BrewEdge>\n/// Designated entry nodes. Execution begins at these nodes.\npublic var entryNodes: [NodeId]\n/// Designated exit nodes. When all exit nodes complete, the brew is complete.\npublic var exitNodes: [NodeId]\n/// Optional model topology for this brew.\npublic var topology: ModelTopology?\n\npublic init(\nid: BrewId,\nversion: BrewVersion,\nnodes: [NodeId: BrewNode];",
          "documentation": ""
        },
        {
          "name": "public var edges: Set<BrewEdge>",
          "line": 387,
          "signature": "public var edges: Set<BrewEdge>\n/// Designated entry nodes. Execution begins at these nodes.\npublic var entryNodes: [NodeId]\n/// Designated exit nodes. When all exit nodes complete, the brew is complete.\npublic var exitNodes: [NodeId]\n/// Optional model topology for this brew.\npublic var topology: ModelTopology?\n\npublic init(\nid: BrewId,\nversion: BrewVersion,\nnodes: [NodeId: BrewNode];",
          "documentation": ""
        },
        {
          "name": "public var entryNodes: [NodeId]",
          "line": 389,
          "signature": "public var entryNodes: [NodeId]\n/// Designated exit nodes. When all exit nodes complete, the brew is complete.\npublic var exitNodes: [NodeId]\n/// Optional model topology for this brew.\npublic var topology: ModelTopology?\n\npublic init(\nid: BrewId,\nversion: BrewVersion,\nnodes: [NodeId: BrewNode];",
          "documentation": ""
        },
        {
          "name": "public var exitNodes: [NodeId]",
          "line": 391,
          "signature": "public var exitNodes: [NodeId]\n/// Optional model topology for this brew.\npublic var topology: ModelTopology?\n\npublic init(\nid: BrewId,\nversion: BrewVersion,\nnodes: [NodeId: BrewNode];",
          "documentation": ""
        },
        {
          "name": "public var topology: ModelTopology?",
          "line": 393,
          "signature": "public var topology: ModelTopology?\n\npublic init(\nid: BrewId,\nversion: BrewVersion,\nnodes: [NodeId: BrewNode];",
          "documentation": ""
        },
        {
          "name": "public init(",
          "line": 395,
          "signature": "public init(\nid: BrewId,\nversion: BrewVersion,\nnodes: [NodeId: BrewNode];",
          "documentation": ""
        },
        {
          "name": "public init(from decoder: Decoder) throws",
          "line": 420,
          "signature": "public init(from decoder: Decoder) throws",
          "documentation": ""
        },
        {
          "name": "public func encode(to encoder: Encoder) throws",
          "line": 432,
          "signature": "public func encode(to encoder: Encoder) throws",
          "documentation": ""
        }
      ]
    },
    {
      "path": "forge-swift/Sources/ForgeCore/BrewBuilder.swift",
      "sha256": "15f1ad4600e9be768f0e9f0ef0376cce1a40b6f00e6071ca84bcfe14e46c777c",
      "artifactSha256": "c66cf4af1f4fd05ceb9e0ca29cc84c9dc1daccb626ed83827d2d3c13da16e8a8",
      "url": "/reference/source/forge-swift/Sources/ForgeCore/BrewBuilder.swift.txt",
      "declarations": [
        {
          "name": "public final class BrewBuilder: @unchecked Sendable",
          "line": 20,
          "signature": "public final class BrewBuilder: @unchecked Sendable",
          "documentation": ""
        },
        {
          "name": "public init(_ id: String, _ version: String)",
          "line": 34,
          "signature": "public init(_ id: String, _ version: String)",
          "documentation": ""
        },
        {
          "name": "public func addNode(_ nodeId: String, _ kind: BrewNodeKind) -> BrewBuilder",
          "line": 48,
          "signature": "public func addNode(_ nodeId: String, _ kind: BrewNodeKind) -> BrewBuilder",
          "documentation": ""
        },
        {
          "name": "public func addEdge(_ from: String, _ to: String, _ kind: BrewEdgeKind) -> BrewBuilder",
          "line": 64,
          "signature": "public func addEdge(_ from: String, _ to: String, _ kind: BrewEdgeKind) -> BrewBuilder",
          "documentation": ""
        },
        {
          "name": "public func setEntry(_ nodeId: String) -> BrewBuilder",
          "line": 74,
          "signature": "public func setEntry(_ nodeId: String) -> BrewBuilder",
          "documentation": ""
        },
        {
          "name": "public func setExit(_ nodeId: String) -> BrewBuilder",
          "line": 84,
          "signature": "public func setExit(_ nodeId: String) -> BrewBuilder",
          "documentation": ""
        },
        {
          "name": "public func withTopology(_ topology: ModelTopology) -> BrewBuilder",
          "line": 94,
          "signature": "public func withTopology(_ topology: ModelTopology) -> BrewBuilder",
          "documentation": ""
        },
        {
          "name": "public func withMetadata(_ nodeId: String, key: String, value: String) -> BrewBuilder",
          "line": 109,
          "signature": "public func withMetadata(_ nodeId: String, key: String, value: String) -> BrewBuilder",
          "documentation": ""
        },
        {
          "name": "public func build() throws -> Brew",
          "line": 119,
          "signature": "public func build() throws -> Brew",
          "documentation": ""
        },
        {
          "name": "public func topologicalSort(nodes: [NodeId: BrewNode], edges: Set<BrewEdge>) throws -> [NodeId]",
          "line": 200,
          "signature": "public func topologicalSort(nodes: [NodeId: BrewNode], edges: Set<BrewEdge>) throws -> [NodeId]",
          "documentation": ""
        }
      ]
    },
    {
      "path": "forge-swift/Sources/ForgeCore/BrewResolver.swift",
      "sha256": "aff0741b73e8ac116bb77d8da5d94a5ee900fc60c4b732d42ea673ff1839dee5",
      "artifactSha256": "fec09fdcd60f8aca92c8dd28acd7366a2415d5fb1aaacaf3f9f3a1408287a6e6",
      "url": "/reference/source/forge-swift/Sources/ForgeCore/BrewResolver.swift.txt",
      "declarations": [
        {
          "name": "public struct BrewEnvironment: Codable, Sendable",
          "line": 23,
          "signature": "public struct BrewEnvironment: Codable, Sendable",
          "documentation": ""
        },
        {
          "name": "public var providers: [String: ProviderRef]",
          "line": 25,
          "signature": "public var providers: [String: ProviderRef]\n/// Registered tool names available in this environment.\npublic var tools: Set<String>\n/// Connected MCP server identifiers (URIs or aliases).\npublic var mcpServers: Set<String>\n/// Web capabilities available in this environment.\npublic var webCapabilities: Set<String>\n\npublic init(\nproviders: [String: ProviderRef];",
          "documentation": ""
        },
        {
          "name": "public var tools: Set<String>",
          "line": 27,
          "signature": "public var tools: Set<String>\n/// Connected MCP server identifiers (URIs or aliases).\npublic var mcpServers: Set<String>\n/// Web capabilities available in this environment.\npublic var webCapabilities: Set<String>\n\npublic init(\nproviders: [String: ProviderRef];",
          "documentation": ""
        },
        {
          "name": "public var mcpServers: Set<String>",
          "line": 29,
          "signature": "public var mcpServers: Set<String>\n/// Web capabilities available in this environment.\npublic var webCapabilities: Set<String>\n\npublic init(\nproviders: [String: ProviderRef];",
          "documentation": ""
        },
        {
          "name": "public var webCapabilities: Set<String>",
          "line": 31,
          "signature": "public var webCapabilities: Set<String>\n\npublic init(\nproviders: [String: ProviderRef];",
          "documentation": ""
        },
        {
          "name": "public init(",
          "line": 33,
          "signature": "public init(\nproviders: [String: ProviderRef];",
          "documentation": ""
        },
        {
          "name": "public enum BrewResolutionErrorKind: String, Codable, Sendable, Hashable",
          "line": 55,
          "signature": "public enum BrewResolutionErrorKind: String, Codable, Sendable, Hashable",
          "documentation": ""
        },
        {
          "name": "public struct BrewResolutionError: Error, Codable, Sendable, Hashable",
          "line": 71,
          "signature": "public struct BrewResolutionError: Error, Codable, Sendable, Hashable",
          "documentation": ""
        },
        {
          "name": "public let nodeId: NodeId",
          "line": 73,
          "signature": "public let nodeId: NodeId\n/// What went wrong.\npublic let errorKind: BrewResolutionErrorKind\n\npublic init(nodeId: NodeId, errorKind: BrewResolutionErrorKind)",
          "documentation": ""
        },
        {
          "name": "public let errorKind: BrewResolutionErrorKind",
          "line": 75,
          "signature": "public let errorKind: BrewResolutionErrorKind\n\npublic init(nodeId: NodeId, errorKind: BrewResolutionErrorKind)",
          "documentation": ""
        },
        {
          "name": "public init(nodeId: NodeId, errorKind: BrewResolutionErrorKind)",
          "line": 77,
          "signature": "public init(nodeId: NodeId, errorKind: BrewResolutionErrorKind)",
          "documentation": ""
        },
        {
          "name": "public var errorDescription: String?",
          "line": 89,
          "signature": "public var errorDescription: String?",
          "documentation": ""
        },
        {
          "name": "public enum ResolvedNodeKind: Codable, Sendable",
          "line": 98,
          "signature": "public enum ResolvedNodeKind: Codable, Sendable",
          "documentation": ""
        },
        {
          "name": "public init(from decoder: Decoder) throws",
          "line": 128,
          "signature": "public init(from decoder: Decoder) throws",
          "documentation": ""
        },
        {
          "name": "public func encode(to encoder: Encoder) throws",
          "line": 182,
          "signature": "public func encode(to encoder: Encoder) throws",
          "documentation": ""
        },
        {
          "name": "public struct ResolvedNode: Codable, Sendable",
          "line": 224,
          "signature": "public struct ResolvedNode: Codable, Sendable",
          "documentation": ""
        },
        {
          "name": "public let id: NodeId",
          "line": 226,
          "signature": "public let id: NodeId\n/// The resolved (verified) node kind.\npublic let kind: ResolvedNodeKind\n\npublic init(id: NodeId, kind: ResolvedNodeKind)",
          "documentation": ""
        },
        {
          "name": "public let kind: ResolvedNodeKind",
          "line": 228,
          "signature": "public let kind: ResolvedNodeKind\n\npublic init(id: NodeId, kind: ResolvedNodeKind)",
          "documentation": ""
        },
        {
          "name": "public init(id: NodeId, kind: ResolvedNodeKind)",
          "line": 230,
          "signature": "public init(id: NodeId, kind: ResolvedNodeKind)",
          "documentation": ""
        },
        {
          "name": "public struct ResolvedBrewPlan: Codable, Sendable",
          "line": 242,
          "signature": "public struct ResolvedBrewPlan: Codable, Sendable",
          "documentation": ""
        },
        {
          "name": "public let planId: String",
          "line": 244,
          "signature": "public let planId: String\n/// The source brew's identifier.\npublic let brewId: BrewId\n/// The source brew's version.\npublic let brewVersion: BrewVersion\n/// ISO 8601 timestamp of when resolution occurred.\npublic let resolvedAt: String\n/// SHA-256 hash of the serialized `BrewEnvironment`.\npublic let environmentHash: String\n/// Resolved nodes keyed by node ID.\npublic let nodes: [NodeId: ResolvedNode]\n/// Edges from the original brew.\npublic let edges: Set<BrewEdge>\n/// Topologically sorted execution order.\npublic let executionOrder: [NodeId]\n/// Entry nodes from the original brew.\npublic let entryNodes: [NodeId]\n/// Exit nodes from the original brew.\npublic let exitNodes: [NodeId]\n\nprivate enum CodingKeys: String, CodingKey",
          "documentation": ""
        },
        {
          "name": "public let brewId: BrewId",
          "line": 246,
          "signature": "public let brewId: BrewId\n/// The source brew's version.\npublic let brewVersion: BrewVersion\n/// ISO 8601 timestamp of when resolution occurred.\npublic let resolvedAt: String\n/// SHA-256 hash of the serialized `BrewEnvironment`.\npublic let environmentHash: String\n/// Resolved nodes keyed by node ID.\npublic let nodes: [NodeId: ResolvedNode]\n/// Edges from the original brew.\npublic let edges: Set<BrewEdge>\n/// Topologically sorted execution order.\npublic let executionOrder: [NodeId]\n/// Entry nodes from the original brew.\npublic let entryNodes: [NodeId]\n/// Exit nodes from the original brew.\npublic let exitNodes: [NodeId]\n\nprivate enum CodingKeys: String, CodingKey",
          "documentation": ""
        },
        {
          "name": "public let brewVersion: BrewVersion",
          "line": 248,
          "signature": "public let brewVersion: BrewVersion\n/// ISO 8601 timestamp of when resolution occurred.\npublic let resolvedAt: String\n/// SHA-256 hash of the serialized `BrewEnvironment`.\npublic let environmentHash: String\n/// Resolved nodes keyed by node ID.\npublic let nodes: [NodeId: ResolvedNode]\n/// Edges from the original brew.\npublic let edges: Set<BrewEdge>\n/// Topologically sorted execution order.\npublic let executionOrder: [NodeId]\n/// Entry nodes from the original brew.\npublic let entryNodes: [NodeId]\n/// Exit nodes from the original brew.\npublic let exitNodes: [NodeId]\n\nprivate enum CodingKeys: String, CodingKey",
          "documentation": ""
        },
        {
          "name": "public let resolvedAt: String",
          "line": 250,
          "signature": "public let resolvedAt: String\n/// SHA-256 hash of the serialized `BrewEnvironment`.\npublic let environmentHash: String\n/// Resolved nodes keyed by node ID.\npublic let nodes: [NodeId: ResolvedNode]\n/// Edges from the original brew.\npublic let edges: Set<BrewEdge>\n/// Topologically sorted execution order.\npublic let executionOrder: [NodeId]\n/// Entry nodes from the original brew.\npublic let entryNodes: [NodeId]\n/// Exit nodes from the original brew.\npublic let exitNodes: [NodeId]\n\nprivate enum CodingKeys: String, CodingKey",
          "documentation": ""
        },
        {
          "name": "public let environmentHash: String",
          "line": 252,
          "signature": "public let environmentHash: String\n/// Resolved nodes keyed by node ID.\npublic let nodes: [NodeId: ResolvedNode]\n/// Edges from the original brew.\npublic let edges: Set<BrewEdge>\n/// Topologically sorted execution order.\npublic let executionOrder: [NodeId]\n/// Entry nodes from the original brew.\npublic let entryNodes: [NodeId]\n/// Exit nodes from the original brew.\npublic let exitNodes: [NodeId]\n\nprivate enum CodingKeys: String, CodingKey",
          "documentation": ""
        },
        {
          "name": "public let nodes: [NodeId: ResolvedNode]",
          "line": 254,
          "signature": "public let nodes: [NodeId: ResolvedNode]\n/// Edges from the original brew.\npublic let edges: Set<BrewEdge>\n/// Topologically sorted execution order.\npublic let executionOrder: [NodeId]\n/// Entry nodes from the original brew.\npublic let entryNodes: [NodeId]\n/// Exit nodes from the original brew.\npublic let exitNodes: [NodeId]\n\nprivate enum CodingKeys: String, CodingKey",
          "documentation": ""
        },
        {
          "name": "public let edges: Set<BrewEdge>",
          "line": 256,
          "signature": "public let edges: Set<BrewEdge>\n/// Topologically sorted execution order.\npublic let executionOrder: [NodeId]\n/// Entry nodes from the original brew.\npublic let entryNodes: [NodeId]\n/// Exit nodes from the original brew.\npublic let exitNodes: [NodeId]\n\nprivate enum CodingKeys: String, CodingKey",
          "documentation": ""
        },
        {
          "name": "public let executionOrder: [NodeId]",
          "line": 258,
          "signature": "public let executionOrder: [NodeId]\n/// Entry nodes from the original brew.\npublic let entryNodes: [NodeId]\n/// Exit nodes from the original brew.\npublic let exitNodes: [NodeId]\n\nprivate enum CodingKeys: String, CodingKey",
          "documentation": ""
        },
        {
          "name": "public let entryNodes: [NodeId]",
          "line": 260,
          "signature": "public let entryNodes: [NodeId]\n/// Exit nodes from the original brew.\npublic let exitNodes: [NodeId]\n\nprivate enum CodingKeys: String, CodingKey",
          "documentation": ""
        },
        {
          "name": "public let exitNodes: [NodeId]",
          "line": 262,
          "signature": "public let exitNodes: [NodeId]\n\nprivate enum CodingKeys: String, CodingKey",
          "documentation": ""
        },
        {
          "name": "public init(from decoder: Decoder) throws",
          "line": 276,
          "signature": "public init(from decoder: Decoder) throws",
          "documentation": ""
        },
        {
          "name": "public func encode(to encoder: Encoder) throws",
          "line": 291,
          "signature": "public func encode(to encoder: Encoder) throws",
          "documentation": ""
        },
        {
          "name": "public func resolveBrew(_ brew: Brew, environment: BrewEnvironment) throws -> ResolvedBrewPlan",
          "line": 344,
          "signature": "public func resolveBrew(_ brew: Brew, environment: BrewEnvironment) throws -> ResolvedBrewPlan",
          "documentation": ""
        },
        {
          "name": "public struct BrewResolutionErrors: Error, Sendable",
          "line": 383,
          "signature": "public struct BrewResolutionErrors: Error, Sendable",
          "documentation": ""
        },
        {
          "name": "public let errors: [BrewResolutionError]",
          "line": 385,
          "signature": "public let errors: [BrewResolutionError]\n}\n\nextension BrewResolutionErrors: LocalizedError",
          "documentation": ""
        },
        {
          "name": "public var errorDescription: String?",
          "line": 389,
          "signature": "public var errorDescription: String?",
          "documentation": ""
        }
      ]
    },
    {
      "path": "forge-swift/Sources/ForgeCore/Config.swift",
      "sha256": "585aeb82c6b2cfb39edbc5099f6b22a995b84759e2f3343c134db204b9b44644",
      "artifactSha256": "7a44e6fe4ea2e5b4ed867f4dc63652991deb8d93f5dbb555d4359906683c7b4b",
      "url": "/reference/source/forge-swift/Sources/ForgeCore/Config.swift.txt",
      "declarations": [
        {
          "name": "public struct GenerateOptions: Codable, Sendable, Equatable",
          "line": 25,
          "signature": "public struct GenerateOptions: Codable, Sendable, Equatable",
          "documentation": ""
        },
        {
          "name": "public var temperature: Double?",
          "line": 27,
          "signature": "public var temperature: Double?\n/// Maximum tokens to generate.\npublic var maxTokens: Int?\n/// Top-p (nucleus) sampling threshold.\npublic var topP: Double?\n/// Stop sequences -- generation stops when any of these are produced.\npublic var stopSequences: [String]?\n/// Frequency penalty (-2.0 to 2.0).\npublic var frequencyPenalty: Double?\n/// Presence penalty (-2.0 to 2.0).\npublic var presencePenalty: Double?\n/// Seed for deterministic generation (if supported by provider).\npublic var seed: Int?\n/// JSON schema for structured output enforcement.\npublic var outputSchema: JsonSchema?\n\n/// Creates default generate options with all fields nil.\npublic init(\ntemperature: Double?;",
          "documentation": ""
        },
        {
          "name": "public var maxTokens: Int?",
          "line": 29,
          "signature": "public var maxTokens: Int?\n/// Top-p (nucleus) sampling threshold.\npublic var topP: Double?\n/// Stop sequences -- generation stops when any of these are produced.\npublic var stopSequences: [String]?\n/// Frequency penalty (-2.0 to 2.0).\npublic var frequencyPenalty: Double?\n/// Presence penalty (-2.0 to 2.0).\npublic var presencePenalty: Double?\n/// Seed for deterministic generation (if supported by provider).\npublic var seed: Int?\n/// JSON schema for structured output enforcement.\npublic var outputSchema: JsonSchema?\n\n/// Creates default generate options with all fields nil.\npublic init(\ntemperature: Double?;",
          "documentation": ""
        },
        {
          "name": "public var topP: Double?",
          "line": 31,
          "signature": "public var topP: Double?\n/// Stop sequences -- generation stops when any of these are produced.\npublic var stopSequences: [String]?\n/// Frequency penalty (-2.0 to 2.0).\npublic var frequencyPenalty: Double?\n/// Presence penalty (-2.0 to 2.0).\npublic var presencePenalty: Double?\n/// Seed for deterministic generation (if supported by provider).\npublic var seed: Int?\n/// JSON schema for structured output enforcement.\npublic var outputSchema: JsonSchema?\n\n/// Creates default generate options with all fields nil.\npublic init(\ntemperature: Double?;",
          "documentation": ""
        },
        {
          "name": "public var stopSequences: [String]?",
          "line": 33,
          "signature": "public var stopSequences: [String]?\n/// Frequency penalty (-2.0 to 2.0).\npublic var frequencyPenalty: Double?\n/// Presence penalty (-2.0 to 2.0).\npublic var presencePenalty: Double?\n/// Seed for deterministic generation (if supported by provider).\npublic var seed: Int?\n/// JSON schema for structured output enforcement.\npublic var outputSchema: JsonSchema?\n\n/// Creates default generate options with all fields nil.\npublic init(\ntemperature: Double?;",
          "documentation": ""
        },
        {
          "name": "public var frequencyPenalty: Double?",
          "line": 35,
          "signature": "public var frequencyPenalty: Double?\n/// Presence penalty (-2.0 to 2.0).\npublic var presencePenalty: Double?\n/// Seed for deterministic generation (if supported by provider).\npublic var seed: Int?\n/// JSON schema for structured output enforcement.\npublic var outputSchema: JsonSchema?\n\n/// Creates default generate options with all fields nil.\npublic init(\ntemperature: Double?;",
          "documentation": ""
        },
        {
          "name": "public var presencePenalty: Double?",
          "line": 37,
          "signature": "public var presencePenalty: Double?\n/// Seed for deterministic generation (if supported by provider).\npublic var seed: Int?\n/// JSON schema for structured output enforcement.\npublic var outputSchema: JsonSchema?\n\n/// Creates default generate options with all fields nil.\npublic init(\ntemperature: Double?;",
          "documentation": ""
        },
        {
          "name": "public var seed: Int?",
          "line": 39,
          "signature": "public var seed: Int?\n/// JSON schema for structured output enforcement.\npublic var outputSchema: JsonSchema?\n\n/// Creates default generate options with all fields nil.\npublic init(\ntemperature: Double?;",
          "documentation": ""
        },
        {
          "name": "public var outputSchema: JsonSchema?",
          "line": 41,
          "signature": "public var outputSchema: JsonSchema?\n\n/// Creates default generate options with all fields nil.\npublic init(\ntemperature: Double?;",
          "documentation": ""
        },
        {
          "name": "public init(",
          "line": 44,
          "signature": "public init(\ntemperature: Double?;",
          "documentation": ""
        },
        {
          "name": "public func withTemperature(_ temperature: Double) -> GenerateOptions",
          "line": 68,
          "signature": "public func withTemperature(_ temperature: Double) -> GenerateOptions",
          "documentation": ""
        },
        {
          "name": "public func withMaxTokens(_ maxTokens: Int) -> GenerateOptions",
          "line": 78,
          "signature": "public func withMaxTokens(_ maxTokens: Int) -> GenerateOptions",
          "documentation": ""
        },
        {
          "name": "public func withTopP(_ topP: Double) -> GenerateOptions",
          "line": 88,
          "signature": "public func withTopP(_ topP: Double) -> GenerateOptions",
          "documentation": ""
        },
        {
          "name": "public func withStopSequences(_ sequences: [String]) -> GenerateOptions",
          "line": 98,
          "signature": "public func withStopSequences(_ sequences: [String]) -> GenerateOptions",
          "documentation": ""
        },
        {
          "name": "public func withFrequencyPenalty(_ penalty: Double) -> GenerateOptions",
          "line": 108,
          "signature": "public func withFrequencyPenalty(_ penalty: Double) -> GenerateOptions",
          "documentation": ""
        },
        {
          "name": "public func withPresencePenalty(_ penalty: Double) -> GenerateOptions",
          "line": 118,
          "signature": "public func withPresencePenalty(_ penalty: Double) -> GenerateOptions",
          "documentation": ""
        },
        {
          "name": "public func withSeed(_ seed: Int) -> GenerateOptions",
          "line": 128,
          "signature": "public func withSeed(_ seed: Int) -> GenerateOptions",
          "documentation": ""
        },
        {
          "name": "public func withOutputSchema(_ schema: JsonSchema) -> GenerateOptions",
          "line": 138,
          "signature": "public func withOutputSchema(_ schema: JsonSchema) -> GenerateOptions",
          "documentation": ""
        },
        {
          "name": "public struct EmbedOptions: Codable, Sendable, Equatable",
          "line": 148,
          "signature": "public struct EmbedOptions: Codable, Sendable, Equatable",
          "documentation": ""
        },
        {
          "name": "public var model: String?",
          "line": 150,
          "signature": "public var model: String?\n/// Dimensionality of the output embeddings (if configurable).\npublic var dimensions: Int?\n\n/// Creates default embed options.\npublic init(model: String?;",
          "documentation": ""
        },
        {
          "name": "public var dimensions: Int?",
          "line": 152,
          "signature": "public var dimensions: Int?\n\n/// Creates default embed options.\npublic init(model: String?;",
          "documentation": ""
        },
        {
          "name": "public init(model: String?;",
          "line": 155,
          "signature": "public init(model: String?;",
          "documentation": ""
        },
        {
          "name": "public func withModel(_ model: String) -> EmbedOptions",
          "line": 164,
          "signature": "public func withModel(_ model: String) -> EmbedOptions",
          "documentation": ""
        },
        {
          "name": "public func withDimensions(_ dimensions: Int) -> EmbedOptions",
          "line": 174,
          "signature": "public func withDimensions(_ dimensions: Int) -> EmbedOptions",
          "documentation": ""
        }
      ]
    },
    {
      "path": "forge-swift/Sources/ForgeCore/Error.swift",
      "sha256": "d38896eb891e40a473424300b4a5ff2d3eded84552346c1263dfdf7c1383c37f",
      "artifactSha256": "8650ca59b0dc9c3e3e6ac335b135df09db099d73aa864ead0688eeac67ba550c",
      "url": "/reference/source/forge-swift/Sources/ForgeCore/Error.swift.txt",
      "declarations": [
        {
          "name": "public enum ForgeError: Error, Sendable, Equatable",
          "line": 20,
          "signature": "public enum ForgeError: Error, Sendable, Equatable",
          "documentation": ""
        },
        {
          "name": "public var errorDescription: String?",
          "line": 86,
          "signature": "public var errorDescription: String?",
          "documentation": ""
        }
      ]
    },
    {
      "path": "forge-swift/Sources/ForgeCore/Message.swift",
      "sha256": "49a7a4d70356de9d72adaa7eb930e4fc675c63d7ca4d1e9c7b69c8b59da4461d",
      "artifactSha256": "4e0d51f67748d4d39c03e954a13c0f8b617be08ffa7b728bb917c061cc06510d",
      "url": "/reference/source/forge-swift/Sources/ForgeCore/Message.swift.txt",
      "declarations": [
        {
          "name": "public enum Role: String, Codable, Sendable, Hashable, CaseIterable",
          "line": 24,
          "signature": "public enum Role: String, Codable, Sendable, Hashable, CaseIterable",
          "documentation": ""
        },
        {
          "name": "public var description: String",
          "line": 36,
          "signature": "public var description: String",
          "documentation": ""
        },
        {
          "name": "public enum MessagePart: Sendable, Equatable",
          "line": 47,
          "signature": "public enum MessagePart: Sendable, Equatable",
          "documentation": ""
        },
        {
          "name": "public var isToolCall: Bool",
          "line": 60,
          "signature": "public var isToolCall: Bool",
          "documentation": ""
        },
        {
          "name": "public var isToolResult: Bool",
          "line": 66,
          "signature": "public var isToolResult: Bool",
          "documentation": ""
        },
        {
          "name": "public var asText: String?",
          "line": 74,
          "signature": "public var asText: String?",
          "documentation": ""
        },
        {
          "name": "public init(from decoder: Decoder) throws",
          "line": 89,
          "signature": "public init(from decoder: Decoder) throws",
          "documentation": ""
        },
        {
          "name": "public func encode(to encoder: Encoder) throws",
          "line": 121,
          "signature": "public func encode(to encoder: Encoder) throws",
          "documentation": ""
        },
        {
          "name": "public struct ModelMessage: Codable, Sendable, Equatable",
          "line": 154,
          "signature": "public struct ModelMessage: Codable, Sendable, Equatable",
          "documentation": ""
        },
        {
          "name": "public let role: Role",
          "line": 156,
          "signature": "public let role: Role\n/// One or more content parts.\npublic var parts: [MessagePart]\n\n/// Creates a new message with the given role and content parts.\n///\n/// - Parameters:\n///   - role: The message participant role.\n///   - parts: One or more content parts.\npublic init(role: Role, parts: [MessagePart])",
          "documentation": ""
        },
        {
          "name": "public var parts: [MessagePart]",
          "line": 158,
          "signature": "public var parts: [MessagePart]\n\n/// Creates a new message with the given role and content parts.\n///\n/// - Parameters:\n///   - role: The message participant role.\n///   - parts: One or more content parts.\npublic init(role: Role, parts: [MessagePart])",
          "documentation": ""
        },
        {
          "name": "public init(role: Role, parts: [MessagePart])",
          "line": 165,
          "signature": "public init(role: Role, parts: [MessagePart])",
          "documentation": ""
        },
        {
          "name": "public static func text(_ role: Role, _ text: String) -> ModelMessage",
          "line": 177,
          "signature": "public static func text(_ role: Role, _ text: String) -> ModelMessage",
          "documentation": ""
        },
        {
          "name": "public func toolCalls() -> [MessagePart]",
          "line": 184,
          "signature": "public func toolCalls() -> [MessagePart]",
          "documentation": ""
        },
        {
          "name": "public func textContent() -> String",
          "line": 193,
          "signature": "public func textContent() -> String",
          "documentation": ""
        }
      ]
    },
    {
      "path": "forge-swift/Sources/ForgeCore/Model.swift",
      "sha256": "da8b66acadd73c22991e70e0de0718ce2ab99a96df6b3ebe98ddfdec34423909",
      "artifactSha256": "a0aaf5fff5ba2ae03221642558224afd2e1c407de6b0be14510dd2749a648dcd",
      "url": "/reference/source/forge-swift/Sources/ForgeCore/Model.swift.txt",
      "declarations": [
        {
          "name": "public protocol LanguageModel: Sendable",
          "line": 25,
          "signature": "public protocol LanguageModel: Sendable",
          "documentation": ""
        },
        {
          "name": "public var supportsToolCalling: Bool",
          "line": 77,
          "signature": "public var supportsToolCalling: Bool",
          "documentation": ""
        },
        {
          "name": "public var supportsStructuredOutput: Bool",
          "line": 78,
          "signature": "public var supportsStructuredOutput: Bool",
          "documentation": ""
        },
        {
          "name": "public var supportsImageInput: Bool",
          "line": 79,
          "signature": "public var supportsImageInput: Bool",
          "documentation": ""
        },
        {
          "name": "public var supportsStreaming: Bool",
          "line": 80,
          "signature": "public var supportsStreaming: Bool",
          "documentation": ""
        }
      ]
    },
    {
      "path": "forge-swift/Sources/ForgeCore/Output.swift",
      "sha256": "a5595119f48983130b5e670719717f943a078153e633e849a3bc257a3a3c9bb1",
      "artifactSha256": "3ea15d9b10503099e74a52871331e3f97c0c78cd596846610d8761e4f28e3e6f",
      "url": "/reference/source/forge-swift/Sources/ForgeCore/Output.swift.txt",
      "declarations": [
        {
          "name": "public enum FinishReason: String, Codable, Sendable, Hashable, CaseIterable",
          "line": 16,
          "signature": "public enum FinishReason: String, Codable, Sendable, Hashable, CaseIterable",
          "documentation": ""
        },
        {
          "name": "public var isComplete: Bool",
          "line": 33,
          "signature": "public var isComplete: Bool",
          "documentation": ""
        },
        {
          "name": "public var isToolCall: Bool",
          "line": 38,
          "signature": "public var isToolCall: Bool",
          "documentation": ""
        },
        {
          "name": "public var description: String",
          "line": 44,
          "signature": "public var description: String",
          "documentation": ""
        },
        {
          "name": "public struct Usage: Codable, Sendable, Equatable",
          "line": 50,
          "signature": "public struct Usage: Codable, Sendable, Equatable",
          "documentation": ""
        },
        {
          "name": "public let promptTokens: Int",
          "line": 52,
          "signature": "public let promptTokens: Int\n/// Tokens generated in the response.\npublic let completionTokens: Int\n/// Total tokens (prompt + completion).\npublic let totalTokens: Int\n\npublic init(promptTokens: Int, completionTokens: Int, totalTokens: Int)",
          "documentation": ""
        },
        {
          "name": "public let completionTokens: Int",
          "line": 54,
          "signature": "public let completionTokens: Int\n/// Total tokens (prompt + completion).\npublic let totalTokens: Int\n\npublic init(promptTokens: Int, completionTokens: Int, totalTokens: Int)",
          "documentation": ""
        },
        {
          "name": "public let totalTokens: Int",
          "line": 56,
          "signature": "public let totalTokens: Int\n\npublic init(promptTokens: Int, completionTokens: Int, totalTokens: Int)",
          "documentation": ""
        },
        {
          "name": "public init(promptTokens: Int, completionTokens: Int, totalTokens: Int)",
          "line": 58,
          "signature": "public init(promptTokens: Int, completionTokens: Int, totalTokens: Int)",
          "documentation": ""
        },
        {
          "name": "public static func zero() -> Usage",
          "line": 65,
          "signature": "public static func zero() -> Usage",
          "documentation": ""
        },
        {
          "name": "public func adding(_ other: Usage) -> Usage",
          "line": 73,
          "signature": "public func adding(_ other: Usage) -> Usage",
          "documentation": ""
        },
        {
          "name": "public struct GenerateResult: Sendable",
          "line": 88,
          "signature": "public struct GenerateResult: Sendable",
          "documentation": ""
        },
        {
          "name": "public let message: ModelMessage",
          "line": 90,
          "signature": "public let message: ModelMessage\n/// Why generation stopped.\npublic let finishReason: FinishReason\n/// Token usage statistics.\npublic let usage: Usage\n\npublic init(message: ModelMessage, finishReason: FinishReason, usage: Usage)",
          "documentation": ""
        },
        {
          "name": "public let finishReason: FinishReason",
          "line": 92,
          "signature": "public let finishReason: FinishReason\n/// Token usage statistics.\npublic let usage: Usage\n\npublic init(message: ModelMessage, finishReason: FinishReason, usage: Usage)",
          "documentation": ""
        },
        {
          "name": "public let usage: Usage",
          "line": 94,
          "signature": "public let usage: Usage\n\npublic init(message: ModelMessage, finishReason: FinishReason, usage: Usage)",
          "documentation": ""
        },
        {
          "name": "public init(message: ModelMessage, finishReason: FinishReason, usage: Usage)",
          "line": 96,
          "signature": "public init(message: ModelMessage, finishReason: FinishReason, usage: Usage)",
          "documentation": ""
        },
        {
          "name": "public var text: String",
          "line": 103,
          "signature": "public var text: String",
          "documentation": ""
        },
        {
          "name": "public var hasToolCalls: Bool",
          "line": 108,
          "signature": "public var hasToolCalls: Bool",
          "documentation": ""
        },
        {
          "name": "public enum StreamChunk: Sendable, Equatable",
          "line": 119,
          "signature": "public enum StreamChunk: Sendable, Equatable",
          "documentation": ""
        },
        {
          "name": "public static func text(_ text: String) -> StreamChunk",
          "line": 133,
          "signature": "public static func text(_ text: String) -> StreamChunk",
          "documentation": ""
        },
        {
          "name": "public var isTextDelta: Bool",
          "line": 138,
          "signature": "public var isTextDelta: Bool",
          "documentation": ""
        },
        {
          "name": "public var isDone: Bool",
          "line": 144,
          "signature": "public var isDone: Bool",
          "documentation": ""
        },
        {
          "name": "public var asText: String?",
          "line": 150,
          "signature": "public var asText: String?",
          "documentation": ""
        },
        {
          "name": "public init(from decoder: Decoder) throws",
          "line": 161,
          "signature": "public init(from decoder: Decoder) throws",
          "documentation": ""
        },
        {
          "name": "public func encode(to encoder: Encoder) throws",
          "line": 188,
          "signature": "public func encode(to encoder: Encoder) throws",
          "documentation": ""
        }
      ]
    },
    {
      "path": "forge-swift/Sources/ForgeCore/Provider.swift",
      "sha256": "74a2d6d36da0307a4808db60e16cfd537250ac8a2ef035765146ef4da67b117d",
      "artifactSha256": "c033f77a933002d5168f2d47e6e8c902de391737c606cc6704af9f64a904e219",
      "url": "/reference/source/forge-swift/Sources/ForgeCore/Provider.swift.txt",
      "declarations": [
        {
          "name": "public struct ProviderRef: Codable, Sendable, Hashable, Equatable",
          "line": 23,
          "signature": "public struct ProviderRef: Codable, Sendable, Hashable, Equatable",
          "documentation": ""
        },
        {
          "name": "public let namespace: String",
          "line": 25,
          "signature": "public let namespace: String\n/// The model name (e.g., \"gpt-4o\").\npublic let model: String\n/// The full reference string (e.g., \"openai:gpt-4o\").\npublic let full: String\n\n/// Parses a provider reference string.\n///\n/// - Parameter input: A string in `namespace:model` format.\n/// - Returns: The parsed `ProviderRef`.\n/// - Throws: `ForgeError.invalidProviderRef` if the input does not contain\n///   exactly one colon separator, or if either part is empty.\npublic static func parse(_ input: String) throws -> ProviderRef",
          "documentation": ""
        },
        {
          "name": "public let model: String",
          "line": 27,
          "signature": "public let model: String\n/// The full reference string (e.g., \"openai:gpt-4o\").\npublic let full: String\n\n/// Parses a provider reference string.\n///\n/// - Parameter input: A string in `namespace:model` format.\n/// - Returns: The parsed `ProviderRef`.\n/// - Throws: `ForgeError.invalidProviderRef` if the input does not contain\n///   exactly one colon separator, or if either part is empty.\npublic static func parse(_ input: String) throws -> ProviderRef",
          "documentation": ""
        },
        {
          "name": "public let full: String",
          "line": 29,
          "signature": "public let full: String\n\n/// Parses a provider reference string.\n///\n/// - Parameter input: A string in `namespace:model` format.\n/// - Returns: The parsed `ProviderRef`.\n/// - Throws: `ForgeError.invalidProviderRef` if the input does not contain\n///   exactly one colon separator, or if either part is empty.\npublic static func parse(_ input: String) throws -> ProviderRef",
          "documentation": ""
        },
        {
          "name": "public static func parse(_ input: String) throws -> ProviderRef",
          "line": 37,
          "signature": "public static func parse(_ input: String) throws -> ProviderRef",
          "documentation": ""
        },
        {
          "name": "public var description: String",
          "line": 47,
          "signature": "public var description: String",
          "documentation": ""
        },
        {
          "name": "public struct ProviderMetadata: Codable, Sendable",
          "line": 53,
          "signature": "public struct ProviderMetadata: Codable, Sendable",
          "documentation": ""
        },
        {
          "name": "public let name: String",
          "line": 55,
          "signature": "public let name: String\n/// Provider namespace (e.g., \"openai\").\npublic let namespace: String\n/// Whether the provider supports tool calling.\npublic let supportsToolCalling: Bool\n/// Whether the provider supports structured output.\npublic let supportsStructuredOutput: Bool\n/// Whether the provider supports streaming.\npublic let supportsStreaming: Bool\n/// Whether the provider supports image input.\npublic let supportsImageInput: Bool\n/// Provider-session runtime capabilities for coding-style integrations.\npublic let runtimeCapabilities: ProviderRuntimeCapabilities\n\npublic init(\nname: String,\nnamespace: String,\nsupportsToolCalling: Bool,\nsupportsStructuredOutput: Bool,\nsupportsStreaming: Bool,\nsupportsImageInput: Bool,\nruntimeCapabilities: ProviderRuntimeCapabilities;",
          "documentation": ""
        },
        {
          "name": "public let namespace: String",
          "line": 57,
          "signature": "public let namespace: String\n/// Whether the provider supports tool calling.\npublic let supportsToolCalling: Bool\n/// Whether the provider supports structured output.\npublic let supportsStructuredOutput: Bool\n/// Whether the provider supports streaming.\npublic let supportsStreaming: Bool\n/// Whether the provider supports image input.\npublic let supportsImageInput: Bool\n/// Provider-session runtime capabilities for coding-style integrations.\npublic let runtimeCapabilities: ProviderRuntimeCapabilities\n\npublic init(\nname: String,\nnamespace: String,\nsupportsToolCalling: Bool,\nsupportsStructuredOutput: Bool,\nsupportsStreaming: Bool,\nsupportsImageInput: Bool,\nruntimeCapabilities: ProviderRuntimeCapabilities;",
          "documentation": ""
        },
        {
          "name": "public let supportsToolCalling: Bool",
          "line": 59,
          "signature": "public let supportsToolCalling: Bool\n/// Whether the provider supports structured output.\npublic let supportsStructuredOutput: Bool\n/// Whether the provider supports streaming.\npublic let supportsStreaming: Bool\n/// Whether the provider supports image input.\npublic let supportsImageInput: Bool\n/// Provider-session runtime capabilities for coding-style integrations.\npublic let runtimeCapabilities: ProviderRuntimeCapabilities\n\npublic init(\nname: String,\nnamespace: String,\nsupportsToolCalling: Bool,\nsupportsStructuredOutput: Bool,\nsupportsStreaming: Bool,\nsupportsImageInput: Bool,\nruntimeCapabilities: ProviderRuntimeCapabilities;",
          "documentation": ""
        },
        {
          "name": "public let supportsStructuredOutput: Bool",
          "line": 61,
          "signature": "public let supportsStructuredOutput: Bool\n/// Whether the provider supports streaming.\npublic let supportsStreaming: Bool\n/// Whether the provider supports image input.\npublic let supportsImageInput: Bool\n/// Provider-session runtime capabilities for coding-style integrations.\npublic let runtimeCapabilities: ProviderRuntimeCapabilities\n\npublic init(\nname: String,\nnamespace: String,\nsupportsToolCalling: Bool,\nsupportsStructuredOutput: Bool,\nsupportsStreaming: Bool,\nsupportsImageInput: Bool,\nruntimeCapabilities: ProviderRuntimeCapabilities;",
          "documentation": ""
        },
        {
          "name": "public let supportsStreaming: Bool",
          "line": 63,
          "signature": "public let supportsStreaming: Bool\n/// Whether the provider supports image input.\npublic let supportsImageInput: Bool\n/// Provider-session runtime capabilities for coding-style integrations.\npublic let runtimeCapabilities: ProviderRuntimeCapabilities\n\npublic init(\nname: String,\nnamespace: String,\nsupportsToolCalling: Bool,\nsupportsStructuredOutput: Bool,\nsupportsStreaming: Bool,\nsupportsImageInput: Bool,\nruntimeCapabilities: ProviderRuntimeCapabilities;",
          "documentation": ""
        },
        {
          "name": "public let supportsImageInput: Bool",
          "line": 65,
          "signature": "public let supportsImageInput: Bool\n/// Provider-session runtime capabilities for coding-style integrations.\npublic let runtimeCapabilities: ProviderRuntimeCapabilities\n\npublic init(\nname: String,\nnamespace: String,\nsupportsToolCalling: Bool,\nsupportsStructuredOutput: Bool,\nsupportsStreaming: Bool,\nsupportsImageInput: Bool,\nruntimeCapabilities: ProviderRuntimeCapabilities;",
          "documentation": ""
        },
        {
          "name": "public let runtimeCapabilities: ProviderRuntimeCapabilities",
          "line": 67,
          "signature": "public let runtimeCapabilities: ProviderRuntimeCapabilities\n\npublic init(\nname: String,\nnamespace: String,\nsupportsToolCalling: Bool,\nsupportsStructuredOutput: Bool,\nsupportsStreaming: Bool,\nsupportsImageInput: Bool,\nruntimeCapabilities: ProviderRuntimeCapabilities;",
          "documentation": ""
        },
        {
          "name": "public init(",
          "line": 69,
          "signature": "public init(\nname: String,\nnamespace: String,\nsupportsToolCalling: Bool,\nsupportsStructuredOutput: Bool,\nsupportsStreaming: Bool,\nsupportsImageInput: Bool,\nruntimeCapabilities: ProviderRuntimeCapabilities;",
          "documentation": ""
        },
        {
          "name": "public enum RuntimeCapability: String, Codable, Sendable, Hashable, CaseIterable",
          "line": 89,
          "signature": "public enum RuntimeCapability: String, Codable, Sendable, Hashable, CaseIterable",
          "documentation": ""
        },
        {
          "name": "public struct ProviderRuntimeCapabilities: Codable, Sendable, Equatable",
          "line": 103,
          "signature": "public struct ProviderRuntimeCapabilities: Codable, Sendable, Equatable",
          "documentation": ""
        },
        {
          "name": "public let baselineContract: Bool",
          "line": 104,
          "signature": "public let baselineContract: Bool\npublic let capabilities: Set<RuntimeCapability>\n\npublic init(\nbaselineContract: Bool;",
          "documentation": ""
        },
        {
          "name": "public let capabilities: Set<RuntimeCapability>",
          "line": 105,
          "signature": "public let capabilities: Set<RuntimeCapability>\n\npublic init(\nbaselineContract: Bool;",
          "documentation": ""
        },
        {
          "name": "public init(",
          "line": 107,
          "signature": "public init(\nbaselineContract: Bool;",
          "documentation": ""
        },
        {
          "name": "public static func baseline() -> ProviderRuntimeCapabilities",
          "line": 115,
          "signature": "public static func baseline() -> ProviderRuntimeCapabilities",
          "documentation": ""
        },
        {
          "name": "public func withCapability(_ capability: RuntimeCapability) -> ProviderRuntimeCapabilities",
          "line": 119,
          "signature": "public func withCapability(_ capability: RuntimeCapability) -> ProviderRuntimeCapabilities",
          "documentation": ""
        },
        {
          "name": "public func supports(_ capability: RuntimeCapability) -> Bool",
          "line": 128,
          "signature": "public func supports(_ capability: RuntimeCapability) -> Bool",
          "documentation": ""
        },
        {
          "name": "public struct ProviderNegotiationRequest: Codable, Sendable, Equatable",
          "line": 133,
          "signature": "public struct ProviderNegotiationRequest: Codable, Sendable, Equatable",
          "documentation": ""
        },
        {
          "name": "public let providerRef: String",
          "line": 134,
          "signature": "public let providerRef: String\npublic let requireBaselineContract: Bool\npublic let requiredCapabilities: [RuntimeCapability]\n\npublic init(\nproviderRef: String,\nrequireBaselineContract: Bool,\nrequiredCapabilities: [RuntimeCapability]\n)",
          "documentation": ""
        },
        {
          "name": "public let requireBaselineContract: Bool",
          "line": 135,
          "signature": "public let requireBaselineContract: Bool\npublic let requiredCapabilities: [RuntimeCapability]\n\npublic init(\nproviderRef: String,\nrequireBaselineContract: Bool,\nrequiredCapabilities: [RuntimeCapability]\n)",
          "documentation": ""
        },
        {
          "name": "public let requiredCapabilities: [RuntimeCapability]",
          "line": 136,
          "signature": "public let requiredCapabilities: [RuntimeCapability]\n\npublic init(\nproviderRef: String,\nrequireBaselineContract: Bool,\nrequiredCapabilities: [RuntimeCapability]\n)",
          "documentation": ""
        },
        {
          "name": "public init(",
          "line": 138,
          "signature": "public init(\nproviderRef: String,\nrequireBaselineContract: Bool,\nrequiredCapabilities: [RuntimeCapability]\n)",
          "documentation": ""
        },
        {
          "name": "public struct ProviderNegotiationResult: Codable, Sendable, Equatable",
          "line": 149,
          "signature": "public struct ProviderNegotiationResult: Codable, Sendable, Equatable",
          "documentation": ""
        },
        {
          "name": "public let providerRef: String",
          "line": 150,
          "signature": "public let providerRef: String\npublic let baselineContract: Bool\npublic let negotiatedCapabilities: [RuntimeCapability]\n}\n\npublic enum ProviderSessionState: String, Codable, Sendable, Hashable, CaseIterable",
          "documentation": ""
        },
        {
          "name": "public let baselineContract: Bool",
          "line": 151,
          "signature": "public let baselineContract: Bool\npublic let negotiatedCapabilities: [RuntimeCapability]\n}\n\npublic enum ProviderSessionState: String, Codable, Sendable, Hashable, CaseIterable",
          "documentation": ""
        },
        {
          "name": "public let negotiatedCapabilities: [RuntimeCapability]",
          "line": 152,
          "signature": "public let negotiatedCapabilities: [RuntimeCapability]\n}\n\npublic enum ProviderSessionState: String, Codable, Sendable, Hashable, CaseIterable",
          "documentation": ""
        },
        {
          "name": "public enum ProviderSessionState: String, Codable, Sendable, Hashable, CaseIterable",
          "line": 155,
          "signature": "public enum ProviderSessionState: String, Codable, Sendable, Hashable, CaseIterable",
          "documentation": ""
        },
        {
          "name": "public struct ProviderUsageSummary: Codable, Sendable, Equatable",
          "line": 167,
          "signature": "public struct ProviderUsageSummary: Codable, Sendable, Equatable",
          "documentation": ""
        },
        {
          "name": "public let inputTokens: UInt64",
          "line": 168,
          "signature": "public let inputTokens: UInt64\npublic let outputTokens: UInt64\npublic let totalTokens: UInt64\n\npublic init(inputTokens: UInt64;",
          "documentation": ""
        },
        {
          "name": "public let outputTokens: UInt64",
          "line": 169,
          "signature": "public let outputTokens: UInt64\npublic let totalTokens: UInt64\n\npublic init(inputTokens: UInt64;",
          "documentation": ""
        },
        {
          "name": "public let totalTokens: UInt64",
          "line": 170,
          "signature": "public let totalTokens: UInt64\n\npublic init(inputTokens: UInt64;",
          "documentation": ""
        },
        {
          "name": "public init(inputTokens: UInt64;",
          "line": 172,
          "signature": "public init(inputTokens: UInt64;",
          "documentation": ""
        },
        {
          "name": "public struct ProviderSessionEvent: Codable, Sendable, Equatable",
          "line": 179,
          "signature": "public struct ProviderSessionEvent: Codable, Sendable, Equatable",
          "documentation": ""
        },
        {
          "name": "public let sessionId: String",
          "line": 180,
          "signature": "public let sessionId: String\npublic let state: ProviderSessionState\npublic let message: String?\npublic let usage: ProviderUsageSummary?\n\npublic init(\nsessionId: String,\nstate: ProviderSessionState,\nmessage: String?;",
          "documentation": ""
        },
        {
          "name": "public let state: ProviderSessionState",
          "line": 181,
          "signature": "public let state: ProviderSessionState\npublic let message: String?\npublic let usage: ProviderUsageSummary?\n\npublic init(\nsessionId: String,\nstate: ProviderSessionState,\nmessage: String?;",
          "documentation": ""
        },
        {
          "name": "public let message: String?",
          "line": 182,
          "signature": "public let message: String?\npublic let usage: ProviderUsageSummary?\n\npublic init(\nsessionId: String,\nstate: ProviderSessionState,\nmessage: String?;",
          "documentation": ""
        },
        {
          "name": "public let usage: ProviderUsageSummary?",
          "line": 183,
          "signature": "public let usage: ProviderUsageSummary?\n\npublic init(\nsessionId: String,\nstate: ProviderSessionState,\nmessage: String?;",
          "documentation": ""
        },
        {
          "name": "public init(",
          "line": 185,
          "signature": "public init(\nsessionId: String,\nstate: ProviderSessionState,\nmessage: String?;",
          "documentation": ""
        },
        {
          "name": "public final class ProviderRegistry: @unchecked Sendable",
          "line": 207,
          "signature": "public final class ProviderRegistry: @unchecked Sendable",
          "documentation": ""
        },
        {
          "name": "public init()",
          "line": 213,
          "signature": "public init()",
          "documentation": ""
        },
        {
          "name": "public func register(_ providerRef: String, model: any LanguageModel) throws",
          "line": 221,
          "signature": "public func register(_ providerRef: String, model: any LanguageModel) throws",
          "documentation": ""
        },
        {
          "name": "public func registerWithRuntime(",
          "line": 230,
          "signature": "public func registerWithRuntime(\n_ providerRef: String,\nmodel: any LanguageModel,\nruntimeCapabilities: ProviderRuntimeCapabilities\n) throws",
          "documentation": ""
        },
        {
          "name": "public func get(_ providerRef: String) -> (any LanguageModel)?",
          "line": 255,
          "signature": "public func get(_ providerRef: String) -> (any LanguageModel)?",
          "documentation": ""
        },
        {
          "name": "public func require(_ providerRef: String) throws -> any LanguageModel",
          "line": 266,
          "signature": "public func require(_ providerRef: String) throws -> any LanguageModel",
          "documentation": ""
        },
        {
          "name": "public func getMetadata(_ providerRef: String) -> ProviderMetadata?",
          "line": 277,
          "signature": "public func getMetadata(_ providerRef: String) -> ProviderMetadata?",
          "documentation": ""
        },
        {
          "name": "public func list() -> [String]",
          "line": 286,
          "signature": "public func list() -> [String]",
          "documentation": ""
        },
        {
          "name": "public var count: Int",
          "line": 293,
          "signature": "public var count: Int",
          "documentation": ""
        },
        {
          "name": "public var isEmpty: Bool",
          "line": 300,
          "signature": "public var isEmpty: Bool",
          "documentation": ""
        },
        {
          "name": "public func negotiate(",
          "line": 307,
          "signature": "public func negotiate(\n_ request: ProviderNegotiationRequest\n) throws -> ProviderNegotiationResult",
          "documentation": ""
        },
        {
          "name": "public enum ProviderFamily: String, Codable, Sendable, Hashable, CaseIterable",
          "line": 340,
          "signature": "public enum ProviderFamily: String, Codable, Sendable, Hashable, CaseIterable",
          "documentation": ""
        },
        {
          "name": "public enum AuthStrategy: String, Codable, Sendable, Hashable, CaseIterable",
          "line": 346,
          "signature": "public enum AuthStrategy: String, Codable, Sendable, Hashable, CaseIterable",
          "documentation": ""
        },
        {
          "name": "public struct ProviderPreset: Codable, Sendable, Equatable",
          "line": 354,
          "signature": "public struct ProviderPreset: Codable, Sendable, Equatable",
          "documentation": ""
        },
        {
          "name": "public let namespace: String",
          "line": 355,
          "signature": "public let namespace: String\npublic let family: ProviderFamily\npublic let authStrategy: AuthStrategy\n\npublic init(namespace: String, family: ProviderFamily, authStrategy: AuthStrategy)",
          "documentation": ""
        },
        {
          "name": "public let family: ProviderFamily",
          "line": 356,
          "signature": "public let family: ProviderFamily\npublic let authStrategy: AuthStrategy\n\npublic init(namespace: String, family: ProviderFamily, authStrategy: AuthStrategy)",
          "documentation": ""
        },
        {
          "name": "public let authStrategy: AuthStrategy",
          "line": 357,
          "signature": "public let authStrategy: AuthStrategy\n\npublic init(namespace: String, family: ProviderFamily, authStrategy: AuthStrategy)",
          "documentation": ""
        },
        {
          "name": "public init(namespace: String, family: ProviderFamily, authStrategy: AuthStrategy)",
          "line": 359,
          "signature": "public init(namespace: String, family: ProviderFamily, authStrategy: AuthStrategy)",
          "documentation": ""
        },
        {
          "name": "public typealias ProviderEnvironment;",
          "line": 366,
          "signature": "public typealias ProviderEnvironment;",
          "documentation": ""
        },
        {
          "name": "public typealias ProviderGenerateHandler;",
          "line": 367,
          "signature": "public typealias ProviderGenerateHandler;",
          "documentation": ""
        },
        {
          "name": "public typealias ProviderStreamHandler;",
          "line": 368,
          "signature": "public typealias ProviderStreamHandler;",
          "documentation": ""
        },
        {
          "name": "public struct ProviderExecutionRequest: Sendable",
          "line": 370,
          "signature": "public struct ProviderExecutionRequest: Sendable",
          "documentation": ""
        },
        {
          "name": "public let providerRef: String",
          "line": 371,
          "signature": "public let providerRef: String\npublic let namespace: String\npublic let modelId: String\npublic let family: ProviderFamily\npublic let authStrategy: AuthStrategy\npublic let credential: String\npublic let baseURL: String?\npublic let messages: [ModelMessage]\npublic let tools: [ToolDefinition]\npublic let options: GenerateOptions\n\npublic init(\nproviderRef: String,\nnamespace: String,\nmodelId: String,\nfamily: ProviderFamily,\nauthStrategy: AuthStrategy,\ncredential: String,\nbaseURL: String?,\nmessages: [ModelMessage],\ntools: [ToolDefinition],\noptions: GenerateOptions\n)",
          "documentation": ""
        },
        {
          "name": "public let namespace: String",
          "line": 372,
          "signature": "public let namespace: String\npublic let modelId: String\npublic let family: ProviderFamily\npublic let authStrategy: AuthStrategy\npublic let credential: String\npublic let baseURL: String?\npublic let messages: [ModelMessage]\npublic let tools: [ToolDefinition]\npublic let options: GenerateOptions\n\npublic init(\nproviderRef: String,\nnamespace: String,\nmodelId: String,\nfamily: ProviderFamily,\nauthStrategy: AuthStrategy,\ncredential: String,\nbaseURL: String?,\nmessages: [ModelMessage],\ntools: [ToolDefinition],\noptions: GenerateOptions\n)",
          "documentation": ""
        },
        {
          "name": "public let modelId: String",
          "line": 373,
          "signature": "public let modelId: String\npublic let family: ProviderFamily\npublic let authStrategy: AuthStrategy\npublic let credential: String\npublic let baseURL: String?\npublic let messages: [ModelMessage]\npublic let tools: [ToolDefinition]\npublic let options: GenerateOptions\n\npublic init(\nproviderRef: String,\nnamespace: String,\nmodelId: String,\nfamily: ProviderFamily,\nauthStrategy: AuthStrategy,\ncredential: String,\nbaseURL: String?,\nmessages: [ModelMessage],\ntools: [ToolDefinition],\noptions: GenerateOptions\n)",
          "documentation": ""
        },
        {
          "name": "public let family: ProviderFamily",
          "line": 374,
          "signature": "public let family: ProviderFamily\npublic let authStrategy: AuthStrategy\npublic let credential: String\npublic let baseURL: String?\npublic let messages: [ModelMessage]\npublic let tools: [ToolDefinition]\npublic let options: GenerateOptions\n\npublic init(\nproviderRef: String,\nnamespace: String,\nmodelId: String,\nfamily: ProviderFamily,\nauthStrategy: AuthStrategy,\ncredential: String,\nbaseURL: String?,\nmessages: [ModelMessage],\ntools: [ToolDefinition],\noptions: GenerateOptions\n)",
          "documentation": ""
        },
        {
          "name": "public let authStrategy: AuthStrategy",
          "line": 375,
          "signature": "public let authStrategy: AuthStrategy\npublic let credential: String\npublic let baseURL: String?\npublic let messages: [ModelMessage]\npublic let tools: [ToolDefinition]\npublic let options: GenerateOptions\n\npublic init(\nproviderRef: String,\nnamespace: String,\nmodelId: String,\nfamily: ProviderFamily,\nauthStrategy: AuthStrategy,\ncredential: String,\nbaseURL: String?,\nmessages: [ModelMessage],\ntools: [ToolDefinition],\noptions: GenerateOptions\n)",
          "documentation": ""
        },
        {
          "name": "public let credential: String",
          "line": 376,
          "signature": "public let credential: String\npublic let baseURL: String?\npublic let messages: [ModelMessage]\npublic let tools: [ToolDefinition]\npublic let options: GenerateOptions\n\npublic init(\nproviderRef: String,\nnamespace: String,\nmodelId: String,\nfamily: ProviderFamily,\nauthStrategy: AuthStrategy,\ncredential: String,\nbaseURL: String?,\nmessages: [ModelMessage],\ntools: [ToolDefinition],\noptions: GenerateOptions\n)",
          "documentation": ""
        },
        {
          "name": "public let baseURL: String?",
          "line": 377,
          "signature": "public let baseURL: String?\npublic let messages: [ModelMessage]\npublic let tools: [ToolDefinition]\npublic let options: GenerateOptions\n\npublic init(\nproviderRef: String,\nnamespace: String,\nmodelId: String,\nfamily: ProviderFamily,\nauthStrategy: AuthStrategy,\ncredential: String,\nbaseURL: String?,\nmessages: [ModelMessage],\ntools: [ToolDefinition],\noptions: GenerateOptions\n)",
          "documentation": ""
        },
        {
          "name": "public let messages: [ModelMessage]",
          "line": 378,
          "signature": "public let messages: [ModelMessage]\npublic let tools: [ToolDefinition]\npublic let options: GenerateOptions\n\npublic init(\nproviderRef: String,\nnamespace: String,\nmodelId: String,\nfamily: ProviderFamily,\nauthStrategy: AuthStrategy,\ncredential: String,\nbaseURL: String?,\nmessages: [ModelMessage],\ntools: [ToolDefinition],\noptions: GenerateOptions\n)",
          "documentation": ""
        },
        {
          "name": "public let tools: [ToolDefinition]",
          "line": 379,
          "signature": "public let tools: [ToolDefinition]\npublic let options: GenerateOptions\n\npublic init(\nproviderRef: String,\nnamespace: String,\nmodelId: String,\nfamily: ProviderFamily,\nauthStrategy: AuthStrategy,\ncredential: String,\nbaseURL: String?,\nmessages: [ModelMessage],\ntools: [ToolDefinition],\noptions: GenerateOptions\n)",
          "documentation": ""
        },
        {
          "name": "public let options: GenerateOptions",
          "line": 380,
          "signature": "public let options: GenerateOptions\n\npublic init(\nproviderRef: String,\nnamespace: String,\nmodelId: String,\nfamily: ProviderFamily,\nauthStrategy: AuthStrategy,\ncredential: String,\nbaseURL: String?,\nmessages: [ModelMessage],\ntools: [ToolDefinition],\noptions: GenerateOptions\n)",
          "documentation": ""
        },
        {
          "name": "public init(",
          "line": 382,
          "signature": "public init(\nproviderRef: String,\nnamespace: String,\nmodelId: String,\nfamily: ProviderFamily,\nauthStrategy: AuthStrategy,\ncredential: String,\nbaseURL: String?,\nmessages: [ModelMessage],\ntools: [ToolDefinition],\noptions: GenerateOptions\n)",
          "documentation": ""
        },
        {
          "name": "public struct ProviderInstallOptions: Sendable",
          "line": 407,
          "signature": "public struct ProviderInstallOptions: Sendable",
          "documentation": ""
        },
        {
          "name": "public let environment: ProviderEnvironment?",
          "line": 408,
          "signature": "public let environment: ProviderEnvironment?\npublic let generate: ProviderGenerateHandler?\npublic let stream: ProviderStreamHandler?\n\npublic init(\nenvironment: ProviderEnvironment?;",
          "documentation": ""
        },
        {
          "name": "public let generate: ProviderGenerateHandler?",
          "line": 409,
          "signature": "public let generate: ProviderGenerateHandler?\npublic let stream: ProviderStreamHandler?\n\npublic init(\nenvironment: ProviderEnvironment?;",
          "documentation": ""
        },
        {
          "name": "public let stream: ProviderStreamHandler?",
          "line": 410,
          "signature": "public let stream: ProviderStreamHandler?\n\npublic init(\nenvironment: ProviderEnvironment?;",
          "documentation": ""
        },
        {
          "name": "public init(",
          "line": 412,
          "signature": "public init(\nenvironment: ProviderEnvironment?;",
          "documentation": ""
        },
        {
          "name": "public func approvedCodingProviderPresets() -> [ProviderPreset]",
          "line": 474,
          "signature": "public func approvedCodingProviderPresets() -> [ProviderPreset]",
          "documentation": ""
        },
        {
          "name": "public func approvedDirectProviderPresets() -> [ProviderPreset]",
          "line": 484,
          "signature": "public func approvedDirectProviderPresets() -> [ProviderPreset]",
          "documentation": ""
        },
        {
          "name": "public func approvedGatewayProviderPresets() -> [ProviderPreset]",
          "line": 502,
          "signature": "public func approvedGatewayProviderPresets() -> [ProviderPreset]",
          "documentation": ""
        },
        {
          "name": "public func registerOfficialCodingProviders(",
          "line": 512,
          "signature": "public func registerOfficialCodingProviders(\n_ registry: ProviderRegistry,\noptions: ProviderInstallOptions;",
          "documentation": ""
        },
        {
          "name": "public func registerDefaultCoreDirectProviders(",
          "line": 643,
          "signature": "public func registerDefaultCoreDirectProviders(\n_ registry: ProviderRegistry,\noptions: ProviderInstallOptions;",
          "documentation": ""
        },
        {
          "name": "public func registerOpenAiModel(",
          "line": 655,
          "signature": "public func registerOpenAiModel(\n_ registry: ProviderRegistry,\nmodelId: String,\noptions: ProviderInstallOptions;",
          "documentation": ""
        },
        {
          "name": "public func registerAnthropicModel(",
          "line": 683,
          "signature": "public func registerAnthropicModel(\n_ registry: ProviderRegistry,\nmodelId: String,\noptions: ProviderInstallOptions;",
          "documentation": ""
        },
        {
          "name": "public func registerGoogleModel(",
          "line": 711,
          "signature": "public func registerGoogleModel(\n_ registry: ProviderRegistry,\nmodelId: String,\noptions: ProviderInstallOptions;",
          "documentation": ""
        },
        {
          "name": "public func registerXaiModel(_ registry: ProviderRegistry, modelId: String, options: ProviderInstallOptions;",
          "line": 739,
          "signature": "public func registerXaiModel(_ registry: ProviderRegistry, modelId: String, options: ProviderInstallOptions;",
          "documentation": ""
        },
        {
          "name": "public func registerDeepSeekModel(_ registry: ProviderRegistry, modelId: String, options: ProviderInstallOptions;",
          "line": 744,
          "signature": "public func registerDeepSeekModel(_ registry: ProviderRegistry, modelId: String, options: ProviderInstallOptions;",
          "documentation": ""
        },
        {
          "name": "public func registerMistralModel(_ registry: ProviderRegistry, modelId: String, options: ProviderInstallOptions;",
          "line": 749,
          "signature": "public func registerMistralModel(_ registry: ProviderRegistry, modelId: String, options: ProviderInstallOptions;",
          "documentation": ""
        },
        {
          "name": "public func registerCohereModel(_ registry: ProviderRegistry, modelId: String, options: ProviderInstallOptions;",
          "line": 754,
          "signature": "public func registerCohereModel(_ registry: ProviderRegistry, modelId: String, options: ProviderInstallOptions;",
          "documentation": ""
        },
        {
          "name": "public func registerGroqModel(_ registry: ProviderRegistry, modelId: String, options: ProviderInstallOptions;",
          "line": 759,
          "signature": "public func registerGroqModel(_ registry: ProviderRegistry, modelId: String, options: ProviderInstallOptions;",
          "documentation": ""
        },
        {
          "name": "public func registerMoonshotModel(_ registry: ProviderRegistry, modelId: String, options: ProviderInstallOptions;",
          "line": 764,
          "signature": "public func registerMoonshotModel(_ registry: ProviderRegistry, modelId: String, options: ProviderInstallOptions;",
          "documentation": ""
        },
        {
          "name": "public func registerZaiModel(_ registry: ProviderRegistry, modelId: String, options: ProviderInstallOptions;",
          "line": 769,
          "signature": "public func registerZaiModel(_ registry: ProviderRegistry, modelId: String, options: ProviderInstallOptions;",
          "documentation": ""
        },
        {
          "name": "public func registerMiniMaxModel(_ registry: ProviderRegistry, modelId: String, options: ProviderInstallOptions;",
          "line": 774,
          "signature": "public func registerMiniMaxModel(_ registry: ProviderRegistry, modelId: String, options: ProviderInstallOptions;",
          "documentation": ""
        },
        {
          "name": "public func registerOpenRouterModel(_ registry: ProviderRegistry, modelId: String, options: ProviderInstallOptions;",
          "line": 779,
          "signature": "public func registerOpenRouterModel(_ registry: ProviderRegistry, modelId: String, options: ProviderInstallOptions;",
          "documentation": ""
        },
        {
          "name": "public func registerBedrockModel(_ registry: ProviderRegistry, modelId: String, options: ProviderInstallOptions;",
          "line": 784,
          "signature": "public func registerBedrockModel(_ registry: ProviderRegistry, modelId: String, options: ProviderInstallOptions;",
          "documentation": ""
        },
        {
          "name": "public func registerVertexAiModel(_ registry: ProviderRegistry, modelId: String, options: ProviderInstallOptions;",
          "line": 808,
          "signature": "public func registerVertexAiModel(_ registry: ProviderRegistry, modelId: String, options: ProviderInstallOptions;",
          "documentation": ""
        },
        {
          "name": "public func registerMicrosoftFoundryModel(_ registry: ProviderRegistry, modelId: String, options: ProviderInstallOptions;",
          "line": 832,
          "signature": "public func registerMicrosoftFoundryModel(_ registry: ProviderRegistry, modelId: String, options: ProviderInstallOptions;",
          "documentation": ""
        },
        {
          "name": "public func registerFoundryModel(_ registry: ProviderRegistry, modelId: String, options: ProviderInstallOptions;",
          "line": 856,
          "signature": "public func registerFoundryModel(_ registry: ProviderRegistry, modelId: String, options: ProviderInstallOptions;",
          "documentation": ""
        }
      ]
    },
    {
      "path": "forge-swift/Sources/ForgeCore/Routing.swift",
      "sha256": "9c9235156e18c33ed42e76e41305698885f2b07fbb0df0c61f0c2d410d22e62c",
      "artifactSha256": "69da661c6e6d66efcefc72448b3d8473304b7f53611fd780bac849eb937f67ac",
      "url": "/reference/source/forge-swift/Sources/ForgeCore/Routing.swift.txt",
      "declarations": [
        {
          "name": "public enum TaskMode: String, Codable, Sendable, Hashable, CaseIterable",
          "line": 20,
          "signature": "public enum TaskMode: String, Codable, Sendable, Hashable, CaseIterable",
          "documentation": ""
        },
        {
          "name": "public var roleName: String",
          "line": 31,
          "signature": "public var roleName: String",
          "documentation": ""
        },
        {
          "name": "public enum ExecutionTopology: String, Codable, Sendable, Hashable, CaseIterable",
          "line": 40,
          "signature": "public enum ExecutionTopology: String, Codable, Sendable, Hashable, CaseIterable",
          "documentation": ""
        },
        {
          "name": "public struct RoutingContext: Codable, Sendable",
          "line": 57,
          "signature": "public struct RoutingContext: Codable, Sendable",
          "documentation": ""
        },
        {
          "name": "public var domain: String?",
          "line": 59,
          "signature": "public var domain: String?\n\n/// The task mode for this call.\npublic var taskMode: TaskMode?\n\n/// The execution topology for this call.\npublic var executionTopology: ExecutionTopology?\n\n/// Tool capabilities required for the model selected by this route.\npublic var toolRequirements: [String]\n\n/// Explicit role override. When set, the router returns the slot with\n/// this role name without applying strategy logic.\npublic var roleOverride: String?\n\npublic init(\ndomain: String?;",
          "documentation": ""
        },
        {
          "name": "public var taskMode: TaskMode?",
          "line": 62,
          "signature": "public var taskMode: TaskMode?\n\n/// The execution topology for this call.\npublic var executionTopology: ExecutionTopology?\n\n/// Tool capabilities required for the model selected by this route.\npublic var toolRequirements: [String]\n\n/// Explicit role override. When set, the router returns the slot with\n/// this role name without applying strategy logic.\npublic var roleOverride: String?\n\npublic init(\ndomain: String?;",
          "documentation": ""
        },
        {
          "name": "public var executionTopology: ExecutionTopology?",
          "line": 65,
          "signature": "public var executionTopology: ExecutionTopology?\n\n/// Tool capabilities required for the model selected by this route.\npublic var toolRequirements: [String]\n\n/// Explicit role override. When set, the router returns the slot with\n/// this role name without applying strategy logic.\npublic var roleOverride: String?\n\npublic init(\ndomain: String?;",
          "documentation": ""
        },
        {
          "name": "public var toolRequirements: [String]",
          "line": 68,
          "signature": "public var toolRequirements: [String]\n\n/// Explicit role override. When set, the router returns the slot with\n/// this role name without applying strategy logic.\npublic var roleOverride: String?\n\npublic init(\ndomain: String?;",
          "documentation": ""
        },
        {
          "name": "public var roleOverride: String?",
          "line": 72,
          "signature": "public var roleOverride: String?\n\npublic init(\ndomain: String?;",
          "documentation": ""
        },
        {
          "name": "public init(",
          "line": 74,
          "signature": "public init(\ndomain: String?;",
          "documentation": ""
        },
        {
          "name": "public struct ModelCapabilities: Codable, Sendable",
          "line": 102,
          "signature": "public struct ModelCapabilities: Codable, Sendable",
          "documentation": ""
        },
        {
          "name": "public var textGeneration: Bool",
          "line": 104,
          "signature": "public var textGeneration: Bool\n/// Whether the model supports structured output (JSON mode).\npublic var structuredOutput: Bool\n/// Whether the model supports tool calling.\npublic var toolCalling: Bool\n/// Whether the model supports vision (image input).\npublic var vision: Bool\n/// Whether the model supports audio input/output.\npublic var audio: Bool\n/// Whether the model supports embedding generation.\npublic var embedding: Bool\n/// Maximum number of tokens in the context window.\npublic var maxContextTokens: UInt32\n/// Maximum number of tokens the model can generate in a single response.\npublic var maxOutputTokens: UInt32\n\npublic init(\ntextGeneration: Bool;",
          "documentation": ""
        },
        {
          "name": "public var structuredOutput: Bool",
          "line": 106,
          "signature": "public var structuredOutput: Bool\n/// Whether the model supports tool calling.\npublic var toolCalling: Bool\n/// Whether the model supports vision (image input).\npublic var vision: Bool\n/// Whether the model supports audio input/output.\npublic var audio: Bool\n/// Whether the model supports embedding generation.\npublic var embedding: Bool\n/// Maximum number of tokens in the context window.\npublic var maxContextTokens: UInt32\n/// Maximum number of tokens the model can generate in a single response.\npublic var maxOutputTokens: UInt32\n\npublic init(\ntextGeneration: Bool;",
          "documentation": ""
        },
        {
          "name": "public var toolCalling: Bool",
          "line": 108,
          "signature": "public var toolCalling: Bool\n/// Whether the model supports vision (image input).\npublic var vision: Bool\n/// Whether the model supports audio input/output.\npublic var audio: Bool\n/// Whether the model supports embedding generation.\npublic var embedding: Bool\n/// Maximum number of tokens in the context window.\npublic var maxContextTokens: UInt32\n/// Maximum number of tokens the model can generate in a single response.\npublic var maxOutputTokens: UInt32\n\npublic init(\ntextGeneration: Bool;",
          "documentation": ""
        },
        {
          "name": "public var vision: Bool",
          "line": 110,
          "signature": "public var vision: Bool\n/// Whether the model supports audio input/output.\npublic var audio: Bool\n/// Whether the model supports embedding generation.\npublic var embedding: Bool\n/// Maximum number of tokens in the context window.\npublic var maxContextTokens: UInt32\n/// Maximum number of tokens the model can generate in a single response.\npublic var maxOutputTokens: UInt32\n\npublic init(\ntextGeneration: Bool;",
          "documentation": ""
        },
        {
          "name": "public var audio: Bool",
          "line": 112,
          "signature": "public var audio: Bool\n/// Whether the model supports embedding generation.\npublic var embedding: Bool\n/// Maximum number of tokens in the context window.\npublic var maxContextTokens: UInt32\n/// Maximum number of tokens the model can generate in a single response.\npublic var maxOutputTokens: UInt32\n\npublic init(\ntextGeneration: Bool;",
          "documentation": ""
        },
        {
          "name": "public var embedding: Bool",
          "line": 114,
          "signature": "public var embedding: Bool\n/// Maximum number of tokens in the context window.\npublic var maxContextTokens: UInt32\n/// Maximum number of tokens the model can generate in a single response.\npublic var maxOutputTokens: UInt32\n\npublic init(\ntextGeneration: Bool;",
          "documentation": ""
        },
        {
          "name": "public var maxContextTokens: UInt32",
          "line": 116,
          "signature": "public var maxContextTokens: UInt32\n/// Maximum number of tokens the model can generate in a single response.\npublic var maxOutputTokens: UInt32\n\npublic init(\ntextGeneration: Bool;",
          "documentation": ""
        },
        {
          "name": "public var maxOutputTokens: UInt32",
          "line": 118,
          "signature": "public var maxOutputTokens: UInt32\n\npublic init(\ntextGeneration: Bool;",
          "documentation": ""
        },
        {
          "name": "public init(",
          "line": 120,
          "signature": "public init(\ntextGeneration: Bool;",
          "documentation": ""
        },
        {
          "name": "public struct ResolvedRoute: Codable, Sendable",
          "line": 155,
          "signature": "public struct ResolvedRoute: Codable, Sendable",
          "documentation": ""
        },
        {
          "name": "public let slotRole: String",
          "line": 157,
          "signature": "public let slotRole: String\n\n/// The specific `ProviderRef` to use (primary or one of the fallbacks).\npublic let provider: ProviderRef\n\n/// The model capabilities of the selected provider.\npublic let modelCapabilities: ModelCapabilities\n\n/// Whether a fallback model was selected instead of the primary.\npublic let fallbackUsed: Bool\n\npublic init(\nslotRole: String,\nprovider: ProviderRef,\nmodelCapabilities: ModelCapabilities;",
          "documentation": ""
        },
        {
          "name": "public let provider: ProviderRef",
          "line": 160,
          "signature": "public let provider: ProviderRef\n\n/// The model capabilities of the selected provider.\npublic let modelCapabilities: ModelCapabilities\n\n/// Whether a fallback model was selected instead of the primary.\npublic let fallbackUsed: Bool\n\npublic init(\nslotRole: String,\nprovider: ProviderRef,\nmodelCapabilities: ModelCapabilities;",
          "documentation": ""
        },
        {
          "name": "public let modelCapabilities: ModelCapabilities",
          "line": 163,
          "signature": "public let modelCapabilities: ModelCapabilities\n\n/// Whether a fallback model was selected instead of the primary.\npublic let fallbackUsed: Bool\n\npublic init(\nslotRole: String,\nprovider: ProviderRef,\nmodelCapabilities: ModelCapabilities;",
          "documentation": ""
        },
        {
          "name": "public let fallbackUsed: Bool",
          "line": 166,
          "signature": "public let fallbackUsed: Bool\n\npublic init(\nslotRole: String,\nprovider: ProviderRef,\nmodelCapabilities: ModelCapabilities;",
          "documentation": ""
        },
        {
          "name": "public init(",
          "line": 168,
          "signature": "public init(\nslotRole: String,\nprovider: ProviderRef,\nmodelCapabilities: ModelCapabilities;",
          "documentation": ""
        },
        {
          "name": "public protocol ModelRouter: Sendable",
          "line": 196,
          "signature": "public protocol ModelRouter: Sendable",
          "documentation": ""
        },
        {
          "name": "public struct DefaultModelRouter: ModelRouter, Sendable",
          "line": 221,
          "signature": "public struct DefaultModelRouter: ModelRouter, Sendable",
          "documentation": ""
        },
        {
          "name": "public let name: String;",
          "line": 222,
          "signature": "public let name: String;",
          "documentation": ""
        },
        {
          "name": "public init()",
          "line": 224,
          "signature": "public init()",
          "documentation": ""
        },
        {
          "name": "public func route(context: RoutingContext, topology: ModelTopology) throws -> ResolvedRoute",
          "line": 226,
          "signature": "public func route(context: RoutingContext, topology: ModelTopology) throws -> ResolvedRoute",
          "documentation": ""
        }
      ]
    },
    {
      "path": "forge-swift/Sources/ForgeCore/Schema.swift",
      "sha256": "0b69bdbdfce3ba40c7341620834693b5cf703866c59091a86f08f7ed436a6ed7",
      "artifactSha256": "324900e19b8075dac427d93bb2469346253d742be1b9c5cdba9e57ae7f93c83d",
      "url": "/reference/source/forge-swift/Sources/ForgeCore/Schema.swift.txt",
      "declarations": [
        {
          "name": "public enum SchemaType: String, Codable, Sendable, Hashable",
          "line": 16,
          "signature": "public enum SchemaType: String, Codable, Sendable, Hashable",
          "documentation": ""
        },
        {
          "name": "public struct JsonSchema: Codable, Sendable, Equatable",
          "line": 38,
          "signature": "public struct JsonSchema: Codable, Sendable, Equatable",
          "documentation": ""
        },
        {
          "name": "public var schemaType: SchemaType",
          "line": 40,
          "signature": "public var schemaType: SchemaType\n\n/// Human-readable description of this schema element.\npublic var schemaDescription: String?\n\n/// Properties (for object type).\npublic var properties: [String: JsonSchema]?\n\n/// Required property names (for object type).\npublic var requiredFields: [String]?\n\n/// Whether additional properties are allowed (for object type).\npublic var additionalProperties: Bool?\n\n/// Items schema (for array type).\npublic var items: Box<JsonSchema>?\n\n/// Allowed values.\npublic var enumValues: [JSONValue]?\n\n/// Minimum numeric value.\npublic var minimum: Double?\n\n/// Maximum numeric value.\npublic var maximum: Double?\n",
          "documentation": ""
        },
        {
          "name": "public var schemaDescription: String?",
          "line": 43,
          "signature": "public var schemaDescription: String?\n\n/// Properties (for object type).\npublic var properties: [String: JsonSchema]?\n\n/// Required property names (for object type).\npublic var requiredFields: [String]?\n\n/// Whether additional properties are allowed (for object type).\npublic var additionalProperties: Bool?\n\n/// Items schema (for array type).\npublic var items: Box<JsonSchema>?\n\n/// Allowed values.\npublic var enumValues: [JSONValue]?\n\n/// Minimum numeric value.\npublic var minimum: Double?\n\n/// Maximum numeric value.\npublic var maximum: Double?\n\n/// Minimum string length.\npublic var minLength: UInt64?\n",
          "documentation": ""
        },
        {
          "name": "public var properties: [String: JsonSchema]?",
          "line": 46,
          "signature": "public var properties: [String: JsonSchema]?\n\n/// Required property names (for object type).\npublic var requiredFields: [String]?\n\n/// Whether additional properties are allowed (for object type).\npublic var additionalProperties: Bool?\n\n/// Items schema (for array type).\npublic var items: Box<JsonSchema>?\n\n/// Allowed values.\npublic var enumValues: [JSONValue]?\n\n/// Minimum numeric value.\npublic var minimum: Double?\n\n/// Maximum numeric value.\npublic var maximum: Double?\n\n/// Minimum string length.\npublic var minLength: UInt64?\n\n/// Maximum string length.\npublic var maxLength: UInt64?\n",
          "documentation": ""
        },
        {
          "name": "public var requiredFields: [String]?",
          "line": 49,
          "signature": "public var requiredFields: [String]?\n\n/// Whether additional properties are allowed (for object type).\npublic var additionalProperties: Bool?\n\n/// Items schema (for array type).\npublic var items: Box<JsonSchema>?\n\n/// Allowed values.\npublic var enumValues: [JSONValue]?\n\n/// Minimum numeric value.\npublic var minimum: Double?\n\n/// Maximum numeric value.\npublic var maximum: Double?\n\n/// Minimum string length.\npublic var minLength: UInt64?\n\n/// Maximum string length.\npublic var maxLength: UInt64?\n\n// MARK: - CodingKeys\n\nprivate enum CodingKeys: String, CodingKey",
          "documentation": ""
        },
        {
          "name": "public var additionalProperties: Bool?",
          "line": 52,
          "signature": "public var additionalProperties: Bool?\n\n/// Items schema (for array type).\npublic var items: Box<JsonSchema>?\n\n/// Allowed values.\npublic var enumValues: [JSONValue]?\n\n/// Minimum numeric value.\npublic var minimum: Double?\n\n/// Maximum numeric value.\npublic var maximum: Double?\n\n/// Minimum string length.\npublic var minLength: UInt64?\n\n/// Maximum string length.\npublic var maxLength: UInt64?\n\n// MARK: - CodingKeys\n\nprivate enum CodingKeys: String, CodingKey",
          "documentation": ""
        },
        {
          "name": "public var items: Box<JsonSchema>?",
          "line": 55,
          "signature": "public var items: Box<JsonSchema>?\n\n/// Allowed values.\npublic var enumValues: [JSONValue]?\n\n/// Minimum numeric value.\npublic var minimum: Double?\n\n/// Maximum numeric value.\npublic var maximum: Double?\n\n/// Minimum string length.\npublic var minLength: UInt64?\n\n/// Maximum string length.\npublic var maxLength: UInt64?\n\n// MARK: - CodingKeys\n\nprivate enum CodingKeys: String, CodingKey",
          "documentation": ""
        },
        {
          "name": "public var enumValues: [JSONValue]?",
          "line": 58,
          "signature": "public var enumValues: [JSONValue]?\n\n/// Minimum numeric value.\npublic var minimum: Double?\n\n/// Maximum numeric value.\npublic var maximum: Double?\n\n/// Minimum string length.\npublic var minLength: UInt64?\n\n/// Maximum string length.\npublic var maxLength: UInt64?\n\n// MARK: - CodingKeys\n\nprivate enum CodingKeys: String, CodingKey",
          "documentation": ""
        },
        {
          "name": "public var minimum: Double?",
          "line": 61,
          "signature": "public var minimum: Double?\n\n/// Maximum numeric value.\npublic var maximum: Double?\n\n/// Minimum string length.\npublic var minLength: UInt64?\n\n/// Maximum string length.\npublic var maxLength: UInt64?\n\n// MARK: - CodingKeys\n\nprivate enum CodingKeys: String, CodingKey",
          "documentation": ""
        },
        {
          "name": "public var maximum: Double?",
          "line": 64,
          "signature": "public var maximum: Double?\n\n/// Minimum string length.\npublic var minLength: UInt64?\n\n/// Maximum string length.\npublic var maxLength: UInt64?\n\n// MARK: - CodingKeys\n\nprivate enum CodingKeys: String, CodingKey",
          "documentation": ""
        },
        {
          "name": "public var minLength: UInt64?",
          "line": 67,
          "signature": "public var minLength: UInt64?\n\n/// Maximum string length.\npublic var maxLength: UInt64?\n\n// MARK: - CodingKeys\n\nprivate enum CodingKeys: String, CodingKey",
          "documentation": ""
        },
        {
          "name": "public var maxLength: UInt64?",
          "line": 70,
          "signature": "public var maxLength: UInt64?\n\n// MARK: - CodingKeys\n\nprivate enum CodingKeys: String, CodingKey",
          "documentation": ""
        },
        {
          "name": "public static func string() -> JsonSchema",
          "line": 91,
          "signature": "public static func string() -> JsonSchema",
          "documentation": ""
        },
        {
          "name": "public static func number() -> JsonSchema",
          "line": 94,
          "signature": "public static func number() -> JsonSchema",
          "documentation": ""
        },
        {
          "name": "public static func integer() -> JsonSchema",
          "line": 97,
          "signature": "public static func integer() -> JsonSchema",
          "documentation": ""
        },
        {
          "name": "public static func boolean() -> JsonSchema",
          "line": 100,
          "signature": "public static func boolean() -> JsonSchema",
          "documentation": ""
        },
        {
          "name": "public static func array() -> JsonSchema",
          "line": 103,
          "signature": "public static func array() -> JsonSchema",
          "documentation": ""
        },
        {
          "name": "public static func object() -> JsonSchema",
          "line": 106,
          "signature": "public static func object() -> JsonSchema",
          "documentation": ""
        },
        {
          "name": "public static func null() -> JsonSchema",
          "line": 109,
          "signature": "public static func null() -> JsonSchema",
          "documentation": ""
        },
        {
          "name": "public func description(_ desc: String) -> JsonSchema",
          "line": 117,
          "signature": "public func description(_ desc: String) -> JsonSchema",
          "documentation": ""
        },
        {
          "name": "public func property(_ name: String, _ schema: JsonSchema) -> JsonSchema",
          "line": 129,
          "signature": "public func property(_ name: String, _ schema: JsonSchema) -> JsonSchema",
          "documentation": ""
        },
        {
          "name": "public func required(_ name: String) -> JsonSchema",
          "line": 141,
          "signature": "public func required(_ name: String) -> JsonSchema",
          "documentation": ""
        },
        {
          "name": "public func itemsSchema(_ schema: JsonSchema) -> JsonSchema",
          "line": 153,
          "signature": "public func itemsSchema(_ schema: JsonSchema) -> JsonSchema",
          "documentation": ""
        },
        {
          "name": "public func enumValues(_ values: [JSONValue]) -> JsonSchema",
          "line": 163,
          "signature": "public func enumValues(_ values: [JSONValue]) -> JsonSchema",
          "documentation": ""
        },
        {
          "name": "public func minimum(_ min: Double) -> JsonSchema",
          "line": 173,
          "signature": "public func minimum(_ min: Double) -> JsonSchema",
          "documentation": ""
        },
        {
          "name": "public func maximum(_ max: Double) -> JsonSchema",
          "line": 183,
          "signature": "public func maximum(_ max: Double) -> JsonSchema",
          "documentation": ""
        },
        {
          "name": "public func minLength(_ len: UInt64) -> JsonSchema",
          "line": 193,
          "signature": "public func minLength(_ len: UInt64) -> JsonSchema",
          "documentation": ""
        },
        {
          "name": "public func maxLength(_ len: UInt64) -> JsonSchema",
          "line": 203,
          "signature": "public func maxLength(_ len: UInt64) -> JsonSchema",
          "documentation": ""
        },
        {
          "name": "public func additionalProperties(_ allowed: Bool) -> JsonSchema",
          "line": 213,
          "signature": "public func additionalProperties(_ allowed: Bool) -> JsonSchema",
          "documentation": ""
        },
        {
          "name": "public func validate(_ value: JSONValue) throws",
          "line": 225,
          "signature": "public func validate(_ value: JSONValue) throws",
          "documentation": ""
        },
        {
          "name": "public final class Box<T: Codable & Sendable & Equatable>: Codable, Sendable, Equatable",
          "line": 390,
          "signature": "public final class Box<T: Codable & Sendable & Equatable>: Codable, Sendable, Equatable",
          "documentation": ""
        },
        {
          "name": "public let value: T",
          "line": 391,
          "signature": "public let value: T\n\npublic init(_ value: T)",
          "documentation": ""
        },
        {
          "name": "public init(_ value: T)",
          "line": 393,
          "signature": "public init(_ value: T)",
          "documentation": ""
        },
        {
          "name": "public static func == (lhs: Box<T>, rhs: Box<T>) -> Bool",
          "line": 397,
          "signature": "public static func == (lhs: Box<T>, rhs: Box<T>) -> Bool",
          "documentation": ""
        },
        {
          "name": "public init(from decoder: Decoder) throws",
          "line": 401,
          "signature": "public init(from decoder: Decoder) throws",
          "documentation": ""
        },
        {
          "name": "public func encode(to encoder: Encoder) throws",
          "line": 406,
          "signature": "public func encode(to encoder: Encoder) throws",
          "documentation": ""
        }
      ]
    },
    {
      "path": "forge-swift/Sources/ForgeCore/Telemetry.swift",
      "sha256": "345305dd83ba85f70ad920ca0e60f319c88039d2753bb6dd5959116b7315943b",
      "artifactSha256": "d07d16f5ffc2a775f80093b3406019f482f6a984ad15388c8835d9194577b5da",
      "url": "/reference/source/forge-swift/Sources/ForgeCore/Telemetry.swift.txt",
      "declarations": [
        {
          "name": "public enum SpanAttribute: Codable, Sendable, Equatable",
          "line": 17,
          "signature": "public enum SpanAttribute: Codable, Sendable, Equatable",
          "documentation": ""
        },
        {
          "name": "public init(from decoder: Decoder) throws",
          "line": 25,
          "signature": "public init(from decoder: Decoder) throws",
          "documentation": ""
        },
        {
          "name": "public func encode(to encoder: Encoder) throws",
          "line": 45,
          "signature": "public func encode(to encoder: Encoder) throws",
          "documentation": ""
        },
        {
          "name": "public init(stringLiteral value: String)",
          "line": 57,
          "signature": "public init(stringLiteral value: String)",
          "documentation": ""
        },
        {
          "name": "public init(integerLiteral value: Int64)",
          "line": 61,
          "signature": "public init(integerLiteral value: Int64)",
          "documentation": ""
        },
        {
          "name": "public init(floatLiteral value: Double)",
          "line": 65,
          "signature": "public init(floatLiteral value: Double)",
          "documentation": ""
        },
        {
          "name": "public init(booleanLiteral value: Bool)",
          "line": 69,
          "signature": "public init(booleanLiteral value: Bool)",
          "documentation": ""
        },
        {
          "name": "public enum SpanStatus: Codable, Sendable, Equatable",
          "line": 75,
          "signature": "public enum SpanStatus: Codable, Sendable, Equatable",
          "documentation": ""
        },
        {
          "name": "public init(from decoder: Decoder) throws",
          "line": 89,
          "signature": "public init(from decoder: Decoder) throws",
          "documentation": ""
        },
        {
          "name": "public func encode(to encoder: Encoder) throws",
          "line": 108,
          "signature": "public func encode(to encoder: Encoder) throws",
          "documentation": ""
        },
        {
          "name": "public struct ForgeSpan: Codable, Sendable",
          "line": 128,
          "signature": "public struct ForgeSpan: Codable, Sendable",
          "documentation": ""
        },
        {
          "name": "public var name: String",
          "line": 130,
          "signature": "public var name: String\n/// Span start time.\npublic var startTime: Timestamp\n/// Span end time (set when span completes).\npublic var endTime: Timestamp?\n/// Key-value attributes.\npublic var attributes: [String: SpanAttribute]\n/// Span status.\npublic var status: SpanStatus\n/// Parent span ID for distributed tracing.\npublic var parentId: String?\n/// This span's unique ID.\npublic var spanId: String\n\n/// Creates a new span with the given name. Start time is set to now.\n///\n/// - Parameter name: The span name (use dotted notation: \"forge.agent.generate\").\npublic init(name: String)",
          "documentation": ""
        },
        {
          "name": "public var startTime: Timestamp",
          "line": 132,
          "signature": "public var startTime: Timestamp\n/// Span end time (set when span completes).\npublic var endTime: Timestamp?\n/// Key-value attributes.\npublic var attributes: [String: SpanAttribute]\n/// Span status.\npublic var status: SpanStatus\n/// Parent span ID for distributed tracing.\npublic var parentId: String?\n/// This span's unique ID.\npublic var spanId: String\n\n/// Creates a new span with the given name. Start time is set to now.\n///\n/// - Parameter name: The span name (use dotted notation: \"forge.agent.generate\").\npublic init(name: String)",
          "documentation": ""
        },
        {
          "name": "public var endTime: Timestamp?",
          "line": 134,
          "signature": "public var endTime: Timestamp?\n/// Key-value attributes.\npublic var attributes: [String: SpanAttribute]\n/// Span status.\npublic var status: SpanStatus\n/// Parent span ID for distributed tracing.\npublic var parentId: String?\n/// This span's unique ID.\npublic var spanId: String\n\n/// Creates a new span with the given name. Start time is set to now.\n///\n/// - Parameter name: The span name (use dotted notation: \"forge.agent.generate\").\npublic init(name: String)",
          "documentation": ""
        },
        {
          "name": "public var attributes: [String: SpanAttribute]",
          "line": 136,
          "signature": "public var attributes: [String: SpanAttribute]\n/// Span status.\npublic var status: SpanStatus\n/// Parent span ID for distributed tracing.\npublic var parentId: String?\n/// This span's unique ID.\npublic var spanId: String\n\n/// Creates a new span with the given name. Start time is set to now.\n///\n/// - Parameter name: The span name (use dotted notation: \"forge.agent.generate\").\npublic init(name: String)",
          "documentation": ""
        },
        {
          "name": "public var status: SpanStatus",
          "line": 138,
          "signature": "public var status: SpanStatus\n/// Parent span ID for distributed tracing.\npublic var parentId: String?\n/// This span's unique ID.\npublic var spanId: String\n\n/// Creates a new span with the given name. Start time is set to now.\n///\n/// - Parameter name: The span name (use dotted notation: \"forge.agent.generate\").\npublic init(name: String)",
          "documentation": ""
        },
        {
          "name": "public var parentId: String?",
          "line": 140,
          "signature": "public var parentId: String?\n/// This span's unique ID.\npublic var spanId: String\n\n/// Creates a new span with the given name. Start time is set to now.\n///\n/// - Parameter name: The span name (use dotted notation: \"forge.agent.generate\").\npublic init(name: String)",
          "documentation": ""
        },
        {
          "name": "public var spanId: String",
          "line": 142,
          "signature": "public var spanId: String\n\n/// Creates a new span with the given name. Start time is set to now.\n///\n/// - Parameter name: The span name (use dotted notation: \"forge.agent.generate\").\npublic init(name: String)",
          "documentation": ""
        },
        {
          "name": "public init(name: String)",
          "line": 147,
          "signature": "public init(name: String)",
          "documentation": ""
        },
        {
          "name": "public mutating func setAttribute(_ key: String, _ value: SpanAttribute)",
          "line": 162,
          "signature": "public mutating func setAttribute(_ key: String, _ value: SpanAttribute)",
          "documentation": ""
        },
        {
          "name": "public mutating func end()",
          "line": 167,
          "signature": "public mutating func end()",
          "documentation": ""
        },
        {
          "name": "public mutating func endWithError(_ message: String)",
          "line": 174,
          "signature": "public mutating func endWithError(_ message: String)",
          "documentation": ""
        },
        {
          "name": "public func withParent(_ parentId: String) -> ForgeSpan",
          "line": 183,
          "signature": "public func withParent(_ parentId: String) -> ForgeSpan",
          "documentation": ""
        },
        {
          "name": "public struct ForgeEvent: Codable, Sendable",
          "line": 196,
          "signature": "public struct ForgeEvent: Codable, Sendable",
          "documentation": ""
        },
        {
          "name": "public var name: String",
          "line": 198,
          "signature": "public var name: String\n/// When the event occurred.\npublic var timestamp: Timestamp\n/// Key-value attributes.\npublic var attributes: [String: SpanAttribute]\n\n/// Creates a new event with the given name. Timestamp is set to now.\n///\n/// - Parameter name: The event name.\npublic init(name: String)",
          "documentation": ""
        },
        {
          "name": "public var timestamp: Timestamp",
          "line": 200,
          "signature": "public var timestamp: Timestamp\n/// Key-value attributes.\npublic var attributes: [String: SpanAttribute]\n\n/// Creates a new event with the given name. Timestamp is set to now.\n///\n/// - Parameter name: The event name.\npublic init(name: String)",
          "documentation": ""
        },
        {
          "name": "public var attributes: [String: SpanAttribute]",
          "line": 202,
          "signature": "public var attributes: [String: SpanAttribute]\n\n/// Creates a new event with the given name. Timestamp is set to now.\n///\n/// - Parameter name: The event name.\npublic init(name: String)",
          "documentation": ""
        },
        {
          "name": "public init(name: String)",
          "line": 207,
          "signature": "public init(name: String)",
          "documentation": ""
        },
        {
          "name": "public mutating func setAttribute(_ key: String, _ value: SpanAttribute)",
          "line": 218,
          "signature": "public mutating func setAttribute(_ key: String, _ value: SpanAttribute)",
          "documentation": ""
        },
        {
          "name": "public protocol TelemetryEmitter: Sendable",
          "line": 229,
          "signature": "public protocol TelemetryEmitter: Sendable",
          "documentation": ""
        },
        {
          "name": "public struct NoopEmitter: TelemetryEmitter, Sendable",
          "line": 242,
          "signature": "public struct NoopEmitter: TelemetryEmitter, Sendable",
          "documentation": ""
        },
        {
          "name": "public init()",
          "line": 243,
          "signature": "public init()",
          "documentation": ""
        },
        {
          "name": "public func emitSpan(_ span: ForgeSpan)",
          "line": 244,
          "signature": "public func emitSpan(_ span: ForgeSpan)",
          "documentation": ""
        },
        {
          "name": "public func emitEvent(_ event: ForgeEvent)",
          "line": 245,
          "signature": "public func emitEvent(_ event: ForgeEvent)",
          "documentation": ""
        },
        {
          "name": "public final class RecordingEmitter: TelemetryEmitter, @unchecked Sendable",
          "line": 249,
          "signature": "public final class RecordingEmitter: TelemetryEmitter, @unchecked Sendable",
          "documentation": ""
        },
        {
          "name": "public init()",
          "line": 254,
          "signature": "public init()",
          "documentation": ""
        },
        {
          "name": "public func emitSpan(_ span: ForgeSpan)",
          "line": 256,
          "signature": "public func emitSpan(_ span: ForgeSpan)",
          "documentation": ""
        },
        {
          "name": "public func emitEvent(_ event: ForgeEvent)",
          "line": 262,
          "signature": "public func emitEvent(_ event: ForgeEvent)",
          "documentation": ""
        },
        {
          "name": "public var spans: [ForgeSpan]",
          "line": 269,
          "signature": "public var spans: [ForgeSpan]",
          "documentation": ""
        },
        {
          "name": "public var events: [ForgeEvent]",
          "line": 276,
          "signature": "public var events: [ForgeEvent]",
          "documentation": ""
        }
      ]
    },
    {
      "path": "forge-swift/Sources/ForgeCore/Tool.swift",
      "sha256": "6df75118c89ff7e86caf8876b2b23188463f5f708f369390a594046a55e21dce",
      "artifactSha256": "77bc28721da5da41bb9d7d34e476a5b04d360f4f9c19c49f35b93de1e6989792",
      "url": "/reference/source/forge-swift/Sources/ForgeCore/Tool.swift.txt",
      "declarations": [
        {
          "name": "public enum ToolTier: String, Codable, Sendable, Hashable, CaseIterable",
          "line": 25,
          "signature": "public enum ToolTier: String, Codable, Sendable, Hashable, CaseIterable",
          "documentation": ""
        },
        {
          "name": "public var requiresAuthorization: Bool",
          "line": 44,
          "signature": "public var requiresAuthorization: Bool",
          "documentation": ""
        },
        {
          "name": "public var description: String",
          "line": 50,
          "signature": "public var description: String",
          "documentation": ""
        },
        {
          "name": "public struct ToolDefinition: Codable, Sendable, Equatable",
          "line": 61,
          "signature": "public struct ToolDefinition: Codable, Sendable, Equatable",
          "documentation": ""
        },
        {
          "name": "public let name: String",
          "line": 63,
          "signature": "public let name: String\n/// Human-readable description shown to the model.\npublic let toolDescription: String\n/// JSON Schema defining the tool's parameters.\npublic let parameters: JsonSchema\n/// Tier classification (Platform/External/Embedded).\npublic let tier: ToolTier\n\nprivate enum CodingKeys: String, CodingKey",
          "documentation": ""
        },
        {
          "name": "public let toolDescription: String",
          "line": 65,
          "signature": "public let toolDescription: String\n/// JSON Schema defining the tool's parameters.\npublic let parameters: JsonSchema\n/// Tier classification (Platform/External/Embedded).\npublic let tier: ToolTier\n\nprivate enum CodingKeys: String, CodingKey",
          "documentation": ""
        },
        {
          "name": "public let parameters: JsonSchema",
          "line": 67,
          "signature": "public let parameters: JsonSchema\n/// Tier classification (Platform/External/Embedded).\npublic let tier: ToolTier\n\nprivate enum CodingKeys: String, CodingKey",
          "documentation": ""
        },
        {
          "name": "public let tier: ToolTier",
          "line": 69,
          "signature": "public let tier: ToolTier\n\nprivate enum CodingKeys: String, CodingKey",
          "documentation": ""
        },
        {
          "name": "public static func builder(_ name: String) -> ToolDefinitionBuilder",
          "line": 82,
          "signature": "public static func builder(_ name: String) -> ToolDefinitionBuilder",
          "documentation": ""
        },
        {
          "name": "public struct ToolDefinitionBuilder: Sendable",
          "line": 100,
          "signature": "public struct ToolDefinitionBuilder: Sendable",
          "documentation": ""
        },
        {
          "name": "public func description(_ desc: String) -> ToolDefinitionBuilder",
          "line": 114,
          "signature": "public func description(_ desc: String) -> ToolDefinitionBuilder",
          "documentation": ""
        },
        {
          "name": "public func parameters(_ schema: JsonSchema) -> ToolDefinitionBuilder",
          "line": 124,
          "signature": "public func parameters(_ schema: JsonSchema) -> ToolDefinitionBuilder",
          "documentation": ""
        },
        {
          "name": "public func tier(_ tier: ToolTier) -> ToolDefinitionBuilder",
          "line": 134,
          "signature": "public func tier(_ tier: ToolTier) -> ToolDefinitionBuilder",
          "documentation": ""
        },
        {
          "name": "public func build() -> ToolDefinition",
          "line": 143,
          "signature": "public func build() -> ToolDefinition",
          "documentation": ""
        },
        {
          "name": "public struct ToolCall: Codable, Sendable, Equatable",
          "line": 158,
          "signature": "public struct ToolCall: Codable, Sendable, Equatable",
          "documentation": ""
        },
        {
          "name": "public let id: String",
          "line": 160,
          "signature": "public let id: String\n/// The tool name being invoked.\npublic let name: String\n/// JSON arguments for the tool.\npublic let arguments: JSONValue\n\npublic init(id: String, name: String, arguments: JSONValue)",
          "documentation": ""
        },
        {
          "name": "public let name: String",
          "line": 162,
          "signature": "public let name: String\n/// JSON arguments for the tool.\npublic let arguments: JSONValue\n\npublic init(id: String, name: String, arguments: JSONValue)",
          "documentation": ""
        },
        {
          "name": "public let arguments: JSONValue",
          "line": 164,
          "signature": "public let arguments: JSONValue\n\npublic init(id: String, name: String, arguments: JSONValue)",
          "documentation": ""
        },
        {
          "name": "public init(id: String, name: String, arguments: JSONValue)",
          "line": 166,
          "signature": "public init(id: String, name: String, arguments: JSONValue)",
          "documentation": ""
        },
        {
          "name": "public struct ToolResult: Codable, Sendable, Equatable",
          "line": 178,
          "signature": "public struct ToolResult: Codable, Sendable, Equatable",
          "documentation": ""
        },
        {
          "name": "public let toolCallId: String",
          "line": 180,
          "signature": "public let toolCallId: String\n/// The tool name.\npublic let name: String\n/// The result content (stringified).\npublic let content: String\n/// Whether the tool execution resulted in an error.\npublic let isError: Bool\n\npublic init(toolCallId: String, name: String, content: String, isError: Bool)",
          "documentation": ""
        },
        {
          "name": "public let name: String",
          "line": 182,
          "signature": "public let name: String\n/// The result content (stringified).\npublic let content: String\n/// Whether the tool execution resulted in an error.\npublic let isError: Bool\n\npublic init(toolCallId: String, name: String, content: String, isError: Bool)",
          "documentation": ""
        },
        {
          "name": "public let content: String",
          "line": 184,
          "signature": "public let content: String\n/// Whether the tool execution resulted in an error.\npublic let isError: Bool\n\npublic init(toolCallId: String, name: String, content: String, isError: Bool)",
          "documentation": ""
        },
        {
          "name": "public let isError: Bool",
          "line": 186,
          "signature": "public let isError: Bool\n\npublic init(toolCallId: String, name: String, content: String, isError: Bool)",
          "documentation": ""
        },
        {
          "name": "public init(toolCallId: String, name: String, content: String, isError: Bool)",
          "line": 188,
          "signature": "public init(toolCallId: String, name: String, content: String, isError: Bool)",
          "documentation": ""
        },
        {
          "name": "public enum ToolApproval: Sendable, Equatable",
          "line": 204,
          "signature": "public enum ToolApproval: Sendable, Equatable",
          "documentation": ""
        },
        {
          "name": "public init(from decoder: Decoder) throws",
          "line": 218,
          "signature": "public init(from decoder: Decoder) throws",
          "documentation": ""
        },
        {
          "name": "public func encode(to encoder: Encoder) throws",
          "line": 240,
          "signature": "public func encode(to encoder: Encoder) throws",
          "documentation": ""
        }
      ]
    },
    {
      "path": "forge-swift/Sources/ForgeCore/Topology.swift",
      "sha256": "48447391fa94467b4218fe02fd524e3555ee857dcca3870b52aadd4d8b3cde95",
      "artifactSha256": "40efeb5710e93c719845dde1b3ad2d02ee62b2be351b09b75d75dda63a20ffe2",
      "url": "/reference/source/forge-swift/Sources/ForgeCore/Topology.swift.txt",
      "declarations": [
        {
          "name": "public let defaultRole: String;",
          "line": 19,
          "signature": "public let defaultRole: String;",
          "documentation": ""
        },
        {
          "name": "public enum CostPreference: String, Codable, Sendable, Hashable, CaseIterable",
          "line": 27,
          "signature": "public enum CostPreference: String, Codable, Sendable, Hashable, CaseIterable",
          "documentation": ""
        },
        {
          "name": "public enum LatencyPreference: String, Codable, Sendable, Hashable, CaseIterable",
          "line": 42,
          "signature": "public enum LatencyPreference: String, Codable, Sendable, Hashable, CaseIterable",
          "documentation": ""
        },
        {
          "name": "public struct ModelSlot: Codable, Sendable",
          "line": 61,
          "signature": "public struct ModelSlot: Codable, Sendable",
          "documentation": ""
        },
        {
          "name": "public let role: String",
          "line": 63,
          "signature": "public let role: String\n\n/// Primary model for this slot.\npublic let primary: ProviderRef\n\n/// Ordered fallback models. Tried in sequence when the primary is\n/// unavailable or fails negotiation.\npublic var fallbacks: [ProviderRef]\n\n/// Runtime capabilities required for this slot.\npublic var requiredCapabilities: [RuntimeCapability]\n\n/// Optional cost preference for the router.\npublic var costPreference: CostPreference?\n\n/// Optional latency preference for the router.\npublic var latencyPreference: LatencyPreference?\n\n/// Optional Arsenal scope narrowing applied when this slot is selected.\npublic var arsenalScopeNarrowing: [String]?\n\npublic init(\nrole: String,\nprimary: ProviderRef,\nfallbacks: [ProviderRef];",
          "documentation": ""
        },
        {
          "name": "public let primary: ProviderRef",
          "line": 66,
          "signature": "public let primary: ProviderRef\n\n/// Ordered fallback models. Tried in sequence when the primary is\n/// unavailable or fails negotiation.\npublic var fallbacks: [ProviderRef]\n\n/// Runtime capabilities required for this slot.\npublic var requiredCapabilities: [RuntimeCapability]\n\n/// Optional cost preference for the router.\npublic var costPreference: CostPreference?\n\n/// Optional latency preference for the router.\npublic var latencyPreference: LatencyPreference?\n\n/// Optional Arsenal scope narrowing applied when this slot is selected.\npublic var arsenalScopeNarrowing: [String]?\n\npublic init(\nrole: String,\nprimary: ProviderRef,\nfallbacks: [ProviderRef];",
          "documentation": ""
        },
        {
          "name": "public var fallbacks: [ProviderRef]",
          "line": 70,
          "signature": "public var fallbacks: [ProviderRef]\n\n/// Runtime capabilities required for this slot.\npublic var requiredCapabilities: [RuntimeCapability]\n\n/// Optional cost preference for the router.\npublic var costPreference: CostPreference?\n\n/// Optional latency preference for the router.\npublic var latencyPreference: LatencyPreference?\n\n/// Optional Arsenal scope narrowing applied when this slot is selected.\npublic var arsenalScopeNarrowing: [String]?\n\npublic init(\nrole: String,\nprimary: ProviderRef,\nfallbacks: [ProviderRef];",
          "documentation": ""
        },
        {
          "name": "public var requiredCapabilities: [RuntimeCapability]",
          "line": 73,
          "signature": "public var requiredCapabilities: [RuntimeCapability]\n\n/// Optional cost preference for the router.\npublic var costPreference: CostPreference?\n\n/// Optional latency preference for the router.\npublic var latencyPreference: LatencyPreference?\n\n/// Optional Arsenal scope narrowing applied when this slot is selected.\npublic var arsenalScopeNarrowing: [String]?\n\npublic init(\nrole: String,\nprimary: ProviderRef,\nfallbacks: [ProviderRef];",
          "documentation": ""
        },
        {
          "name": "public var costPreference: CostPreference?",
          "line": 76,
          "signature": "public var costPreference: CostPreference?\n\n/// Optional latency preference for the router.\npublic var latencyPreference: LatencyPreference?\n\n/// Optional Arsenal scope narrowing applied when this slot is selected.\npublic var arsenalScopeNarrowing: [String]?\n\npublic init(\nrole: String,\nprimary: ProviderRef,\nfallbacks: [ProviderRef];",
          "documentation": ""
        },
        {
          "name": "public var latencyPreference: LatencyPreference?",
          "line": 79,
          "signature": "public var latencyPreference: LatencyPreference?\n\n/// Optional Arsenal scope narrowing applied when this slot is selected.\npublic var arsenalScopeNarrowing: [String]?\n\npublic init(\nrole: String,\nprimary: ProviderRef,\nfallbacks: [ProviderRef];",
          "documentation": ""
        },
        {
          "name": "public var arsenalScopeNarrowing: [String]?",
          "line": 82,
          "signature": "public var arsenalScopeNarrowing: [String]?\n\npublic init(\nrole: String,\nprimary: ProviderRef,\nfallbacks: [ProviderRef];",
          "documentation": ""
        },
        {
          "name": "public init(",
          "line": 84,
          "signature": "public init(\nrole: String,\nprimary: ProviderRef,\nfallbacks: [ProviderRef];",
          "documentation": ""
        },
        {
          "name": "public struct ModelTopology: Codable, Sendable",
          "line": 120,
          "signature": "public struct ModelTopology: Codable, Sendable",
          "documentation": ""
        },
        {
          "name": "public var name: String",
          "line": 145,
          "signature": "public var name: String",
          "documentation": ""
        },
        {
          "name": "public var defaultRoleName: String",
          "line": 148,
          "signature": "public var defaultRoleName: String",
          "documentation": ""
        },
        {
          "name": "public var slots: [String: ModelSlot]",
          "line": 151,
          "signature": "public var slots: [String: ModelSlot]",
          "documentation": ""
        },
        {
          "name": "public var slotCount: Int",
          "line": 154,
          "signature": "public var slotCount: Int",
          "documentation": ""
        },
        {
          "name": "public func hasRole(_ role: String) -> Bool",
          "line": 157,
          "signature": "public func hasRole(_ role: String) -> Bool",
          "documentation": ""
        },
        {
          "name": "public var defaultSlot: ModelSlot",
          "line": 165,
          "signature": "public var defaultSlot: ModelSlot",
          "documentation": ""
        },
        {
          "name": "public func slotForRole(_ role: String) -> ModelSlot",
          "line": 176,
          "signature": "public func slotForRole(_ role: String) -> ModelSlot",
          "documentation": ""
        },
        {
          "name": "public func allProviderRefs() -> [ProviderRef]",
          "line": 182,
          "signature": "public func allProviderRefs() -> [ProviderRef]",
          "documentation": ""
        },
        {
          "name": "public static func single(_ providerRef: ProviderRef) -> ModelTopology",
          "line": 198,
          "signature": "public static func single(_ providerRef: ProviderRef) -> ModelTopology",
          "documentation": ""
        },
        {
          "name": "public static func builder() -> TopologyBuilder",
          "line": 208,
          "signature": "public static func builder() -> TopologyBuilder",
          "documentation": ""
        },
        {
          "name": "public final class TopologyBuilder: @unchecked Sendable",
          "line": 220,
          "signature": "public final class TopologyBuilder: @unchecked Sendable",
          "documentation": ""
        },
        {
          "name": "public func name(_ name: String) -> TopologyBuilder",
          "line": 229,
          "signature": "public func name(_ name: String) -> TopologyBuilder",
          "documentation": ""
        },
        {
          "name": "public func slot(_ role: String, _ primary: ProviderRef) -> TopologyBuilder",
          "line": 243,
          "signature": "public func slot(_ role: String, _ primary: ProviderRef) -> TopologyBuilder",
          "documentation": ""
        },
        {
          "name": "public func withFallback(_ role: String, _ fallback: ProviderRef) -> TopologyBuilder",
          "line": 257,
          "signature": "public func withFallback(_ role: String, _ fallback: ProviderRef) -> TopologyBuilder",
          "documentation": ""
        },
        {
          "name": "public func withRequiredCapability(_ role: String, _ capability: RuntimeCapability) -> TopologyBuilder",
          "line": 271,
          "signature": "public func withRequiredCapability(_ role: String, _ capability: RuntimeCapability) -> TopologyBuilder",
          "documentation": ""
        },
        {
          "name": "public func withCostPreference(_ role: String, _ pref: CostPreference) -> TopologyBuilder",
          "line": 285,
          "signature": "public func withCostPreference(_ role: String, _ pref: CostPreference) -> TopologyBuilder",
          "documentation": ""
        },
        {
          "name": "public func withLatencyPreference(_ role: String, _ pref: LatencyPreference) -> TopologyBuilder",
          "line": 299,
          "signature": "public func withLatencyPreference(_ role: String, _ pref: LatencyPreference) -> TopologyBuilder",
          "documentation": ""
        },
        {
          "name": "public func withScopeNarrowing(_ role: String, _ scopes: [String]) -> TopologyBuilder",
          "line": 313,
          "signature": "public func withScopeNarrowing(_ role: String, _ scopes: [String]) -> TopologyBuilder",
          "documentation": ""
        },
        {
          "name": "public func build() throws -> ModelTopology",
          "line": 323,
          "signature": "public func build() throws -> ModelTopology",
          "documentation": ""
        }
      ]
    },
    {
      "path": "forge-swift/Sources/ForgeCore/Types.swift",
      "sha256": "fb30f8461dac6ed1d3dbf7e72a01ede6cba93a0ef6b686da64346b9181d45e0c",
      "artifactSha256": "4abe9d0199098f3c198601721144ca2e656f777775c8a4584ed05298d795e68d",
      "url": "/reference/source/forge-swift/Sources/ForgeCore/Types.swift.txt",
      "declarations": [
        {
          "name": "public enum JSONValue: Sendable, Equatable, Hashable",
          "line": 17,
          "signature": "public enum JSONValue: Sendable, Equatable, Hashable",
          "documentation": ""
        },
        {
          "name": "public init(from decoder: Decoder) throws",
          "line": 28,
          "signature": "public init(from decoder: Decoder) throws",
          "documentation": ""
        },
        {
          "name": "public func encode(to encoder: Encoder) throws",
          "line": 54,
          "signature": "public func encode(to encoder: Encoder) throws",
          "documentation": ""
        },
        {
          "name": "public init(stringLiteral value: String)",
          "line": 76,
          "signature": "public init(stringLiteral value: String)",
          "documentation": ""
        },
        {
          "name": "public init(integerLiteral value: Int)",
          "line": 80,
          "signature": "public init(integerLiteral value: Int)",
          "documentation": ""
        },
        {
          "name": "public init(floatLiteral value: Double)",
          "line": 84,
          "signature": "public init(floatLiteral value: Double)",
          "documentation": ""
        },
        {
          "name": "public init(booleanLiteral value: Bool)",
          "line": 88,
          "signature": "public init(booleanLiteral value: Bool)",
          "documentation": ""
        },
        {
          "name": "public init(nilLiteral: ())",
          "line": 92,
          "signature": "public init(nilLiteral: ())",
          "documentation": ""
        },
        {
          "name": "public init(arrayLiteral elements: JSONValue...)",
          "line": 96,
          "signature": "public init(arrayLiteral elements: JSONValue...)",
          "documentation": ""
        },
        {
          "name": "public init(dictionaryLiteral elements: (String, JSONValue)...)",
          "line": 100,
          "signature": "public init(dictionaryLiteral elements: (String, JSONValue)...)",
          "documentation": ""
        },
        {
          "name": "public var description: String",
          "line": 106,
          "signature": "public var description: String",
          "documentation": ""
        },
        {
          "name": "public struct AgentDid: Codable, Sendable, Hashable, Equatable",
          "line": 128,
          "signature": "public struct AgentDid: Codable, Sendable, Hashable, Equatable",
          "documentation": ""
        },
        {
          "name": "public init?(_ did: String)",
          "line": 135,
          "signature": "public init?(_ did: String)",
          "documentation": ""
        },
        {
          "name": "public static func fromTrusted(_ trustedDid: String) -> AgentDid",
          "line": 150,
          "signature": "public static func fromTrusted(_ trustedDid: String) -> AgentDid",
          "documentation": ""
        },
        {
          "name": "public var asString: String",
          "line": 159,
          "signature": "public var asString: String",
          "documentation": ""
        },
        {
          "name": "public init(from decoder: Decoder) throws",
          "line": 161,
          "signature": "public init(from decoder: Decoder) throws",
          "documentation": ""
        },
        {
          "name": "public func encode(to encoder: Encoder) throws",
          "line": 167,
          "signature": "public func encode(to encoder: Encoder) throws",
          "documentation": ""
        },
        {
          "name": "public var description: String",
          "line": 174,
          "signature": "public var description: String",
          "documentation": ""
        },
        {
          "name": "public struct Timestamp: Codable, Sendable, Equatable, Comparable",
          "line": 182,
          "signature": "public struct Timestamp: Codable, Sendable, Equatable, Comparable",
          "documentation": ""
        },
        {
          "name": "public let date: Date",
          "line": 184,
          "signature": "public let date: Date\n\n/// Creates a `Timestamp` for the current UTC time.\npublic static func now() -> Timestamp",
          "documentation": ""
        },
        {
          "name": "public static func now() -> Timestamp",
          "line": 187,
          "signature": "public static func now() -> Timestamp",
          "documentation": ""
        },
        {
          "name": "public init(date: Date)",
          "line": 194,
          "signature": "public init(date: Date)",
          "documentation": ""
        },
        {
          "name": "public init?(iso8601 string: String)",
          "line": 202,
          "signature": "public init?(iso8601 string: String)",
          "documentation": ""
        },
        {
          "name": "public func toISO8601() -> String",
          "line": 218,
          "signature": "public func toISO8601() -> String",
          "documentation": ""
        },
        {
          "name": "public static func < (lhs: Timestamp, rhs: Timestamp) -> Bool",
          "line": 224,
          "signature": "public static func < (lhs: Timestamp, rhs: Timestamp) -> Bool",
          "documentation": ""
        },
        {
          "name": "public init(from decoder: Decoder) throws",
          "line": 228,
          "signature": "public init(from decoder: Decoder) throws",
          "documentation": ""
        },
        {
          "name": "public func encode(to encoder: Encoder) throws",
          "line": 242,
          "signature": "public func encode(to encoder: Encoder) throws",
          "documentation": ""
        },
        {
          "name": "public var description: String",
          "line": 249,
          "signature": "public var description: String",
          "documentation": ""
        }
      ]
    }
  ]
}
