Table of Contents

Namespace SmarterLink.Core.Models

Classes

ComponentId

Identifies a component (part or workpiece). Can be used to correlate SmarterLink payloads with external component, part, or CAD management systems. Serializes as a plain string.

JobConfig

Free-form key-value configuration dictionary for a job. The schema is entirely application-defined and is typically distributed out-of-band (for example, via a custom payload or a side-channel) rather than as a standard SmarterLink event.

JobId

Identifies a job. Can be used to correlate SmarterLink payloads with external job management systems. Serializes as a plain string.

Location

A URI reference to a resource accessible by SmarterLink participants. All URI schemes are permitted. Files served via the built-in file transfer protocol use the smarterlink:// scheme. Serializes as a URI string.

ParticipantId

Identifies a SmarterLink participant. Must be unique across the entire SmarterLink network and must not contain MQTT reserved characters (/, +, #, $). Serializes as a plain string.

Role

Describes a participant's function in the SmarterLink system. Four canonical roles are defined; custom roles are permitted but carry no standard event definitions.

ValueOf<T>

Abstract base for strongly-typed value wrappers. Derived types wrap a primitive or value-type to prevent accidental interchangeability between distinct concepts (e.g. JobId vs ComponentId).