ManagedModelFlowAuthoring · types
Interfaces, valeurs et contrats nommés de ManagedModelFlowAuthoring.
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.
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.
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. |
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. |
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. |
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[];
}
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.
{
"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.
[
{
"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.
- Qualifier le besoin
- Préparer la proposition
- Attendre la décision
- Conserver le résultat
La proposition et ses sources restent accessibles pendant l’attente.