ForgeTool
Swift ForgeTool library product.
Swift ForgeTool library product.
Package contract
| Field | Value |
|---|---|
| Language | swift |
| Source version | Swift package source snapshot |
| Manifest | forge-swift/Package.swift |
| Source files | 4 |
| Evidence | Source reference; registry publication and runtime conformance are separate checks |
Import boundary
import ForgeToolUse a source checkout or your verified private registry. Manifest coordinates identify the package; they do not establish that a public registry release exists.
Source reference
Download package reference JSON. Each original source file and generated declaration artifact has its own SHA-256 digest. Function bodies and constant values are omitted from downloads. These are source declaration inventories, not compiler-resolved rustdoc, TypeDoc, DocC, or Dokka output. Private modules can contain public declarations that are not reachable through the package boundary; consult the entry point before importing.
Approval.swift
Read declaration text · 10 declaration entries
public protocol ToolApprovalHandler: Sendable
public struct AutoApprovalHandler: ToolApprovalHandler, Sendable
public init()
public func approve(call: ToolCall, definition: ToolDefinition) async -> ToolApproval
public struct DenyAllHandler: ToolApprovalHandler, Sendable
public init(reason: String;
public func approve(call: ToolCall, definition: ToolDefinition) async -> ToolApproval
public struct PlatformOnlyHandler: ToolApprovalHandler, Sendable
public init()
public func approve(call: ToolCall, definition: ToolDefinition) async -> ToolApprovalDefinition.swift
Read declaration text · 7 declaration entries
public struct ForgeToolBuilder: Sendable
public init(_ name: String)
public func description(_ desc: String) -> ForgeToolBuilder
public func parameters(_ schema: JsonSchema) -> ForgeToolBuilder
public func tier(_ tier: ToolTier) -> ForgeToolBuilder
public func handler(_ handler: @escaping ToolHandler) -> ForgeToolBuilder
public func build() -> RegisteredToolExecution.swift
Read declaration text · 2 declaration entries
public func executeTool(
call: ToolCall,
registry: ToolRegistry,
approvalHandler: any ToolApprovalHandler;
public func executeTools(
calls: [ToolCall],
registry: ToolRegistry,
approvalHandler: any ToolApprovalHandler;Registry.swift
Read declaration text · 14 declaration entries
public typealias ToolHandler;
public struct RegisteredTool: Sendable
public let definition: ToolDefinition
/// The handler that executes the tool.
public let handler: ToolHandler
public init(definition: ToolDefinition, handler: @escaping ToolHandler)
public let handler: ToolHandler
public init(definition: ToolDefinition, handler: @escaping ToolHandler)
public init(definition: ToolDefinition, handler: @escaping ToolHandler)
public final class ToolRegistry: @unchecked Sendable
public init()
public func register(definition: ToolDefinition, handler: @escaping ToolHandler) throws
public func get(_ name: String) -> RegisteredTool?
public func definitions() -> [ToolDefinition]
public func definitions(forTier tier: ToolTier) -> [ToolDefinition]
public var count: Int
public var isEmpty: Bool
public func remove(_ name: String) -> RegisteredTool?