---
title: "WorkspaceCompositionReferences · types"
url: https://developers.dagio.ai/reference/types-workspace-composition-references/
---

# WorkspaceCompositionReferences · types

   
                                               
                                                                                         
                                                        
                  
           
          
   

The following types define named objects and their relationships. Tables include inherited properties. Schema-derived types refer to their validated structures; a TypeScript declaration does not replace the compiler’s semantic checks.

## WorkspaceCompositionReferenceScreen

Current POC screen facts come only from admitted native Model declarations, never instance authority.

```typescript
export type WorkspaceCompositionReferenceScreen =
  | { readonly kind: 'home'; readonly references: SurfaceCompositionModelReferences }
  | { readonly kind: 'collection'; readonly destinationKey: string; readonly viewKey: string; readonly references: SurfaceCompositionModelReferences }
  | { readonly kind: 'record'; readonly recordProfileKey: string; readonly references: SurfaceCompositionModelReferences }
  | { readonly kind: 'work'; readonly experienceKey: string; readonly references: SurfaceCompositionModelReferences };
```

```typescript
type WorkspaceCompositionReferenceScreen = { readonly kind: "home"; readonly references: SurfaceCompositionModelReferences; } | { readonly kind: "collection"; readonly destinationKey: string; readonly viewKey: string; readonly references: SurfaceCompositionModelReferences; } | { readonly kind: "record"; readonly recordProfileKey: string; readonly references: SurfaceCompositionModelReferences; } | { readonly kind: "work"; readonly experienceKey: string; readonly references: SurfaceCompositionModelReferences; };
```

## WorkspaceCompositionReferences

One passive current envelope; every screen explicitly carries its actual Work capabilities, including an empty set.

| Field | Options / expected values | Description |
| --- | --- | --- |
| `contract` | `"WorkspaceCompositionReferences@1"` | **Required.** Exact discriminant of this contract variant. Match the literal value shown. |
| `catalogue` | `{ contract: "SurfaceCompositionCatalogue@1"; version: "0.0.0.1"; hash: string; }` | **Required.** Defines catalogue for this object. Observe the type, variants and bounds in the Options column. |
| `screens` | `readonly WorkspaceCompositionReferenceScreen[]` | **Required.** Defines screens for this object. Observe the type, variants and bounds in the Options column. |

```typescript
export interface WorkspaceCompositionReferences {
  readonly contract: 'WorkspaceCompositionReferences@1';
  readonly catalogue: SurfaceCompositionCatalogueIdentity;
  readonly screens: readonly WorkspaceCompositionReferenceScreen[];
}
```

[All references](https://developers.dagio.ai/reference/)

<!-- surface-examples:start -->

## Applied examples : Compose a record and its relations

Two declared Stacks hold main content then relations without extra frames. The preset selects the right panel’s width.

### Configuration

Component properties `RecordLayout.props`. [Properties and accepted values](https://developers.dagio.ai/surface-components/#recordlayout).

```json
{
  "asideWidth": "standard"
}
```

### Variation and connection

Component properties `RecordLayout.props`. [Properties and accepted values](https://developers.dagio.ai/surface-components/#recordlayout).

```json
{
  "asideWidth": "compact"
}
```

### UI layout example

The illustrative layout below places this configuration in the Clients/Quotes app. Insert each fragment at the stated location, with Field, Query and Action references matching the Model declarations.

1. Client identity
2. Notes and follow-up
3. Settings
4. Linked quotes

<!-- surface-examples:end -->
