Aller au contenu
SurfaceDocs
ENCommencer
DocsRéférence du Model

surfaceContextPolicyV4

Propriétés, variantes, types et limites de surfaceContextPolicyV4.

Cette référence décrit la structure complète de surfaceContextPolicyV4. Chaque chemin représente une propriété, y compris les objets imbriqués, les éléments de listes et les branches conditionnelles. Une branche identifiée par kind, contract ou mode n’admet que ses propres propriétés.

Structure et valeurs

Champ Options / valeurs attendues Description
key string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u Requis. Identifiant sémantique stable utilisé par les références; le modifier change l’identité.
targetDefinitionPaths Array<string; min length 1; max length 600; /^workspace\/[a-z0-9-]+(?:\/surface\/[a-z0-9-]+)*$/u>; max length 100 Requis. Chemin exact du type de définition concerné; chaque référence doit exister dans le Model et respecter le périmètre déclaré.
sources Array<closed object OR closed object>; max length 100 Requis. Définit « sources » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
sources[].[variant 1].key string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u Requis. Identifiant sémantique stable utilisé par les références; le modifier change l’identité.
sources[].[variant 1].kind "target" | "relation" | "query" | "knowledge" Requis. Sélectionne la variante et les propriétés admises dans cette branche.
sources[].[variant 1].definitionPaths Array<string; min length 1; max length 600; /^workspace\/[a-z0-9-]+(?:\/surface\/[a-z0-9-]+)*$/u>; max length 100 Requis. Définit « definition Paths » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
sources[].[variant 1].linkTypePaths Array<string; min length 1; max length 4000>; max length 100 Requis. Définit « link Type Paths » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
sources[].[variant 1].queryKey string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u; null Requis. Référence à une Query déclarée; le moteur de données applique le périmètre et les droits.
sources[].[variant 1].required true | false Requis. Indique si cette déclaration exige une valeur.
sources[].[variant 1].revision "current" | "captured" Requis. Définit « revision » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
sources[].[variant 1].priority integer; ≥ 0; ≤ 1000 Requis. Définit « priority » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
sources[].[variant 1].maximumItems integer; ≥ 1; ≤ 100 Requis. Borne de cardinalité ou de budget pour la ressource nommée. Les dépassements sont refusés; null signifie une absence de borne uniquement lorsque le schéma l’admet.
sources[].[variant 1].maximumCharacters integer; ≥ 1; ≤ 100000 Requis. Borne de cardinalité ou de budget pour la ressource nommée. Les dépassements sont refusés; null signifie une absence de borne uniquement lorsque le schéma l’admet.
sources[].[variant 1].parameters Record<string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u OR string; min length 1; max length 120; /^[a-zA-Z][a-zA-Z0-9]*$/u, closed object OR closed object OR closed object> Requis. Paramètres nommés de l’opération ou de la Query et valeurs associées.
sources[].[variant 1].parameters{key}.[kind=entity-id].kind "entity-id" Requis. Sélectionne la variante et les propriétés admises dans cette branche.
sources[].[variant 1].parameters{key}.[kind=entity-id].definitionPath string; min length 1; max length 600; /^workspace\/[a-z0-9-]+(?:\/surface\/[a-z0-9-]+)*$/u Requis. Chemin exact d’une définition du Model; il ne désigne pas l’ID d’une fiche.
sources[].[variant 1].parameters{key}.[kind=field].kind "field" Requis. Sélectionne la variante et les propriétés admises dans cette branche.
sources[].[variant 1].parameters{key}.[kind=field].field closed object Requis. Définit « field » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
sources[].[variant 1].parameters{key}.[kind=field].field.definitionPath string; min length 1; max length 600; /^workspace\/[a-z0-9-]+(?:\/surface\/[a-z0-9-]+)*$/u Requis. Chemin exact d’une définition du Model; il ne désigne pas l’ID d’une fiche.
sources[].[variant 1].parameters{key}.[kind=field].field.fieldKey string; min length 1; max length 120; /^[a-zA-Z][a-zA-Z0-9]*$/u Requis. Clé d’un Field déclaré sur la définition de Surface référencée.
sources[].[variant 1].parameters{key}.[kind=literal].kind "literal" Requis. Sélectionne la variante et les propriétés admises dans cette branche.
sources[].[variant 1].parameters{key}.[kind=literal].value string; max length 4000 OR number OR true | false OR null Requis. Valeur effective interprétée selon le type et le discriminant du contexte parent.
sources[].[kind=flow-reference].key string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u Requis. Identifiant sémantique stable utilisé par les références; le modifier change l’identité.
sources[].[kind=flow-reference].kind "flow-reference" Requis. Sélectionne la variante et les propriétés admises dans cette branche.
sources[].[kind=flow-reference].source closed object OR closed object Requis. Définit « source » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
sources[].[kind=flow-reference].source.[kind=input].kind "input" Requis. Sélectionne la variante et les propriétés admises dans cette branche.
sources[].[kind=flow-reference].source.[kind=input].key string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u Requis. Identifiant sémantique stable utilisé par les références; le modifier change l’identité.
sources[].[kind=flow-reference].source.[kind=step-output].kind "step-output" Requis. Sélectionne la variante et les propriétés admises dans cette branche.
sources[].[kind=flow-reference].source.[kind=step-output].stepKey string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u Requis. Référence par clé stable à la déclaration nommée correspondante; le compilateur contrôle son existence et sa compatibilité.
sources[].[kind=flow-reference].source.[kind=step-output].outputKey string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u Requis. Référence par clé stable à la déclaration nommée correspondante; le compilateur contrôle son existence et sa compatibilité.
sources[].[kind=flow-reference].required true | false Requis. Indique si cette déclaration exige une valeur.
sources[].[kind=flow-reference].revision "captured" Requis. Définit « revision » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
sources[].[kind=flow-reference].priority integer; ≥ 0; ≤ 1000 Requis. Définit « priority » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
sources[].[kind=flow-reference].maximumItems integer; ≥ 1; ≤ 100 Requis. Borne de cardinalité ou de budget pour la ressource nommée. Les dépassements sont refusés; null signifie une absence de borne uniquement lorsque le schéma l’admet.
sources[].[kind=flow-reference].maximumCharacters integer; ≥ 1; ≤ 100000 Requis. Borne de cardinalité ou de budget pour la ressource nommée. Les dépassements sont refusés; null signifie une absence de borne uniquement lorsque le schéma l’admet.
maximumCharacters integer; ≥ 1; ≤ 500000 Requis. Borne de cardinalité ou de budget pour la ressource nommée. Les dépassements sont refusés; null signifie une absence de borne uniquement lorsque le schéma l’admet.
contract "SurfaceContextPolicy@4" Requis. Discriminant exact de cette variante du contrat. Respecter la valeur littérale indiquée.
executionBindings Array<closed object>; max length 100 Requis. Définit « execution Bindings » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
executionBindings[].taskActionKey string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u Requis. Référence par clé stable à la déclaration nommée correspondante; le compilateur contrôle son existence et sa compatibilité.
executionBindings[].applicationActionKey string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u Requis. Référence par clé stable à la déclaration nommée correspondante; le compilateur contrôle son existence et sa compatibilité.
executionBindings[].selection "task-parent" Requis. Définit « selection » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
executionBindings[].blueprintKey string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u Requis. Référence par clé stable à la déclaration nommée correspondante; le compilateur contrôle son existence et sa compatibilité.
executionBindings[].taskStepKey string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u Requis. Référence par clé stable à la déclaration nommée correspondante; le compilateur contrôle son existence et sa compatibilité.

Règles de lecture

Les chemins suffixés par [] décrivent chaque élément d’une liste; {key} décrit chaque valeur d’un dictionnaire. Le symbole ↻ renvoie à la même expression récursive. Un objet fermé refuse les propriétés supplémentaires. Les mentions de validation sémantique signalent un contrôle complémentaire : la conformité des types ne suffit pas à rendre une référence, une permission ou une transition valide. Les références doivent être résolues dans le Model et le contexte de l’usager.

La présence d’une ancienne variante ne permet pas d’y ajouter une propriété d’une variante plus récente. Le compilateur contrôle la version et la cohérence du Model complet.

Exemple de structure

Ce fragment respecte le schéma de cette section. Ses références métier doivent être définies dans le Model qui l’utilise.

{
  "key": "verification-context",
  "targetDefinitionPaths": [
    "workspace/workshop/surface/work/surface/step"
  ],
  "sources": [
    {
      "key": "target",
      "kind": "target",
      "definitionPaths": [
        "workspace/workshop/surface/work/surface/step"
      ],
      "linkTypePaths": [],
      "queryKey": null,
      "required": true,
      "revision": "current",
      "priority": 0,
      "maximumItems": 1,
      "maximumCharacters": 20000,
      "parameters": {}
    },
    {
      "key": "work-root",
      "kind": "query",
      "definitionPaths": [
        "workspace/workshop/surface/work"
      ],
      "linkTypePaths": [],
      "queryKey": "context-step-work",
      "required": true,
      "revision": "captured",
      "priority": 1,
      "maximumItems": 1,
      "maximumCharacters": 20000,
      "parameters": {
        "selectedId": {
          "kind": "entity-id",
          "definitionPath": "workspace/workshop/surface/work/surface/step"
        }
      }
    },
    {
      "key": "feature",
      "kind": "flow-reference",
      "source": {
        "kind": "input",
        "key": "feature"
      },
      "required": true,
      "revision": "captured",
      "priority": 2,
      "maximumItems": 1,
      "maximumCharacters": 20000
    },
    {
      "key": "scenarios",
      "kind": "flow-reference",
      "source": {
        "kind": "step-output",
        "stepKey": "select-scenarios",
        "outputKey": "scenarios"
      },
      "required": true,
      "revision": "captured",
      "priority": 3,
      "maximumItems": 100,
      "maximumCharacters": 80000
    }
  ],
  "maximumCharacters": 140000,
  "contract": "SurfaceContextPolicy@4",
  "executionBindings": [
    {
      "taskActionKey": "verify-feature-scenarios",
      "applicationActionKey": "execute-feature-verification",
      "selection": "task-parent",
      "blueprintKey": "prepare-feature-verification",
      "taskStepKey": "verify"
    }
  ]
}

Références associées

Index complet du Model · Construire un Model

Exemples appliqués : Une proposition fondée sur le contexte

L’AI reçoit le client et les sources requises, dans les bornes de la politique du Model.

Configuration

Objet du contrat surfaceContextPolicyV4. Propriétés et valeurs admises.

{
  "key": "verification-context",
  "targetDefinitionPaths": [
    "workspace/workshop/surface/work/surface/step"
  ],
  "sources": [
    {
      "key": "target",
      "kind": "target",
      "definitionPaths": [
        "workspace/workshop/surface/work/surface/step"
      ],
      "linkTypePaths": [],
      "queryKey": null,
      "required": true,
      "revision": "current",
      "priority": 0,
      "maximumItems": 1,
      "maximumCharacters": 20000,
      "parameters": {}
    },
    {
      "key": "work-root",
      "kind": "query",
      "definitionPaths": [
        "workspace/workshop/surface/work"
      ],
      "linkTypePaths": [],
      "queryKey": "context-step-work",
      "required": true,
      "revision": "captured",
      "priority": 1,
      "maximumItems": 1,
      "maximumCharacters": 20000,
      "parameters": {
        "selectedId": {
          "kind": "entity-id",
          "definitionPath": "workspace/workshop/surface/work/surface/step"
        }
      }
    },
    {
      "key": "feature",
      "kind": "flow-reference",
      "source": {
        "kind": "input",
        "key": "feature"
      },
      "required": true,
      "revision": "captured",
      "priority": 2,
      "maximumItems": 1,
      "maximumCharacters": 20000
    },
    {
      "key": "scenarios",
      "kind": "flow-reference",
      "source": {
        "kind": "step-output",
        "stepKey": "select-scenarios",
        "outputKey": "scenarios"
      },
      "required": true,
      "revision": "captured",
      "priority": 3,
      "maximumItems": 100,
      "maximumCharacters": 80000
    }
  ],
  "maximumCharacters": 140000,
  "contract": "SurfaceContextPolicy@4",
  "executionBindings": [
    {
      "taskActionKey": "verify-feature-scenarios",
      "applicationActionKey": "execute-feature-verification",
      "selection": "task-parent",
      "blueprintKey": "prepare-feature-verification",
      "taskStepKey": "verify"
    }
  ]
}

Variante et raccordement

Fragment à placer dans contextPolicies[]. Propriétés et valeurs admises.

{
  "key": "quote-knowledge",
  "targetDefinitionPaths": [
    "workspace/quotes/surface/quote"
  ],
  "sources": [
    {
      "key": "pricing",
      "kind": "knowledge",
      "definitionPaths": [
        "workspace/knowledge/surface/pricing"
      ],
      "linkTypePaths": [],
      "queryKey": null,
      "required": true,
      "revision": "current",
      "priority": 1,
      "maximumItems": 3,
      "maximumCharacters": 12000
    }
  ],
  "maximumCharacters": 16000
}

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
DISPOSITION ILLUSTRATIVEApp Clients / Soumissions
SurfaceClients / Atelier NordExemple
surfaceContextPolicyV4surfaceContextPolicyV4
Clients
CONTEXTE DU MODELAtelier NordConfiguration déclarative
key
verification-context
targetDefinitionPaths
1 élément
sources
4 éléments
maximumCharacters
140000
executionBindings
1 élément

Les valeurs ci-dessus reprennent le fragment de configuration; les références se résolvent dans le Model complet.

Recherchez un concept, un champ ou une action.Esc