Public declaration syntax from forge-swift/Sources/ForgeAgent/LoopControl.swift Original source SHA-256: d2c9559b6ee9ca05a1a3bc0b3b2b9846582cd0a7afd332acce5fc7d1be155e93 Function bodies and constant values are omitted. This is not the complete implementation. Source line 14 public enum StopCondition: Sendable Source line 26 public struct LoopState: Sendable Source line 28 public let step: Int /// Total tokens consumed so far. public let totalTokens: UInt64 /// The finish reason from the last inference call. public let lastFinishReason: FinishReason? /// The messages accumulated so far. public let messageCount: Int public init(step: Int, totalTokens: UInt64, lastFinishReason: FinishReason?, messageCount: Int) Source line 30 public let totalTokens: UInt64 /// The finish reason from the last inference call. public let lastFinishReason: FinishReason? /// The messages accumulated so far. public let messageCount: Int public init(step: Int, totalTokens: UInt64, lastFinishReason: FinishReason?, messageCount: Int) Source line 32 public let lastFinishReason: FinishReason? /// The messages accumulated so far. public let messageCount: Int public init(step: Int, totalTokens: UInt64, lastFinishReason: FinishReason?, messageCount: Int) Source line 34 public let messageCount: Int public init(step: Int, totalTokens: UInt64, lastFinishReason: FinishReason?, messageCount: Int) Source line 36 public init(step: Int, totalTokens: UInt64, lastFinishReason: FinishReason?, messageCount: Int) Source line 50 public func evaluateStopConditions( _ conditions: [StopCondition], state: LoopState ) -> StopCondition?