Public declaration syntax from forge-swift/Sources/ForgeCore/BrewResolver.swift Original source SHA-256: aff0741b73e8ac116bb77d8da5d94a5ee900fc60c4b732d42ea673ff1839dee5 Function bodies and constant values are omitted. This is not the complete implementation. Source line 23 public struct BrewEnvironment: Codable, Sendable Source line 25 public var providers: [String: ProviderRef] /// Registered tool names available in this environment. public var tools: Set /// Connected MCP server identifiers (URIs or aliases). public var mcpServers: Set /// Web capabilities available in this environment. public var webCapabilities: Set public init( providers: [String: ProviderRef]; Source line 27 public var tools: Set /// Connected MCP server identifiers (URIs or aliases). public var mcpServers: Set /// Web capabilities available in this environment. public var webCapabilities: Set public init( providers: [String: ProviderRef]; Source line 29 public var mcpServers: Set /// Web capabilities available in this environment. public var webCapabilities: Set public init( providers: [String: ProviderRef]; Source line 31 public var webCapabilities: Set public init( providers: [String: ProviderRef]; Source line 33 public init( providers: [String: ProviderRef]; Source line 55 public enum BrewResolutionErrorKind: String, Codable, Sendable, Hashable Source line 71 public struct BrewResolutionError: Error, Codable, Sendable, Hashable Source line 73 public let nodeId: NodeId /// What went wrong. public let errorKind: BrewResolutionErrorKind public init(nodeId: NodeId, errorKind: BrewResolutionErrorKind) Source line 75 public let errorKind: BrewResolutionErrorKind public init(nodeId: NodeId, errorKind: BrewResolutionErrorKind) Source line 77 public init(nodeId: NodeId, errorKind: BrewResolutionErrorKind) Source line 89 public var errorDescription: String? Source line 98 public enum ResolvedNodeKind: Codable, Sendable Source line 128 public init(from decoder: Decoder) throws Source line 182 public func encode(to encoder: Encoder) throws Source line 224 public struct ResolvedNode: Codable, Sendable Source line 226 public let id: NodeId /// The resolved (verified) node kind. public let kind: ResolvedNodeKind public init(id: NodeId, kind: ResolvedNodeKind) Source line 228 public let kind: ResolvedNodeKind public init(id: NodeId, kind: ResolvedNodeKind) Source line 230 public init(id: NodeId, kind: ResolvedNodeKind) Source line 242 public struct ResolvedBrewPlan: Codable, Sendable Source line 244 public let planId: String /// The source brew's identifier. public let brewId: BrewId /// The source brew's version. public let brewVersion: BrewVersion /// ISO 8601 timestamp of when resolution occurred. public let resolvedAt: String /// SHA-256 hash of the serialized `BrewEnvironment`. public let environmentHash: String /// Resolved nodes keyed by node ID. public let nodes: [NodeId: ResolvedNode] /// Edges from the original brew. public let edges: Set /// Topologically sorted execution order. public let executionOrder: [NodeId] /// Entry nodes from the original brew. public let entryNodes: [NodeId] /// Exit nodes from the original brew. public let exitNodes: [NodeId] private enum CodingKeys: String, CodingKey Source line 246 public let brewId: BrewId /// The source brew's version. public let brewVersion: BrewVersion /// ISO 8601 timestamp of when resolution occurred. public let resolvedAt: String /// SHA-256 hash of the serialized `BrewEnvironment`. public let environmentHash: String /// Resolved nodes keyed by node ID. public let nodes: [NodeId: ResolvedNode] /// Edges from the original brew. public let edges: Set /// Topologically sorted execution order. public let executionOrder: [NodeId] /// Entry nodes from the original brew. public let entryNodes: [NodeId] /// Exit nodes from the original brew. public let exitNodes: [NodeId] private enum CodingKeys: String, CodingKey Source line 248 public let brewVersion: BrewVersion /// ISO 8601 timestamp of when resolution occurred. public let resolvedAt: String /// SHA-256 hash of the serialized `BrewEnvironment`. public let environmentHash: String /// Resolved nodes keyed by node ID. public let nodes: [NodeId: ResolvedNode] /// Edges from the original brew. public let edges: Set /// Topologically sorted execution order. public let executionOrder: [NodeId] /// Entry nodes from the original brew. public let entryNodes: [NodeId] /// Exit nodes from the original brew. public let exitNodes: [NodeId] private enum CodingKeys: String, CodingKey Source line 250 public let resolvedAt: String /// SHA-256 hash of the serialized `BrewEnvironment`. public let environmentHash: String /// Resolved nodes keyed by node ID. public let nodes: [NodeId: ResolvedNode] /// Edges from the original brew. public let edges: Set /// Topologically sorted execution order. public let executionOrder: [NodeId] /// Entry nodes from the original brew. public let entryNodes: [NodeId] /// Exit nodes from the original brew. public let exitNodes: [NodeId] private enum CodingKeys: String, CodingKey Source line 252 public let environmentHash: String /// Resolved nodes keyed by node ID. public let nodes: [NodeId: ResolvedNode] /// Edges from the original brew. public let edges: Set /// Topologically sorted execution order. public let executionOrder: [NodeId] /// Entry nodes from the original brew. public let entryNodes: [NodeId] /// Exit nodes from the original brew. public let exitNodes: [NodeId] private enum CodingKeys: String, CodingKey Source line 254 public let nodes: [NodeId: ResolvedNode] /// Edges from the original brew. public let edges: Set /// Topologically sorted execution order. public let executionOrder: [NodeId] /// Entry nodes from the original brew. public let entryNodes: [NodeId] /// Exit nodes from the original brew. public let exitNodes: [NodeId] private enum CodingKeys: String, CodingKey Source line 256 public let edges: Set /// Topologically sorted execution order. public let executionOrder: [NodeId] /// Entry nodes from the original brew. public let entryNodes: [NodeId] /// Exit nodes from the original brew. public let exitNodes: [NodeId] private enum CodingKeys: String, CodingKey Source line 258 public let executionOrder: [NodeId] /// Entry nodes from the original brew. public let entryNodes: [NodeId] /// Exit nodes from the original brew. public let exitNodes: [NodeId] private enum CodingKeys: String, CodingKey Source line 260 public let entryNodes: [NodeId] /// Exit nodes from the original brew. public let exitNodes: [NodeId] private enum CodingKeys: String, CodingKey Source line 262 public let exitNodes: [NodeId] private enum CodingKeys: String, CodingKey Source line 276 public init(from decoder: Decoder) throws Source line 291 public func encode(to encoder: Encoder) throws Source line 344 public func resolveBrew(_ brew: Brew, environment: BrewEnvironment) throws -> ResolvedBrewPlan Source line 383 public struct BrewResolutionErrors: Error, Sendable Source line 385 public let errors: [BrewResolutionError] } extension BrewResolutionErrors: LocalizedError Source line 389 public var errorDescription: String?