{
  "name": "ForgeTelemetry",
  "language": "swift",
  "version": "Swift package source snapshot",
  "description": "Swift ForgeTelemetry library product.",
  "manifest": "forge-swift/Package.swift",
  "manifestSha256": "8579cd038904d9101db7b7714fa006f94144a6f951c0535512114bb00d4a3128",
  "status": "source-reference",
  "registryPublicationVerified": false,
  "route": "/libraries/swift/ForgeTelemetry",
  "features": {},
  "files": [
    {
      "path": "forge-swift/Sources/ForgeTelemetry/AuditTrail.swift",
      "sha256": "97192f127dae5ed38bfb9dbf2919d2544c45c701a0343003f99b0149c3945cbb",
      "artifactSha256": "73e6b9ee7bfd984829097b336a23deee587c4b2c186116aa906348ea96ecccf7",
      "url": "/reference/source/forge-swift/Sources/ForgeTelemetry/AuditTrail.swift.txt",
      "declarations": [
        {
          "name": "public enum AuditEntryKind: String, Codable, Sendable, Hashable, CaseIterable",
          "line": 20,
          "signature": "public enum AuditEntryKind: String, Codable, Sendable, Hashable, CaseIterable",
          "documentation": ""
        },
        {
          "name": "public struct AuditEntry: Codable, Sendable, Equatable",
          "line": 50,
          "signature": "public struct AuditEntry: Codable, Sendable, Equatable",
          "documentation": ""
        },
        {
          "name": "public let id: String",
          "line": 52,
          "signature": "public let id: String\n/// The kind of operation recorded.\npublic let kind: AuditEntryKind\n/// The agent DID that performed the operation.\npublic let agentDid: String\n/// When the operation occurred.\npublic let timestamp: Timestamp\n/// Operation-specific details.\npublic let details: JSONValue\n/// Optional Ed25519 signature over the entry.\n///\n/// When present, the signature covers the canonical JSON serialization\n/// of (id, kind, agentDid, timestamp, details). Verification uses the\n/// agent's public key from their OAS DID document.\npublic let signature: String?\n\n/// Creates a new audit entry.\n///\n/// - Parameters:\n///   - id: Unique entry identifier. Defaults to a new UUID.\n///   - kind: The kind of operation.\n///   - agentDid: The agent DID.\n///   - details: Operation-specific details.\n///   - signature: Optional signature.\n///   - timestamp: When the operation occurred. Defaults to now.\npublic init(",
          "documentation": ""
        },
        {
          "name": "public let kind: AuditEntryKind",
          "line": 54,
          "signature": "public let kind: AuditEntryKind\n/// The agent DID that performed the operation.\npublic let agentDid: String\n/// When the operation occurred.\npublic let timestamp: Timestamp\n/// Operation-specific details.\npublic let details: JSONValue\n/// Optional Ed25519 signature over the entry.\n///\n/// When present, the signature covers the canonical JSON serialization\n/// of (id, kind, agentDid, timestamp, details). Verification uses the\n/// agent's public key from their OAS DID document.\npublic let signature: String?\n\n/// Creates a new audit entry.\n///\n/// - Parameters:\n///   - id: Unique entry identifier. Defaults to a new UUID.\n///   - kind: The kind of operation.\n///   - agentDid: The agent DID.\n///   - details: Operation-specific details.\n///   - signature: Optional signature.\n///   - timestamp: When the operation occurred. Defaults to now.\npublic init(\nid: String;",
          "documentation": ""
        },
        {
          "name": "public let agentDid: String",
          "line": 56,
          "signature": "public let agentDid: String\n/// When the operation occurred.\npublic let timestamp: Timestamp\n/// Operation-specific details.\npublic let details: JSONValue\n/// Optional Ed25519 signature over the entry.\n///\n/// When present, the signature covers the canonical JSON serialization\n/// of (id, kind, agentDid, timestamp, details). Verification uses the\n/// agent's public key from their OAS DID document.\npublic let signature: String?\n\n/// Creates a new audit entry.\n///\n/// - Parameters:\n///   - id: Unique entry identifier. Defaults to a new UUID.\n///   - kind: The kind of operation.\n///   - agentDid: The agent DID.\n///   - details: Operation-specific details.\n///   - signature: Optional signature.\n///   - timestamp: When the operation occurred. Defaults to now.\npublic init(\nid: String;",
          "documentation": ""
        },
        {
          "name": "public let timestamp: Timestamp",
          "line": 58,
          "signature": "public let timestamp: Timestamp\n/// Operation-specific details.\npublic let details: JSONValue\n/// Optional Ed25519 signature over the entry.\n///\n/// When present, the signature covers the canonical JSON serialization\n/// of (id, kind, agentDid, timestamp, details). Verification uses the\n/// agent's public key from their OAS DID document.\npublic let signature: String?\n\n/// Creates a new audit entry.\n///\n/// - Parameters:\n///   - id: Unique entry identifier. Defaults to a new UUID.\n///   - kind: The kind of operation.\n///   - agentDid: The agent DID.\n///   - details: Operation-specific details.\n///   - signature: Optional signature.\n///   - timestamp: When the operation occurred. Defaults to now.\npublic init(\nid: String;",
          "documentation": ""
        },
        {
          "name": "public let details: JSONValue",
          "line": 60,
          "signature": "public let details: JSONValue\n/// Optional Ed25519 signature over the entry.\n///\n/// When present, the signature covers the canonical JSON serialization\n/// of (id, kind, agentDid, timestamp, details). Verification uses the\n/// agent's public key from their OAS DID document.\npublic let signature: String?\n\n/// Creates a new audit entry.\n///\n/// - Parameters:\n///   - id: Unique entry identifier. Defaults to a new UUID.\n///   - kind: The kind of operation.\n///   - agentDid: The agent DID.\n///   - details: Operation-specific details.\n///   - signature: Optional signature.\n///   - timestamp: When the operation occurred. Defaults to now.\npublic init(\nid: String;",
          "documentation": ""
        },
        {
          "name": "public let signature: String?",
          "line": 66,
          "signature": "public let signature: String?\n\n/// Creates a new audit entry.\n///\n/// - Parameters:\n///   - id: Unique entry identifier. Defaults to a new UUID.\n///   - kind: The kind of operation.\n///   - agentDid: The agent DID.\n///   - details: Operation-specific details.\n///   - signature: Optional signature.\n///   - timestamp: When the operation occurred. Defaults to now.\npublic init(\nid: String;",
          "documentation": ""
        },
        {
          "name": "public init(",
          "line": 77,
          "signature": "public init(\nid: String;",
          "documentation": ""
        },
        {
          "name": "public final class AuditTrail: @unchecked Sendable",
          "line": 111,
          "signature": "public final class AuditTrail: @unchecked Sendable",
          "documentation": ""
        },
        {
          "name": "public let agentDid: String",
          "line": 113,
          "signature": "public let agentDid: String\n\nprivate var _entries: [AuditEntry];",
          "documentation": ""
        },
        {
          "name": "public init(agentDid: String, maxEntries: Int;",
          "line": 124,
          "signature": "public init(agentDid: String, maxEntries: Int;",
          "documentation": ""
        },
        {
          "name": "public func append(",
          "line": 138,
          "signature": "public func append(\nkind: AuditEntryKind,\ndetails: JSONValue;",
          "documentation": ""
        },
        {
          "name": "public func entries() -> [AuditEntry]",
          "line": 166,
          "signature": "public func entries() -> [AuditEntry]",
          "documentation": ""
        },
        {
          "name": "public var count: Int",
          "line": 173,
          "signature": "public var count: Int",
          "documentation": ""
        },
        {
          "name": "public func entries(ofKind kind: AuditEntryKind) -> [AuditEntry]",
          "line": 183,
          "signature": "public func entries(ofKind kind: AuditEntryKind) -> [AuditEntry]",
          "documentation": ""
        },
        {
          "name": "public func entries(from: Timestamp, to: Timestamp) -> [AuditEntry]",
          "line": 195,
          "signature": "public func entries(from: Timestamp, to: Timestamp) -> [AuditEntry]",
          "documentation": ""
        }
      ]
    },
    {
      "path": "forge-swift/Sources/ForgeTelemetry/SpanCollector.swift",
      "sha256": "c8788ed381597dcbe0aa6bcffdd1394cf9624dd119ff8c7eb99414a2f059d110",
      "artifactSha256": "08c58b2a4ffb6a87284020f0be5de3c0eccd4fb49b80491ba4cfd6cc2d2f7449",
      "url": "/reference/source/forge-swift/Sources/ForgeTelemetry/SpanCollector.swift.txt",
      "declarations": [
        {
          "name": "public protocol SpanCollector: Sendable",
          "line": 21,
          "signature": "public protocol SpanCollector: Sendable",
          "documentation": ""
        },
        {
          "name": "public final class InMemorySpanCollector: SpanCollector, @unchecked Sendable",
          "line": 50,
          "signature": "public final class InMemorySpanCollector: SpanCollector, @unchecked Sendable",
          "documentation": ""
        },
        {
          "name": "public init()",
          "line": 55,
          "signature": "public init()",
          "documentation": ""
        },
        {
          "name": "public func collect(_ span: ForgeSpan)",
          "line": 60,
          "signature": "public func collect(_ span: ForgeSpan)",
          "documentation": ""
        },
        {
          "name": "public func spans() -> [ForgeSpan]",
          "line": 67,
          "signature": "public func spans() -> [ForgeSpan]",
          "documentation": ""
        },
        {
          "name": "public var count: Int",
          "line": 74,
          "signature": "public var count: Int",
          "documentation": ""
        },
        {
          "name": "public func clear()",
          "line": 81,
          "signature": "public func clear()",
          "documentation": ""
        }
      ]
    },
    {
      "path": "forge-swift/Sources/ForgeTelemetry/TelemetryContract.swift",
      "sha256": "9d0f306961b6c643e39b4ba0e45502344f6e5b9f645dfc5be7815fcf9d351825",
      "artifactSha256": "85a580ed9155237484a3ea53fd78841b43da0881570d15205bc7aa71b7264fae",
      "url": "/reference/source/forge-swift/Sources/ForgeTelemetry/TelemetryContract.swift.txt",
      "declarations": [
        {
          "name": "public protocol TelemetryContract: Sendable",
          "line": 29,
          "signature": "public protocol TelemetryContract: Sendable",
          "documentation": ""
        },
        {
          "name": "public final class NoopTelemetry: TelemetryContract, Sendable",
          "line": 68,
          "signature": "public final class NoopTelemetry: TelemetryContract, Sendable",
          "documentation": ""
        },
        {
          "name": "public init()",
          "line": 70,
          "signature": "public init()",
          "documentation": ""
        },
        {
          "name": "public func emitSpan(_ span: ForgeSpan)",
          "line": 73,
          "signature": "public func emitSpan(_ span: ForgeSpan)",
          "documentation": ""
        },
        {
          "name": "public func emitEvent(_ event: ForgeEvent)",
          "line": 76,
          "signature": "public func emitEvent(_ event: ForgeEvent)",
          "documentation": ""
        },
        {
          "name": "public func recordMetric(_ name: String, value: Double, labels: [String: String])",
          "line": 79,
          "signature": "public func recordMetric(_ name: String, value: Double, labels: [String: String])",
          "documentation": ""
        }
      ]
    },
    {
      "path": "forge-swift/Sources/ForgeTelemetry/TelemetryError.swift",
      "sha256": "26c9f649d4d9b2559ef0808bb014d9cf857584d63d767e4846bf63a24c52eb9d",
      "artifactSha256": "3f56ff6161816aadf86c21a9d1f4531bfdbd71fc65d09af4d5e0e5fb98e608f4",
      "url": "/reference/source/forge-swift/Sources/ForgeTelemetry/TelemetryError.swift.txt",
      "declarations": [
        {
          "name": "public enum TelemetryError: Error, Sendable, Equatable",
          "line": 16,
          "signature": "public enum TelemetryError: Error, Sendable, Equatable",
          "documentation": ""
        },
        {
          "name": "public var errorDescription: String?",
          "line": 47,
          "signature": "public var errorDescription: String?",
          "documentation": ""
        }
      ]
    }
  ]
}
