---
title: "ManagedModelFlowAuthoring · types"
url: https://developers.dagio.ai/fr/reference/types-managed-model-flow-authoring/
---

# ManagedModelFlowAuthoring · 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.

## ManagedModelAuthorFlow

Closed author contract; advanced native Blueprints remain independent declarations.

```typescript
export type ManagedModelAuthorFlow = Omit<z.infer<typeof managedModelAuthorFlowSchema>, 'steps'> & {
  readonly steps: readonly ManagedModelAuthorFlowNode[];
};
```

## ManagedModelAuthorFlowNode

The author tree changes placement only; every control retains its exact native choices and budgets.

```typescript
export type ManagedModelAuthorFlowNode =
  | z.infer<typeof managedModelAuthorTaskSchema>
  | Extract<FlowCompositionStep, { kind: 'wait' | 'delay' | 'subflow' }>
  | (Omit<Extract<FlowCompositionStep, { kind: 'sequence' }>, 'steps'> & {
      readonly steps: readonly ManagedModelAuthorFlowNode[];
    })
  | (Omit<Extract<FlowCompositionStep, { kind: 'choice' }>, 'branches'> & {
      readonly branches: readonly {
        readonly key: string;
        readonly ruleKey: string;
        readonly step: ManagedModelAuthorFlowNode;
      }[];
    })
  | (Omit<Extract<FlowCompositionStep, { kind: 'parallel' }>, 'branches'> & {
      readonly branches: readonly {
        readonly key: string;
        readonly step: ManagedModelAuthorFlowNode;
      }[];
    })
  | (Omit<Extract<FlowCompositionStep, { kind: 'collection' }>, 'stepKey'> & {
      readonly step: ManagedModelAuthorFlowNode;
    })
  | (Omit<Extract<FlowCompositionStep, { kind: 'iterate' }>, 'stepKey'> & {
      readonly step: ManagedModelAuthorFlowNode;
    });
```

## ManagedModelFlowStepCatalogueEntry

A reusable entry is exactly one TaskAction and its admitted Fields, not a new handler registry.

| Champ | Options / valeurs attendues | Description |
| --- | --- | --- |
| `key` | `string` | **Requis.** Identifiant sémantique stable utilisé par les références; le modifier change l’identité. |
| `action` | `TaskActionDefinition` | **Requis.** Définit « action » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
| `inputFields` | `readonly ManagedSurfaceFieldDefinition[]` | **Requis.** Définit « input Fields » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
| `effect` | `"canonical-task"` | **Requis.** Définit « effect » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
| `authorization` | `"canonical-flow-and-task-owners"` | **Requis.** Définit « authorization » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
| `retry` | `"explicit-business-attempt"` | **Requis.** Définit « retry » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
| `providerEffects` | `"not-declared"` | **Requis.** Définit « provider Effects » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |

```typescript
export interface ManagedModelFlowStepCatalogueEntry {
  readonly key: string;
  readonly action: TaskActionDefinition;
  readonly inputFields: readonly ManagedSurfaceFieldDefinition[];
  readonly effect: 'canonical-task';
  readonly authorization: 'canonical-flow-and-task-owners';
  readonly retry: 'explicit-business-attempt';
  readonly providerEffects: 'not-declared';
}
```

## ManagedModelAuthorFlowMapping

Maps authored identities to inspectable generated declarations without adding artifact metadata.

| Champ | Options / valeurs attendues | Description |
| --- | --- | --- |
| `blueprintKey` | `string` | **Requis.** Référence par clé stable à la déclaration nommée correspondante; le compilateur contrôle son existence et sa compatibilité. |
| `source` | `string` | **Requis.** Définit « source » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
| `steps` | `readonly { readonly key: string; readonly source: string; readonly workNodeKey: string \| null; }[]` | **Requis.** Étapes de la composition dans leur organisation déclarée. |

```typescript
export interface ManagedModelAuthorFlowMapping {
  readonly blueprintKey: string;
  readonly source: string;
  readonly steps: readonly {
    readonly key: string;
    readonly source: string;
    readonly workNodeKey: string | null;
  }[];
}
```

## ManagedModelFlowAuthoringInspection

This is an inspection of a successful compile, not a publication, permission or execution result.

| Champ | Options / valeurs attendues | Description |
| --- | --- | --- |
| `contract` | `"ModelFlowAuthoringInspection@1"` | **Requis.** Discriminant exact de cette variante du contrat. Respecter la valeur littérale indiquée. |
| `sourceHash` | `string` | **Requis.** Empreinte de la source utilisée pour produire l’artefact. |
| `artifactHash` | `string` | **Requis.** Empreinte du contenu de l’artefact; elle doit correspondre à sa provenance. |
| `model` | `{ readonly id: string; readonly version: string; }` | **Requis.** Définit « model » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
| `catalogue` | `{ readonly hash: string; readonly entries: readonly ManagedModelFlowStepCatalogueEntry[]; }` | **Requis.** Définit « catalogue » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
| `mappings` | `readonly ManagedModelAuthorFlowMapping[]` | **Requis.** Définit « mappings » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
| `blueprints` | `readonly FlowBlueprint[]` | **Requis.** Définit « blueprints » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |

```typescript
export interface ManagedModelFlowAuthoringInspection {
  readonly contract: 'ModelFlowAuthoringInspection@1';
  readonly sourceHash: string;
  readonly artifactHash: string;
  readonly model: { readonly id: string; readonly version: string };
  readonly catalogue: {
    readonly hash: string;
    readonly entries: readonly ManagedModelFlowStepCatalogueEntry[];
  };
  readonly mappings: readonly ManagedModelAuthorFlowMapping[];
  readonly blueprints: readonly FlowBlueprint[];
}
```

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

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

## Exemples appliqués : Préparer une soumission

Le Flow déclare les entrées Client et Besoin, une étape exécutable et un budget borné.

### Configuration

Fragment à placer dans `flowBlueprints[].composition`. [Propriétés et valeurs admises](https://developers.dagio.ai/fr/reference/flow-composition/).

```json
{
  "contract": "FlowComposition@1",
  "rootWorkNodeKey": "prepare-quote",
  "stateSurfaceDefinitionPath": "workspace/work/surface/preparation",
  "subflowLinkTypePath": null,
  "entryStepKey": "prepare",
  "inputs": [
    {
      "key": "client",
      "type": "surface-reference",
      "provenance": "caller",
      "minimum": 1,
      "maximum": 1
    },
    {
      "key": "need",
      "type": "text",
      "provenance": "caller",
      "minimum": 1,
      "maximum": 1
    }
  ],
  "contexts": [],
  "outputs": [],
  "steps": [
    {
      "key": "prepare",
      "kind": "task",
      "workNodeKey": "prepare",
      "actionKey": "prepare",
      "inputs": {},
      "outputs": [
        {
          "key": "proposal",
          "type": "result-reference",
          "provenance": "canonical",
          "minimum": 1,
          "maximum": 1,
          "result": "reference"
        }
      ],
      "reservedCostUnits": 1,
      "maximumAttempts": 1
    }
  ],
  "budgets": {
    "maximumDepth": 2,
    "maximumOccurrences": 20,
    "maximumConcurrency": 2,
    "maximumIterations": 3,
    "maximumDurationMilliseconds": 86400000,
    "maximumCostUnits": 100,
    "maximumStateBytes": 32000
  }
}
```

### Variante et raccordement

Fragment à placer dans `flowBlueprints[].composition.inputs`. [Propriétés et valeurs admises](https://developers.dagio.ai/fr/reference/flow-composition/).

```json
[
  {
    "key": "client",
    "type": "surface-reference",
    "provenance": "caller",
    "minimum": 1,
    "maximum": 1
  },
  {
    "key": "need",
    "type": "text",
    "provenance": "caller",
    "minimum": 1,
    "maximum": 1
  }
]
```

### 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. Qualifier le besoin
2. Préparer la proposition
3. Attendre la décision
4. Conserver le résultat

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