{
  "name": "github.com/l1fe-labs/forge-go/identity",
  "language": "go",
  "version": "module source snapshot",
  "description": "Go identity package.",
  "manifest": "forge-go/go.mod",
  "manifestSha256": "dee97864d07a64c4c93c79104137d155f0cbae6962945f3b56ceb7744a03cc82",
  "status": "source-reference",
  "registryPublicationVerified": false,
  "route": "/libraries/go/identity",
  "features": {},
  "files": [
    {
      "path": "forge-go/identity/glyph.go",
      "sha256": "472615561d190cb48e0339857a9f3181dd6720e99f21536e31a98f588bbae157",
      "artifactSha256": "7dd3624889c7e396b7c755069562315a0b42e582d3caa1f4b291a1296add9ba1",
      "url": "/reference/source/forge-go/identity/glyph.go.txt",
      "declarations": [
        {
          "name": "type GlyphEntityKind string",
          "line": 19,
          "signature": "type GlyphEntityKind string\n\nconst (\nGlyphEntityKindHmr   GlyphEntityKind;",
          "documentation": ""
        },
        {
          "name": "func ParseGlyphEntityKind(s string) (GlyphEntityKind, bool)",
          "line": 31,
          "signature": "func ParseGlyphEntityKind(s string) (GlyphEntityKind, bool)",
          "documentation": ""
        },
        {
          "name": "func (k GlyphEntityKind) AsU8() uint8",
          "line": 49,
          "signature": "func (k GlyphEntityKind) AsU8() uint8",
          "documentation": ""
        },
        {
          "name": "func GlyphEntityKindFromU8(v uint8) (GlyphEntityKind, bool)",
          "line": 68,
          "signature": "func GlyphEntityKindFromU8(v uint8) (GlyphEntityKind, bool)",
          "documentation": ""
        },
        {
          "name": "type GlyphDescriptor struct",
          "line": 86,
          "signature": "type GlyphDescriptor struct",
          "documentation": ""
        },
        {
          "name": "type GlyphRenderTarget string",
          "line": 96,
          "signature": "type GlyphRenderTarget string\n\nconst (\n// GlyphRenderTargetWeb produces a self-contained SVG string.\nGlyphRenderTargetWeb GlyphRenderTarget;",
          "documentation": ""
        },
        {
          "name": "type GlyphRenderOptions struct",
          "line": 106,
          "signature": "type GlyphRenderOptions struct",
          "documentation": ""
        },
        {
          "name": "type GlyphColor struct",
          "line": 118,
          "signature": "type GlyphColor struct",
          "documentation": ""
        },
        {
          "name": "type GlyphPalette struct",
          "line": 125,
          "signature": "type GlyphPalette struct",
          "documentation": ""
        },
        {
          "name": "type GlyphRenderFormat string",
          "line": 137,
          "signature": "type GlyphRenderFormat string\n\nconst (\nGlyphRenderFormatSvg       GlyphRenderFormat;",
          "documentation": ""
        },
        {
          "name": "type GlyphRenderResult struct",
          "line": 148,
          "signature": "type GlyphRenderResult struct",
          "documentation": ""
        },
        {
          "name": "func (r *GlyphRenderResult) SvgData() (string, bool)",
          "line": 162,
          "signature": "func (r *GlyphRenderResult) SvgData() (string, bool)",
          "documentation": ""
        },
        {
          "name": "func RenderGlyph(desc *GlyphDescriptor, opts *GlyphRenderOptions) (*GlyphRenderResult, error)",
          "line": 177,
          "signature": "func RenderGlyph(desc *GlyphDescriptor, opts *GlyphRenderOptions) (*GlyphRenderResult, error)",
          "documentation": ""
        }
      ]
    },
    {
      "path": "forge-go/identity/identity.go",
      "sha256": "e60373a45e426fe4f7bd88a25ad256153f28176eb8730f3e424d302788645dee",
      "artifactSha256": "64b56407f45496b7b004bc01738c12cf97e8cff1d2014c1b7431cd5589305791",
      "url": "/reference/source/forge-go/identity/identity.go.txt",
      "declarations": [
        {
          "name": "const DefaultMaxLineageDepth;",
          "line": 25,
          "signature": "const DefaultMaxLineageDepth;",
          "documentation": ""
        },
        {
          "name": "type IdentityKind string",
          "line": 28,
          "signature": "type IdentityKind string\n\nconst (\n// KindHMR is a Human Root identity.\nKindHMR IdentityKind;",
          "documentation": ""
        },
        {
          "name": "type ForgeAgentIdentity struct",
          "line": 47,
          "signature": "type ForgeAgentIdentity struct",
          "documentation": ""
        },
        {
          "name": "func (id *ForgeAgentIdentity) DID() core.AgentDID",
          "line": 72,
          "signature": "func (id *ForgeAgentIdentity) DID() core.AgentDID",
          "documentation": ""
        },
        {
          "name": "func (id *ForgeAgentIdentity) Kind() IdentityKind",
          "line": 77,
          "signature": "func (id *ForgeAgentIdentity) Kind() IdentityKind",
          "documentation": ""
        },
        {
          "name": "func (id *ForgeAgentIdentity) PublicKey() []byte",
          "line": 82,
          "signature": "func (id *ForgeAgentIdentity) PublicKey() []byte",
          "documentation": ""
        },
        {
          "name": "func (id *ForgeAgentIdentity) LineageDepth() int",
          "line": 89,
          "signature": "func (id *ForgeAgentIdentity) LineageDepth() int",
          "documentation": ""
        },
        {
          "name": "func (id *ForgeAgentIdentity) CreatedAt() time.Time",
          "line": 94,
          "signature": "func (id *ForgeAgentIdentity) CreatedAt() time.Time",
          "documentation": ""
        },
        {
          "name": "func (id *ForgeAgentIdentity) Sign(message []byte) ([]byte, error)",
          "line": 102,
          "signature": "func (id *ForgeAgentIdentity) Sign(message []byte) ([]byte, error)",
          "documentation": ""
        },
        {
          "name": "func (id *ForgeAgentIdentity) Verify(message, signature []byte) bool",
          "line": 110,
          "signature": "func (id *ForgeAgentIdentity) Verify(message, signature []byte) bool",
          "documentation": ""
        },
        {
          "name": "func (id *ForgeAgentIdentity) String() string",
          "line": 115,
          "signature": "func (id *ForgeAgentIdentity) String() string",
          "documentation": ""
        },
        {
          "name": "func CreateHMRIdentity(namespace string) (*ForgeAgentIdentity, error)",
          "line": 129,
          "signature": "func CreateHMRIdentity(namespace string) (*ForgeAgentIdentity, error)",
          "documentation": ""
        },
        {
          "name": "func CreateHMRIdentityWithIdentifier(namespace, identifier string) (*ForgeAgentIdentity, error)",
          "line": 135,
          "signature": "func CreateHMRIdentityWithIdentifier(namespace, identifier string) (*ForgeAgentIdentity, error)",
          "documentation": ""
        },
        {
          "name": "func CreateMHRIdentity(namespace string) (*ForgeAgentIdentity, error)",
          "line": 142,
          "signature": "func CreateMHRIdentity(namespace string) (*ForgeAgentIdentity, error)",
          "documentation": ""
        },
        {
          "name": "func CreateMHRIdentityWithIdentifier(namespace, identifier string) (*ForgeAgentIdentity, error)",
          "line": 148,
          "signature": "func CreateMHRIdentityWithIdentifier(namespace, identifier string) (*ForgeAgentIdentity, error)",
          "documentation": ""
        },
        {
          "name": "func DeriveAgentIdentity(parent *ForgeAgentIdentity, label, namespace string) (*ForgeAgentIdentity, error)",
          "line": 217,
          "signature": "func DeriveAgentIdentity(parent *ForgeAgentIdentity, label, namespace string) (*ForgeAgentIdentity, error)",
          "documentation": ""
        },
        {
          "name": "func VerifyLineageChain(chain []*ForgeAgentIdentity) error",
          "line": 282,
          "signature": "func VerifyLineageChain(chain []*ForgeAgentIdentity) error",
          "documentation": ""
        }
      ]
    },
    {
      "path": "forge-go/identity/lineage.go",
      "sha256": "39382aad662ac553dbaabaca9c467d4513e28c8d4eb5c3cdd736c5cbff8618e2",
      "artifactSha256": "fbcd2e1cf4ebe189dd01353412b9022dc4059066b7566de2b283b111312f9c7e",
      "url": "/reference/source/forge-go/identity/lineage.go.txt",
      "declarations": [
        {
          "name": "type LineageProof struct",
          "line": 12,
          "signature": "type LineageProof struct",
          "documentation": ""
        },
        {
          "name": "func CreateLineageProof(parent, child *ForgeAgentIdentity, label string) (*LineageProof, error)",
          "line": 39,
          "signature": "func CreateLineageProof(parent, child *ForgeAgentIdentity, label string) (*LineageProof, error)",
          "documentation": ""
        },
        {
          "name": "func VerifyLineageProof(proof *LineageProof, parent *ForgeAgentIdentity) bool",
          "line": 71,
          "signature": "func VerifyLineageProof(proof *LineageProof, parent *ForgeAgentIdentity) bool",
          "documentation": ""
        },
        {
          "name": "type LineageChainBuilder struct",
          "line": 92,
          "signature": "type LineageChainBuilder struct",
          "documentation": ""
        },
        {
          "name": "func NewLineageChainBuilder(root *ForgeAgentIdentity) *LineageChainBuilder",
          "line": 98,
          "signature": "func NewLineageChainBuilder(root *ForgeAgentIdentity) *LineageChainBuilder",
          "documentation": ""
        },
        {
          "name": "func (b *LineageChainBuilder) Derive(label, namespace string) (*LineageChainBuilder, error)",
          "line": 105,
          "signature": "func (b *LineageChainBuilder) Derive(label, namespace string) (*LineageChainBuilder, error)",
          "documentation": ""
        },
        {
          "name": "func (b *LineageChainBuilder) Identities() []*ForgeAgentIdentity",
          "line": 123,
          "signature": "func (b *LineageChainBuilder) Identities() []*ForgeAgentIdentity",
          "documentation": ""
        },
        {
          "name": "func (b *LineageChainBuilder) Proofs() []*LineageProof",
          "line": 128,
          "signature": "func (b *LineageChainBuilder) Proofs() []*LineageProof",
          "documentation": ""
        },
        {
          "name": "func (b *LineageChainBuilder) Leaf() *ForgeAgentIdentity",
          "line": 133,
          "signature": "func (b *LineageChainBuilder) Leaf() *ForgeAgentIdentity",
          "documentation": ""
        }
      ]
    },
    {
      "path": "forge-go/identity/local_dev.go",
      "sha256": "c214dc532121722c1c22d44fc6e4b9b68b0ed400d3a20a0020b76559c8bfd8ad",
      "artifactSha256": "b7589f2bd89ff4d670211486bd299dd1b61ea1e651d957d7c4f2bf816d445778",
      "url": "/reference/source/forge-go/identity/local_dev.go.txt",
      "declarations": [
        {
          "name": "const ForgeDevMethod;",
          "line": 13,
          "signature": "const ForgeDevMethod;",
          "documentation": ""
        },
        {
          "name": "func ForgeDevDID(machineID, kind, identifier string) string",
          "line": 21,
          "signature": "func ForgeDevDID(machineID, kind, identifier string) string",
          "documentation": ""
        },
        {
          "name": "func DeriveMachineID(profileName string) string",
          "line": 33,
          "signature": "func DeriveMachineID(profileName string) string",
          "documentation": ""
        },
        {
          "name": "func DeriveMachineIDFromParts(hostname, username, profileName string) string",
          "line": 44,
          "signature": "func DeriveMachineIDFromParts(hostname, username, profileName string) string",
          "documentation": ""
        },
        {
          "name": "func ValidateForgeDevDID(did string) error",
          "line": 53,
          "signature": "func ValidateForgeDevDID(did string) error",
          "documentation": ""
        },
        {
          "name": "type LocalDevProfile struct",
          "line": 102,
          "signature": "type LocalDevProfile struct",
          "documentation": ""
        },
        {
          "name": "func NewLocalDevProfile(profileName string) *LocalDevProfile",
          "line": 116,
          "signature": "func NewLocalDevProfile(profileName string) *LocalDevProfile",
          "documentation": ""
        },
        {
          "name": "type ForgeDevIdentity struct",
          "line": 134,
          "signature": "type ForgeDevIdentity struct",
          "documentation": ""
        },
        {
          "name": "type LocalOrg struct",
          "line": 146,
          "signature": "type LocalOrg struct",
          "documentation": ""
        },
        {
          "name": "func NewLocalOrg(name string) LocalOrg",
          "line": 154,
          "signature": "func NewLocalOrg(name string) LocalOrg",
          "documentation": ""
        }
      ]
    },
    {
      "path": "forge-go/identity/persistence.go",
      "sha256": "4157497e56566099b841502faf6cc4087f3a8bed6d8aafae20e0760d574cd87c",
      "artifactSha256": "505cf617a32810fd7c2271c8e7d90a60f7885153710bfaaa9bedb2a6926541da",
      "url": "/reference/source/forge-go/identity/persistence.go.txt",
      "declarations": [
        {
          "name": "type ProtectedPrivateKey struct",
          "line": 14,
          "signature": "type ProtectedPrivateKey struct",
          "documentation": ""
        },
        {
          "name": "type IdentityKeyProtector interface",
          "line": 21,
          "signature": "type IdentityKeyProtector interface",
          "documentation": ""
        },
        {
          "name": "type SerializedIdentity struct",
          "line": 29,
          "signature": "type SerializedIdentity struct",
          "documentation": ""
        },
        {
          "name": "func Serialize(id *ForgeAgentIdentity, protector IdentityKeyProtector) (*SerializedIdentity, error)",
          "line": 44,
          "signature": "func Serialize(id *ForgeAgentIdentity, protector IdentityKeyProtector) (*SerializedIdentity, error)",
          "documentation": ""
        },
        {
          "name": "func Deserialize(s *SerializedIdentity, protector IdentityKeyProtector) (*ForgeAgentIdentity, error)",
          "line": 78,
          "signature": "func Deserialize(s *SerializedIdentity, protector IdentityKeyProtector) (*ForgeAgentIdentity, error)",
          "documentation": ""
        },
        {
          "name": "func MarshalJSON(id *ForgeAgentIdentity, protector IdentityKeyProtector) ([]byte, error)",
          "line": 146,
          "signature": "func MarshalJSON(id *ForgeAgentIdentity, protector IdentityKeyProtector) ([]byte, error)",
          "documentation": ""
        },
        {
          "name": "func UnmarshalJSON(data []byte, protector IdentityKeyProtector) (*ForgeAgentIdentity, error)",
          "line": 155,
          "signature": "func UnmarshalJSON(data []byte, protector IdentityKeyProtector) (*ForgeAgentIdentity, error)",
          "documentation": ""
        }
      ]
    }
  ]
}
