---
title: "ModelArtifact · types"
url: https://developers.dagio.ai/fr/reference/types-model-artifact/
---

# ModelArtifact · types

   
                              
                                                                       
                                      
                  
           
          
   

Les types ci-dessous définissent les objets nommés et leurs relations. Les propriétés héritées sont incluses dans les tableaux. Les types dérivés d’un schéma renvoient à sa structure; une déclaration TypeScript ne remplace pas les contrôles sémantiques du compilateur.

## ModelSourceSnapshot

Immutable source snapshot stored separately from its compiled artifact.

| Champ | Options / valeurs attendues | Description |
| --- | --- | --- |
| `contract` | `"ModelSourceSnapshot@1"` | **Requis.** Discriminant exact de cette variante du contrat. Respecter la valeur littérale indiquée. |
| `modelId` | `string` | **Requis.** Définit « model Id » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
| `version` | `string` | **Requis.** Version déclarée du contenu ou de la publication; elle identifie l’interprétation applicable. |
| `commit` | `string` | **Requis.** Identité de révision de source associée à la compilation. |
| `subdirectory` | `string` | **Requis.** Sous-dossier du package source dans le dépôt de distribution. |
| `files` | `readonly { path: string; content: string; }[]` | **Requis.** Définit « files » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
| `sourceHash` | `string` | **Requis.** Empreinte de la source utilisée pour produire l’artefact. |

```typescript
export interface ModelSourceSnapshot {
  contract: 'ModelSourceSnapshot@1';
  modelId: string;
  version: string;
  commit: string;
  subdirectory: string;
  files: readonly { path: string; content: string }[];
  sourceHash: string;
}
```

## ModelArtifact

Runtime artifact accepted by Model Distribution and Surface Core.

| Champ | Options / valeurs attendues | Description |
| --- | --- | --- |
| `contract` | `"ModelArtifact@1"` | **Requis.** Discriminant exact de cette variante du contrat. Respecter la valeur littérale indiquée. |
| `artifactHash` | `string` | **Requis.** Empreinte du contenu de l’artefact; elle doit correspondre à sa provenance. |
| `sourceHash` | `string` | **Requis.** Empreinte de la source utilisée pour produire l’artefact. |
| `model` | `ManagedModelSource` | **Requis.** Définit « model » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |

```typescript
export interface ModelArtifact {
  contract: 'ModelArtifact@1';
  artifactHash: string;
  sourceHash: string;
  model: ManagedModelSource;
}
```

## CompiledManagedModel

Complete deterministic compilation output for one managed Model directory.

| Champ | Options / valeurs attendues | Description |
| --- | --- | --- |
| `snapshot` | `ModelSourceSnapshot` | **Requis.** Définit « snapshot » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
| `artifact` | `ModelArtifact` | **Requis.** Définit « artifact » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |

```typescript
export interface CompiledManagedModel {
  snapshot: ModelSourceSnapshot;
  artifact: ModelArtifact;
}
```

[Toutes les références](https://developers.dagio.ai/fr/reference/)

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

## Exemples appliqués : Publier une app réutilisable

La publication décrit l’app; les politiques conservent les accès aux Actions des instances.

### Configuration

Fragment à placer dans `publication`. [Propriétés et valeurs admises](https://developers.dagio.ai/fr/reference/workspace-model-foundation/).

```json
{
  "kind": "workspace-application",
  "license": "Propriétaire",
  "requiredCapabilities": [],
  "requiredConnections": []
}
```

### Variante et raccordement

Fragment à placer dans `contentActions[]`. [Propriétés et valeurs admises](https://developers.dagio.ai/fr/reference/content-space-action-policy/).

```json
{
  "contract": "ContentSpaceActionPolicy@1",
  "spaceKey": "clients",
  "actionKey": "prepare-quote",
  "minimumRole": "editor"
}
```

### Exemple de disposition UI

La disposition illustrative ci-dessous situe cette configuration dans l’app Clients/Soumissions. Chaque fragment s’insère à l’emplacement indiqué; ses références aux Fields, Queries et Actions correspondent aux déclarations du Model.

1. Objet concerné
2. Changement proposé
3. Vérifications
4. Confirmer

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