ConnectorRef

data class ConnectorRef constructor(val connectorId: String, val externalId: String, val display: String? = null) : SourceLocator

A locator that references material owned by an external connector.

The connector (a private/product concern) knows how to resolve externalId within the system identified by connectorId. DICE only holds the identifiers needed to ask the connector for the material later.

Both ids are free text, so the key escapes the connector id (\ becomes \\, : becomes \:) to keep the boundary between the two segments unambiguous — otherwise ConnectorRef("a:b", "c") and ConnectorRef("a", "b:c") would both render connector:a:b:c and wrongly compare equal. The external id needs no escaping because it is the last segment. For any connector id without : or \ — every realistic one — the key is byte-identical to the pre-escaping rendering, so existing stored :Source nodes keep their keys. A stored key whose connector id did contain those characters was ambiguous when written and cannot be re-keyed from the key alone; re-ingesting the source is the fix.

Constructors

Link copied to clipboard
constructor(connectorId: String, externalId: String, display: String? = null)

Properties

Link copied to clipboard

Identifier of the connector that owns the material (e.g. "slack", "notion", "gmail")

Link copied to clipboard
open override val display: String? = null

Optional human-readable label

Link copied to clipboard

Identifier of the material within that connector

Functions

Link copied to clipboard
open operator override fun equals(other: Any?): Boolean
Link copied to clipboard
open override fun hashCode(): Int
Link copied to clipboard
open override fun key(): String

A stable, comparable key identifying this locator.