{
  "name": "ForgeIdentity",
  "language": "swift",
  "version": "Swift package source snapshot",
  "description": "Swift ForgeIdentity library product.",
  "manifest": "forge-swift/Package.swift",
  "manifestSha256": "8579cd038904d9101db7b7714fa006f94144a6f951c0535512114bb00d4a3128",
  "status": "source-reference",
  "registryPublicationVerified": false,
  "route": "/libraries/swift/ForgeIdentity",
  "features": {},
  "files": [
    {
      "path": "forge-swift/Sources/ForgeIdentity/AgentIdentity.swift",
      "sha256": "1ccdc84332cebfe345cbf1f1602760058fd0ab90971860a2e89da7b7bf91a0a1",
      "artifactSha256": "e71ee0b151124679c74827360ebd7ffcf1217f8bbfbdb026f7d3aceaf460103b",
      "url": "/reference/source/forge-swift/Sources/ForgeIdentity/AgentIdentity.swift.txt",
      "declarations": [
        {
          "name": "public struct ForgeAgentIdentity: Sendable",
          "line": 27,
          "signature": "public struct ForgeAgentIdentity: Sendable",
          "documentation": ""
        },
        {
          "name": "public let did: AgentDid",
          "line": 29,
          "signature": "public let did: AgentDid\n/// The agent's public key bytes (Ed25519, 32 bytes).\npublic let publicKey: [UInt8]\n/// The lineage depth (0;",
          "documentation": ""
        },
        {
          "name": "public let publicKey: [UInt8]",
          "line": 31,
          "signature": "public let publicKey: [UInt8]\n/// The lineage depth (0;",
          "documentation": ""
        },
        {
          "name": "public let lineageDepth: UInt32",
          "line": 33,
          "signature": "public let lineageDepth: UInt32\n/// The parent's DID (nil for HMR root).\npublic let parentDid: AgentDid?\n/// The agent's name.\npublic let name: String\n/// The agent's namespace.\npublic let namespace: String\n/// Creation timestamp.\npublic let createdAt: Timestamp\n\n// Private key stored separately, never exposed in debug output.\nprivate let privateKeyBytes: [UInt8]\nprivate let document: OasDocument?\n\ninit(\ndid: AgentDid,\npublicKey: [UInt8],\nprivateKeyBytes: [UInt8],\nlineageDepth: UInt32,\nparentDid: AgentDid?,\nname: String,\nnamespace: String,\ncreatedAt: Timestamp;",
          "documentation": ""
        },
        {
          "name": "public let parentDid: AgentDid?",
          "line": 35,
          "signature": "public let parentDid: AgentDid?\n/// The agent's name.\npublic let name: String\n/// The agent's namespace.\npublic let namespace: String\n/// Creation timestamp.\npublic let createdAt: Timestamp\n\n// Private key stored separately, never exposed in debug output.\nprivate let privateKeyBytes: [UInt8]\nprivate let document: OasDocument?\n\ninit(\ndid: AgentDid,\npublicKey: [UInt8],\nprivateKeyBytes: [UInt8],\nlineageDepth: UInt32,\nparentDid: AgentDid?,\nname: String,\nnamespace: String,\ncreatedAt: Timestamp;",
          "documentation": ""
        },
        {
          "name": "public let name: String",
          "line": 37,
          "signature": "public let name: String\n/// The agent's namespace.\npublic let namespace: String\n/// Creation timestamp.\npublic let createdAt: Timestamp\n\n// Private key stored separately, never exposed in debug output.\nprivate let privateKeyBytes: [UInt8]\nprivate let document: OasDocument?\n\ninit(\ndid: AgentDid,\npublicKey: [UInt8],\nprivateKeyBytes: [UInt8],\nlineageDepth: UInt32,\nparentDid: AgentDid?,\nname: String,\nnamespace: String,\ncreatedAt: Timestamp;",
          "documentation": ""
        },
        {
          "name": "public let namespace: String",
          "line": 39,
          "signature": "public let namespace: String\n/// Creation timestamp.\npublic let createdAt: Timestamp\n\n// Private key stored separately, never exposed in debug output.\nprivate let privateKeyBytes: [UInt8]\nprivate let document: OasDocument?\n\ninit(\ndid: AgentDid,\npublicKey: [UInt8],\nprivateKeyBytes: [UInt8],\nlineageDepth: UInt32,\nparentDid: AgentDid?,\nname: String,\nnamespace: String,\ncreatedAt: Timestamp;",
          "documentation": ""
        },
        {
          "name": "public let createdAt: Timestamp",
          "line": 41,
          "signature": "public let createdAt: Timestamp\n\n// Private key stored separately, never exposed in debug output.\nprivate let privateKeyBytes: [UInt8]\nprivate let document: OasDocument?\n\ninit(\ndid: AgentDid,\npublicKey: [UInt8],\nprivateKeyBytes: [UInt8],\nlineageDepth: UInt32,\nparentDid: AgentDid?,\nname: String,\nnamespace: String,\ncreatedAt: Timestamp;",
          "documentation": ""
        },
        {
          "name": "public func sign(_ data: [UInt8]) throws -> [UInt8]",
          "line": 73,
          "signature": "public func sign(_ data: [UInt8]) throws -> [UInt8]",
          "documentation": ""
        },
        {
          "name": "public func verify(signature: [UInt8], data: [UInt8]) throws -> Bool",
          "line": 83,
          "signature": "public func verify(signature: [UInt8], data: [UInt8]) throws -> Bool",
          "documentation": ""
        },
        {
          "name": "public var debugDescription: String",
          "line": 125,
          "signature": "public var debugDescription: String",
          "documentation": ""
        },
        {
          "name": "public func createHMRIdentity(namespace: String, name: String) throws -> ForgeAgentIdentity",
          "line": 141,
          "signature": "public func createHMRIdentity(namespace: String, name: String) throws -> ForgeAgentIdentity",
          "documentation": ""
        },
        {
          "name": "public func deriveAgentIdentity(",
          "line": 180,
          "signature": "public func deriveAgentIdentity(\nparent: ForgeAgentIdentity,\nname: String,\nnamespace: String?;",
          "documentation": ""
        }
      ]
    },
    {
      "path": "forge-swift/Sources/ForgeIdentity/Glyph.swift",
      "sha256": "c8489cc4d8a86397b1e140c63138506b1db9c1c35741fd2d51e016fb64b05b64",
      "artifactSha256": "7ba93291209f57ecaf17d9d354cd6ac3b0b864f27a30f29dbeaa600dd2b1170a",
      "url": "/reference/source/forge-swift/Sources/ForgeIdentity/Glyph.swift.txt",
      "declarations": [
        {
          "name": "public enum GlyphEntityKind: String, Codable, Sendable, Hashable, CaseIterable",
          "line": 35,
          "signature": "public enum GlyphEntityKind: String, Codable, Sendable, Hashable, CaseIterable",
          "documentation": ""
        },
        {
          "name": "public static func parseKind(_ string: String) -> GlyphEntityKind?",
          "line": 46,
          "signature": "public static func parseKind(_ string: String) -> GlyphEntityKind?",
          "documentation": ""
        },
        {
          "name": "public var asStr: String",
          "line": 51,
          "signature": "public var asStr: String",
          "documentation": ""
        },
        {
          "name": "public var asU8: UInt8",
          "line": 54,
          "signature": "public var asU8: UInt8",
          "documentation": ""
        },
        {
          "name": "public static func fromU8(_ value: UInt8) -> GlyphEntityKind?",
          "line": 68,
          "signature": "public static func fromU8(_ value: UInt8) -> GlyphEntityKind?",
          "documentation": ""
        },
        {
          "name": "public struct GlyphColor: Codable, Sendable, Hashable",
          "line": 83,
          "signature": "public struct GlyphColor: Codable, Sendable, Hashable",
          "documentation": ""
        },
        {
          "name": "public let r: UInt8",
          "line": 85,
          "signature": "public let r: UInt8\n/// Green channel (0-255).\npublic let g: UInt8\n/// Blue channel (0-255).\npublic let b: UInt8\n\n/// Create a color from RGB components.\npublic static func rgb(_ r: UInt8, _ g: UInt8, _ b: UInt8) -> GlyphColor",
          "documentation": ""
        },
        {
          "name": "public let g: UInt8",
          "line": 87,
          "signature": "public let g: UInt8\n/// Blue channel (0-255).\npublic let b: UInt8\n\n/// Create a color from RGB components.\npublic static func rgb(_ r: UInt8, _ g: UInt8, _ b: UInt8) -> GlyphColor",
          "documentation": ""
        },
        {
          "name": "public let b: UInt8",
          "line": 89,
          "signature": "public let b: UInt8\n\n/// Create a color from RGB components.\npublic static func rgb(_ r: UInt8, _ g: UInt8, _ b: UInt8) -> GlyphColor",
          "documentation": ""
        },
        {
          "name": "public static func rgb(_ r: UInt8, _ g: UInt8, _ b: UInt8) -> GlyphColor",
          "line": 92,
          "signature": "public static func rgb(_ r: UInt8, _ g: UInt8, _ b: UInt8) -> GlyphColor",
          "documentation": ""
        },
        {
          "name": "public func toHex() -> String",
          "line": 97,
          "signature": "public func toHex() -> String",
          "documentation": ""
        },
        {
          "name": "public static func lerp(_ a: GlyphColor, _ b: GlyphColor, t: Double) -> GlyphColor",
          "line": 108,
          "signature": "public static func lerp(_ a: GlyphColor, _ b: GlyphColor, t: Double) -> GlyphColor",
          "documentation": ""
        },
        {
          "name": "public struct GlyphPalette: Codable, Sendable",
          "line": 130,
          "signature": "public struct GlyphPalette: Codable, Sendable",
          "documentation": ""
        },
        {
          "name": "public let primary: GlyphColor",
          "line": 132,
          "signature": "public let primary: GlyphColor\n/// Secondary identity color (hue-offset from primary).\npublic let secondary: GlyphColor\n/// Accent color for kind region and highlights.\npublic let accent: GlyphColor\n/// Background color (dark, desaturated primary).\npublic let background: GlyphColor\n}\n\n// MARK: - GlyphDescriptor\n\n/// The glyph input contract: describes what to render.\npublic struct GlyphDescriptor: Codable, Sendable",
          "documentation": ""
        },
        {
          "name": "public let secondary: GlyphColor",
          "line": 134,
          "signature": "public let secondary: GlyphColor\n/// Accent color for kind region and highlights.\npublic let accent: GlyphColor\n/// Background color (dark, desaturated primary).\npublic let background: GlyphColor\n}\n\n// MARK: - GlyphDescriptor\n\n/// The glyph input contract: describes what to render.\npublic struct GlyphDescriptor: Codable, Sendable",
          "documentation": ""
        },
        {
          "name": "public let accent: GlyphColor",
          "line": 136,
          "signature": "public let accent: GlyphColor\n/// Background color (dark, desaturated primary).\npublic let background: GlyphColor\n}\n\n// MARK: - GlyphDescriptor\n\n/// The glyph input contract: describes what to render.\npublic struct GlyphDescriptor: Codable, Sendable",
          "documentation": ""
        },
        {
          "name": "public let background: GlyphColor",
          "line": 138,
          "signature": "public let background: GlyphColor\n}\n\n// MARK: - GlyphDescriptor\n\n/// The glyph input contract: describes what to render.\npublic struct GlyphDescriptor: Codable, Sendable",
          "documentation": ""
        },
        {
          "name": "public struct GlyphDescriptor: Codable, Sendable",
          "line": 144,
          "signature": "public struct GlyphDescriptor: Codable, Sendable",
          "documentation": ""
        },
        {
          "name": "public let did: String",
          "line": 146,
          "signature": "public let did: String\n/// The entity kind that determines the kind-region visual motif.\npublic let kind: GlyphEntityKind\n/// Optional human-readable label rendered below the glyph.\npublic let label: String?\n\npublic init(did: String, kind: GlyphEntityKind, label: String?;",
          "documentation": ""
        },
        {
          "name": "public let kind: GlyphEntityKind",
          "line": 148,
          "signature": "public let kind: GlyphEntityKind\n/// Optional human-readable label rendered below the glyph.\npublic let label: String?\n\npublic init(did: String, kind: GlyphEntityKind, label: String?;",
          "documentation": ""
        },
        {
          "name": "public let label: String?",
          "line": 150,
          "signature": "public let label: String?\n\npublic init(did: String, kind: GlyphEntityKind, label: String?;",
          "documentation": ""
        },
        {
          "name": "public init(did: String, kind: GlyphEntityKind, label: String?;",
          "line": 152,
          "signature": "public init(did: String, kind: GlyphEntityKind, label: String?;",
          "documentation": ""
        },
        {
          "name": "public func derivePalette(did: String, kind: GlyphEntityKind) -> GlyphPalette",
          "line": 170,
          "signature": "public func derivePalette(did: String, kind: GlyphEntityKind) -> GlyphPalette",
          "documentation": ""
        },
        {
          "name": "public func renderGlyph(_ descriptor: GlyphDescriptor, width: UInt32;",
          "line": 228,
          "signature": "public func renderGlyph(_ descriptor: GlyphDescriptor, width: UInt32;",
          "documentation": ""
        }
      ]
    },
    {
      "path": "forge-swift/Sources/ForgeIdentity/IdentityError.swift",
      "sha256": "e02b7632afadca7fdf1c1dcf2e73955235be9837962a13e13f0898b2e6705ce3",
      "artifactSha256": "8c706aecbc97322b3967c62834a5149bc37bd0908988f27fbfbaf68c3ffe6cd1",
      "url": "/reference/source/forge-swift/Sources/ForgeIdentity/IdentityError.swift.txt",
      "declarations": [
        {
          "name": "public enum IdentityError: Error, Sendable, Equatable",
          "line": 11,
          "signature": "public enum IdentityError: Error, Sendable, Equatable",
          "documentation": ""
        },
        {
          "name": "public var errorDescription: String?",
          "line": 34,
          "signature": "public var errorDescription: String?",
          "documentation": ""
        }
      ]
    },
    {
      "path": "forge-swift/Sources/ForgeIdentity/Lineage.swift",
      "sha256": "b1c018e5b7725b8258c0f37f2bc91f143782fdf1f9484cd2d53a2fec64d44c64",
      "artifactSha256": "5a20481858c298e6e226c18433759d45a494283b5f219dba4f8ec7beb94f535d",
      "url": "/reference/source/forge-swift/Sources/ForgeIdentity/Lineage.swift.txt",
      "declarations": [
        {
          "name": "public struct LineageProof: Codable, Sendable",
          "line": 16,
          "signature": "public struct LineageProof: Codable, Sendable",
          "documentation": ""
        },
        {
          "name": "public let childDid: String",
          "line": 18,
          "signature": "public let childDid: String\n/// The parent's DID.\npublic let parentDid: String\n/// The child's public key (hex-encoded).\npublic let childPublicKey: String\n/// The parent's public key (hex-encoded).\npublic let parentPublicKey: String\n/// The derivation path used.\npublic let derivationPath: String\n/// The lineage depth of the child.\npublic let depth: UInt32\n/// The parent's signature over the proof payload (hex-encoded).\npublic let parentSignature: String?\n/// When the proof was created.\npublic let timestamp: Timestamp\n\npublic init(\nchildDid: String,\nparentDid: String,\nchildPublicKey: String,\nparentPublicKey: String,\nderivationPath: String,\ndepth: UInt32,\nparentSignature: String?;",
          "documentation": ""
        },
        {
          "name": "public let parentDid: String",
          "line": 20,
          "signature": "public let parentDid: String\n/// The child's public key (hex-encoded).\npublic let childPublicKey: String\n/// The parent's public key (hex-encoded).\npublic let parentPublicKey: String\n/// The derivation path used.\npublic let derivationPath: String\n/// The lineage depth of the child.\npublic let depth: UInt32\n/// The parent's signature over the proof payload (hex-encoded).\npublic let parentSignature: String?\n/// When the proof was created.\npublic let timestamp: Timestamp\n\npublic init(\nchildDid: String,\nparentDid: String,\nchildPublicKey: String,\nparentPublicKey: String,\nderivationPath: String,\ndepth: UInt32,\nparentSignature: String?;",
          "documentation": ""
        },
        {
          "name": "public let childPublicKey: String",
          "line": 22,
          "signature": "public let childPublicKey: String\n/// The parent's public key (hex-encoded).\npublic let parentPublicKey: String\n/// The derivation path used.\npublic let derivationPath: String\n/// The lineage depth of the child.\npublic let depth: UInt32\n/// The parent's signature over the proof payload (hex-encoded).\npublic let parentSignature: String?\n/// When the proof was created.\npublic let timestamp: Timestamp\n\npublic init(\nchildDid: String,\nparentDid: String,\nchildPublicKey: String,\nparentPublicKey: String,\nderivationPath: String,\ndepth: UInt32,\nparentSignature: String?;",
          "documentation": ""
        },
        {
          "name": "public let parentPublicKey: String",
          "line": 24,
          "signature": "public let parentPublicKey: String\n/// The derivation path used.\npublic let derivationPath: String\n/// The lineage depth of the child.\npublic let depth: UInt32\n/// The parent's signature over the proof payload (hex-encoded).\npublic let parentSignature: String?\n/// When the proof was created.\npublic let timestamp: Timestamp\n\npublic init(\nchildDid: String,\nparentDid: String,\nchildPublicKey: String,\nparentPublicKey: String,\nderivationPath: String,\ndepth: UInt32,\nparentSignature: String?;",
          "documentation": ""
        },
        {
          "name": "public let derivationPath: String",
          "line": 26,
          "signature": "public let derivationPath: String\n/// The lineage depth of the child.\npublic let depth: UInt32\n/// The parent's signature over the proof payload (hex-encoded).\npublic let parentSignature: String?\n/// When the proof was created.\npublic let timestamp: Timestamp\n\npublic init(\nchildDid: String,\nparentDid: String,\nchildPublicKey: String,\nparentPublicKey: String,\nderivationPath: String,\ndepth: UInt32,\nparentSignature: String?;",
          "documentation": ""
        },
        {
          "name": "public let depth: UInt32",
          "line": 28,
          "signature": "public let depth: UInt32\n/// The parent's signature over the proof payload (hex-encoded).\npublic let parentSignature: String?\n/// When the proof was created.\npublic let timestamp: Timestamp\n\npublic init(\nchildDid: String,\nparentDid: String,\nchildPublicKey: String,\nparentPublicKey: String,\nderivationPath: String,\ndepth: UInt32,\nparentSignature: String?;",
          "documentation": ""
        },
        {
          "name": "public let parentSignature: String?",
          "line": 30,
          "signature": "public let parentSignature: String?\n/// When the proof was created.\npublic let timestamp: Timestamp\n\npublic init(\nchildDid: String,\nparentDid: String,\nchildPublicKey: String,\nparentPublicKey: String,\nderivationPath: String,\ndepth: UInt32,\nparentSignature: String?;",
          "documentation": ""
        },
        {
          "name": "public let timestamp: Timestamp",
          "line": 32,
          "signature": "public let timestamp: Timestamp\n\npublic init(\nchildDid: String,\nparentDid: String,\nchildPublicKey: String,\nparentPublicKey: String,\nderivationPath: String,\ndepth: UInt32,\nparentSignature: String?;",
          "documentation": ""
        },
        {
          "name": "public init(",
          "line": 34,
          "signature": "public init(\nchildDid: String,\nparentDid: String,\nchildPublicKey: String,\nparentPublicKey: String,\nderivationPath: String,\ndepth: UInt32,\nparentSignature: String?;",
          "documentation": ""
        },
        {
          "name": "public struct LineageChain: Sendable",
          "line": 56,
          "signature": "public struct LineageChain: Sendable",
          "documentation": ""
        },
        {
          "name": "public let proofs: [LineageProof]",
          "line": 58,
          "signature": "public let proofs: [LineageProof]\n\n/// The depth of the chain (number of derivation steps).\npublic var depth: Int",
          "documentation": ""
        },
        {
          "name": "public var depth: Int",
          "line": 61,
          "signature": "public var depth: Int",
          "documentation": ""
        },
        {
          "name": "public var isEmpty: Bool",
          "line": 64,
          "signature": "public var isEmpty: Bool",
          "documentation": ""
        },
        {
          "name": "public init(proofs: [LineageProof])",
          "line": 66,
          "signature": "public init(proofs: [LineageProof])",
          "documentation": ""
        },
        {
          "name": "public func verifyLineageChain(_ chain: LineageChain) throws -> Bool",
          "line": 78,
          "signature": "public func verifyLineageChain(_ chain: LineageChain) throws -> Bool",
          "documentation": ""
        },
        {
          "name": "public func buildLineageProof(",
          "line": 152,
          "signature": "public func buildLineageProof(\nparent: ForgeAgentIdentity,\nchild: ForgeAgentIdentity\n) -> LineageProof",
          "documentation": ""
        }
      ]
    },
    {
      "path": "forge-swift/Sources/ForgeIdentity/LocalDev.swift",
      "sha256": "0afdc2521c0cfd9f5bfd5cdc57f4a04d98a859f3e6d4ea51c556e828d1a90c3c",
      "artifactSha256": "4438ecc353129622df053583066a58a426968528b7be2796ed775a8f7a81c235",
      "url": "/reference/source/forge-swift/Sources/ForgeIdentity/LocalDev.swift.txt",
      "declarations": [
        {
          "name": "public let forgeDevMethod: String;",
          "line": 28,
          "signature": "public let forgeDevMethod: String;",
          "documentation": ""
        },
        {
          "name": "public func forgeDevDid(machineId: String, kind: String, identifier: String) -> String",
          "line": 37,
          "signature": "public func forgeDevDid(machineId: String, kind: String, identifier: String) -> String",
          "documentation": ""
        },
        {
          "name": "public func deriveMachineIdFromParts(hostname: String, username: String, profileName: String) -> String",
          "line": 56,
          "signature": "public func deriveMachineIdFromParts(hostname: String, username: String, profileName: String) -> String",
          "documentation": ""
        },
        {
          "name": "public func deriveMachineId(profileName: String) -> String",
          "line": 68,
          "signature": "public func deriveMachineId(profileName: String) -> String",
          "documentation": ""
        },
        {
          "name": "public struct LocalDevProfile: Codable, Sendable, Hashable",
          "line": 80,
          "signature": "public struct LocalDevProfile: Codable, Sendable, Hashable",
          "documentation": ""
        },
        {
          "name": "public let machineId: String",
          "line": 82,
          "signature": "public let machineId: String\n/// The profile name.\npublic let profileName: String\n\n/// Creates a `LocalDevProfile` from explicit parts.\n///\n/// - Parameters:\n///   - hostname: The machine hostname.\n///   - username: The OS username.\n///   - profileName: The profile name.\npublic init(hostname: String, username: String, profileName: String)",
          "documentation": ""
        },
        {
          "name": "public let profileName: String",
          "line": 84,
          "signature": "public let profileName: String\n\n/// Creates a `LocalDevProfile` from explicit parts.\n///\n/// - Parameters:\n///   - hostname: The machine hostname.\n///   - username: The OS username.\n///   - profileName: The profile name.\npublic init(hostname: String, username: String, profileName: String)",
          "documentation": ""
        },
        {
          "name": "public init(hostname: String, username: String, profileName: String)",
          "line": 92,
          "signature": "public init(hostname: String, username: String, profileName: String)",
          "documentation": ""
        },
        {
          "name": "public init(profileName: String;",
          "line": 104,
          "signature": "public init(profileName: String;",
          "documentation": ""
        },
        {
          "name": "public func agentDid(_ name: String) -> String",
          "line": 113,
          "signature": "public func agentDid(_ name: String) -> String",
          "documentation": ""
        },
        {
          "name": "public func mhrDid(_ name: String) -> String",
          "line": 121,
          "signature": "public func mhrDid(_ name: String) -> String",
          "documentation": ""
        },
        {
          "name": "public func hmrDid(_ name: String) -> String",
          "line": 129,
          "signature": "public func hmrDid(_ name: String) -> String",
          "documentation": ""
        },
        {
          "name": "public func orgDid(_ name: String) -> String",
          "line": 137,
          "signature": "public func orgDid(_ name: String) -> String",
          "documentation": ""
        },
        {
          "name": "public func validateForgeDevDid(_ did: String) throws",
          "line": 155,
          "signature": "public func validateForgeDevDid(_ did: String) throws",
          "documentation": ""
        }
      ]
    },
    {
      "path": "forge-swift/Sources/ForgeIdentity/Persistence.swift",
      "sha256": "d002e8cbd7e37edf978bed8dccab20abc10632c0cc4b27f1928175906f22a284",
      "artifactSha256": "f3eb44e4f83935a38fdc4fffa25ce5b021f45c8b499e8faa061d8ce2126c57d9",
      "url": "/reference/source/forge-swift/Sources/ForgeIdentity/Persistence.swift.txt",
      "declarations": [
        {
          "name": "public struct PersistedIdentityMetadata: Codable, Sendable",
          "line": 13,
          "signature": "public struct PersistedIdentityMetadata: Codable, Sendable",
          "documentation": ""
        },
        {
          "name": "public let did: String",
          "line": 15,
          "signature": "public let did: String\n/// The agent's public key (hex-encoded).\npublic let publicKey: String\n/// The lineage depth.\npublic let lineageDepth: UInt32\n/// The parent's DID.\npublic let parentDid: String?\n/// The agent name.\npublic let name: String\n/// The agent namespace.\npublic let namespace: String\n/// When the identity was created.\npublic let createdAt: Timestamp\n}\n\n/// Exports identity metadata (without private key) for persistence.\n///\n/// - Parameter identity: The identity to export.\n/// - Returns: The metadata for serialization.\npublic func exportIdentityMetadata(_ identity: ForgeAgentIdentity) -> PersistedIdentityMetadata",
          "documentation": ""
        },
        {
          "name": "public let publicKey: String",
          "line": 17,
          "signature": "public let publicKey: String\n/// The lineage depth.\npublic let lineageDepth: UInt32\n/// The parent's DID.\npublic let parentDid: String?\n/// The agent name.\npublic let name: String\n/// The agent namespace.\npublic let namespace: String\n/// When the identity was created.\npublic let createdAt: Timestamp\n}\n\n/// Exports identity metadata (without private key) for persistence.\n///\n/// - Parameter identity: The identity to export.\n/// - Returns: The metadata for serialization.\npublic func exportIdentityMetadata(_ identity: ForgeAgentIdentity) -> PersistedIdentityMetadata",
          "documentation": ""
        },
        {
          "name": "public let lineageDepth: UInt32",
          "line": 19,
          "signature": "public let lineageDepth: UInt32\n/// The parent's DID.\npublic let parentDid: String?\n/// The agent name.\npublic let name: String\n/// The agent namespace.\npublic let namespace: String\n/// When the identity was created.\npublic let createdAt: Timestamp\n}\n\n/// Exports identity metadata (without private key) for persistence.\n///\n/// - Parameter identity: The identity to export.\n/// - Returns: The metadata for serialization.\npublic func exportIdentityMetadata(_ identity: ForgeAgentIdentity) -> PersistedIdentityMetadata",
          "documentation": ""
        },
        {
          "name": "public let parentDid: String?",
          "line": 21,
          "signature": "public let parentDid: String?\n/// The agent name.\npublic let name: String\n/// The agent namespace.\npublic let namespace: String\n/// When the identity was created.\npublic let createdAt: Timestamp\n}\n\n/// Exports identity metadata (without private key) for persistence.\n///\n/// - Parameter identity: The identity to export.\n/// - Returns: The metadata for serialization.\npublic func exportIdentityMetadata(_ identity: ForgeAgentIdentity) -> PersistedIdentityMetadata",
          "documentation": ""
        },
        {
          "name": "public let name: String",
          "line": 23,
          "signature": "public let name: String\n/// The agent namespace.\npublic let namespace: String\n/// When the identity was created.\npublic let createdAt: Timestamp\n}\n\n/// Exports identity metadata (without private key) for persistence.\n///\n/// - Parameter identity: The identity to export.\n/// - Returns: The metadata for serialization.\npublic func exportIdentityMetadata(_ identity: ForgeAgentIdentity) -> PersistedIdentityMetadata",
          "documentation": ""
        },
        {
          "name": "public let namespace: String",
          "line": 25,
          "signature": "public let namespace: String\n/// When the identity was created.\npublic let createdAt: Timestamp\n}\n\n/// Exports identity metadata (without private key) for persistence.\n///\n/// - Parameter identity: The identity to export.\n/// - Returns: The metadata for serialization.\npublic func exportIdentityMetadata(_ identity: ForgeAgentIdentity) -> PersistedIdentityMetadata",
          "documentation": ""
        },
        {
          "name": "public let createdAt: Timestamp",
          "line": 27,
          "signature": "public let createdAt: Timestamp\n}\n\n/// Exports identity metadata (without private key) for persistence.\n///\n/// - Parameter identity: The identity to export.\n/// - Returns: The metadata for serialization.\npublic func exportIdentityMetadata(_ identity: ForgeAgentIdentity) -> PersistedIdentityMetadata",
          "documentation": ""
        },
        {
          "name": "public func exportIdentityMetadata(_ identity: ForgeAgentIdentity) -> PersistedIdentityMetadata",
          "line": 34,
          "signature": "public func exportIdentityMetadata(_ identity: ForgeAgentIdentity) -> PersistedIdentityMetadata",
          "documentation": ""
        },
        {
          "name": "public func saveIdentityMetadata(_ metadata: PersistedIdentityMetadata, to url: URL) throws",
          "line": 55,
          "signature": "public func saveIdentityMetadata(_ metadata: PersistedIdentityMetadata, to url: URL) throws",
          "documentation": ""
        },
        {
          "name": "public func loadIdentityMetadata(from url: URL) throws -> PersistedIdentityMetadata",
          "line": 73,
          "signature": "public func loadIdentityMetadata(from url: URL) throws -> PersistedIdentityMetadata",
          "documentation": ""
        }
      ]
    }
  ]
}
