Public declaration syntax from forge-swift/Sources/ForgeAgent/SubAgent.swift Original source SHA-256: 32ef351e68016317a606cd8ff5fcd40507a3b967873b99b9602ad3a8f45ac3a3 Function bodies and constant values are omitted. This is not the complete implementation. Source line 17 public struct SubAgentConfig: Sendable Source line 19 public let name: String /// The system prompt for the sub-agent. public let systemPrompt: String? /// Maximum tool loop steps for the sub-agent. public let maxSteps: Int /// Tools available to the sub-agent (subset of parent's tools). public let allowedTools: [String]? public init( name: String, systemPrompt: String?; Source line 21 public let systemPrompt: String? /// Maximum tool loop steps for the sub-agent. public let maxSteps: Int /// Tools available to the sub-agent (subset of parent's tools). public let allowedTools: [String]? public init( name: String, systemPrompt: String?; Source line 23 public let maxSteps: Int /// Tools available to the sub-agent (subset of parent's tools). public let allowedTools: [String]? public init( name: String, systemPrompt: String?; Source line 25 public let allowedTools: [String]? public init( name: String, systemPrompt: String?; Source line 27 public init( name: String, systemPrompt: String?; Source line 54 public func createSubAgent( model: any LanguageModel, config: SubAgentConfig, parentRegistry: ToolRegistry, approvalHandler: any ToolApprovalHandler;