From 246adde74a55e285baf3448500dbe4cf4547f4dd Mon Sep 17 00:00:00 2001 From: Marc-Antoine Parent Date: Wed, 15 Jul 2026 14:28:58 -0400 Subject: [PATCH] eng-1863 Relation cross-app contract --- packages/database/src/crossAppContracts.ts | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/packages/database/src/crossAppContracts.ts b/packages/database/src/crossAppContracts.ts index f5c3185f5..c1bf4268a 100644 --- a/packages/database/src/crossAppContracts.ts +++ b/packages/database/src/crossAppContracts.ts @@ -4,6 +4,9 @@ import { Enums, type Json } from "./dbTypes"; // An identifier for objects in the platform. Expected to be unique within the platform. export type LocalId = string; +// A composite identifier for objects in other spaces. +export type Rid = string; + // Common attributes for most types export type CrossAppBase = { localId: LocalId; @@ -76,3 +79,12 @@ export type CrossAppNode = CrossAppBase & { full?: InlineCrossAppTypedContent; }; }; + +// A relation instance +export type CrossAppRelation = CrossAppBase & { + relationType: LocalId; + /* eslint-disable @typescript-eslint/no-duplicate-type-constituents */ + source: LocalId | Rid; + destination: LocalId | Rid; + /* eslint-enable @typescript-eslint/no-duplicate-type-constituents */ +};