ManagedModelSource · types
Interfaces, valeurs et contrats nommés de ManagedModelSource.
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.
ManagedSurfaceVisibility
Closed visibility values authored by managed Surface Models.
export type ManagedSurfaceVisibility = 'normal' | 'knowledge' | 'operational' | 'system';
type ManagedSurfaceVisibility = "knowledge" | "normal" | "operational" | "system";
ManagedAnchorPolicy
Closed Anchor protection values compiled into every Surface definition.
export type ManagedAnchorPolicy = 'none' | 'structure' | 'section';
type ManagedAnchorPolicy = "none" | "section" | "structure";
ManagedSurfaceFieldType
Scalar storage types supported by Model-declared Surface Fields.
export type ManagedSurfaceFieldType = 'boolean' | 'date' | 'datetime' | 'number' | 'text';
type ManagedSurfaceFieldType = "number" | "boolean" | "text" | "date" | "datetime";
ManagedScalarFieldDefinition
One closed Field definition owned by a Surface definition in a Model Revision.
| Champ | Options / valeurs attendues | Description |
|---|---|---|
key |
string |
Requis. Identifiant sémantique stable utilisé par les références; le modifier change l’identité. |
type |
ManagedSurfaceFieldType |
Requis. Définit « type » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
required |
boolean |
Requis. Indique si cette déclaration exige une valeur. |
repeatable |
boolean |
Requis. Indique si plusieurs valeurs ou instances sont admises. |
default |
string | number | boolean | readonly (string | number | boolean)[] | undefined |
Facultatif. Valeur initiale conforme au type déclaré; ne remplace pas une valeur déjà enregistrée. |
options |
readonly string[] | undefined |
Facultatif. Valeurs proposées et admises pour un choix déclaré. |
export interface ManagedScalarFieldDefinition {
key: string;
type: ManagedSurfaceFieldType;
required: boolean;
repeatable: boolean;
default?: boolean | number | string | readonly (boolean | number | string)[];
options?: readonly string[];
}
ManagedAnchorPrototype
One stable Anchor prototype and its exact structural/cardinality policy.
| Champ | Options / valeurs attendues | Description |
|---|---|---|
prototypeId |
string |
Requis. Identité stable du prototype d’Anchor, utilisée pour ses instances. |
parentPrototypeId |
string | null |
Requis. Prototype parent ou null pour une racine admise. |
level |
1 | 3 | 4 | 2 |
Requis. Profondeur structurelle de l’Anchor dans la hiérarchie admise. |
title |
string |
Requis. Titre de l’objet ou de la section dans l’interface. |
protection |
ManagedAnchorPolicy |
Requis. Protection du contenu ou de la structure; elle est contrôlée lors des opérations. |
repeatable |
boolean |
Requis. Indique si plusieurs valeurs ou instances sont admises. |
minimumInstances |
number |
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. |
maximumInstances |
number | null |
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. |
tagPaths |
readonly string[] |
Requis. Définit « tag Paths » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
export interface ManagedAnchorPrototype {
prototypeId: string;
parentPrototypeId: string | null;
level: 1 | 2 | 3 | 4;
title: string;
protection: ManagedAnchorPolicy;
repeatable: boolean;
minimumInstances: number;
maximumInstances: number | null;
tagPaths: readonly string[];
}
ManagedSurfaceFieldDefinition
Current Fields preserve scalar, exact-decimal and typed-value storage semantics.
export type ManagedSurfaceFieldDefinition =
ManagedScalarFieldDefinition | ManagedNumericFieldV2 | ManagedTypedFieldV2;
type ManagedSurfaceFieldDefinition = ManagedScalarFieldDefinition | { contract: "ManagedNumericField@2"; key: string; type: "decimal"; required: boolean; repeatable: boolean; precision: number; scale: number; unit: { kind: "dimensionless"; } | { kind: "unit"; key: string; } | { kind: "currency"; key: string; }; default?: string | string[] | undefined; minimum?: string | undefined; maximum?: string | undefined; } | ManagedTypedFieldV2;
ManagedSurfaceSource
Complete Surface declaration; Canvas content and policy use their sole current native owner.
| Champ | Options / valeurs attendues | Description |
|---|---|---|
key |
string |
Requis. Identifiant sémantique stable utilisé par les références; le modifier change l’identité. |
tagPath |
string |
Requis. Chemin du tag structurel qui identifie un type; distinct des tags libres d’une fiche. |
title |
string |
Requis. Titre de l’objet ou de la section dans l’interface. |
description |
string |
Requis. Explication du rôle, du contenu ou de l’effet de cet élément. |
seed |
boolean |
Requis. Provisionne un contenu initial plutôt que déclarer uniquement un type d’instance. |
role |
string | undefined |
Facultatif. Rôle sémantique reconnu dans ce contrat; ce rôle n’est pas un grant d’accès. |
visibility |
ManagedSurfaceVisibility |
Requis. Détermine la catégorie ou visibilité de présentation selon les valeurs de cette variante. |
contentKind |
"document" | "canvas" | "asset" | "markdown" |
Requis. Sélectionne le moteur de contenu natif et le format associé. |
content |
unknown |
Requis. Contenu natif conforme au type et au profil sélectionnés; ce n’est pas une composition UI. |
canvasPolicy |
CanvasPolicy | undefined |
Facultatif. Politique des opérations et capacités admises pour un contenu Canvas. |
assetPolicy |
SurfaceAssetPolicy | undefined |
Facultatif. Politique des formats, sources, dimensions et budgets des Assets. |
anchorPolicy |
ManagedAnchorPolicy |
Requis. Protection structurelle appliquée à l’Anchor racine de la Surface. |
fields |
readonly ManagedSurfaceFieldDefinition[] |
Requis. Définitions ou sélections de valeurs typées dans le contexte parent. |
anchors |
readonly ManagedAnchorPrototype[] |
Requis. Prototypes de sections documentaires avec identité, protection et cardinalité. |
children |
readonly ManagedSurfaceSource[] |
Requis. Éléments enfants dans l’ordre; respecter le type et les références admis. |
export interface ManagedSurfaceSource {
key: string;
tagPath: string;
title: string;
description: string;
seed: boolean;
role?: string;
visibility: ManagedSurfaceVisibility;
contentKind: 'document' | 'markdown' | 'canvas' | 'asset';
content: unknown;
canvasPolicy?: CanvasPolicy;
assetPolicy?: SurfaceAssetPolicy;
anchorPolicy: ManagedAnchorPolicy;
fields: readonly ManagedSurfaceFieldDefinition[];
anchors: readonly ManagedAnchorPrototype[];
children: readonly ManagedSurfaceSource[];
}
ManagedWorkspaceSource
One Workspace definition whose Surface hierarchy uses the v3 structural contract.
| Champ | Options / valeurs attendues | Description |
|---|---|---|
key |
string |
Requis. Identifiant sémantique stable utilisé par les références; le modifier change l’identité. |
tagPath |
string |
Requis. Chemin du tag structurel qui identifie un type; distinct des tags libres d’une fiche. |
title |
string |
Requis. Titre de l’objet ou de la section dans l’interface. |
description |
string |
Requis. Explication du rôle, du contenu ou de l’effet de cet élément. |
provision |
"per-principal" | "per-tenant" | "on-demand" |
Requis. Détermine si le conteneur est créé par principal, par tenant ou à la demande. |
role |
"account-home" | "system-knowledge" | "knowledge-workspace" | "work-workspace" | undefined |
Facultatif. Rôle sémantique reconnu dans ce contrat; ce rôle n’est pas un grant d’accès. |
visibility |
ManagedSurfaceVisibility |
Requis. Détermine la catégorie ou visibilité de présentation selon les valeurs de cette variante. |
surfaces |
readonly ManagedSurfaceSource[] |
Requis. Définitions des types de Surfaces racines du conteneur. |
export interface ManagedWorkspaceSource {
key: string;
tagPath: string;
title: string;
description: string;
provision: 'per-principal' | 'per-tenant' | 'on-demand';
role?: 'account-home' | 'system-knowledge' | 'knowledge-workspace' | 'work-workspace';
visibility: ManagedSurfaceVisibility;
surfaces: readonly ManagedSurfaceSource[];
}
ManagedModelSource
The only source grammar; an admitted Foundation supplies the application capability.
| Champ | Options / valeurs attendues | Description |
|---|---|---|
contract |
"ManagedModelSource@1" |
Requis. Discriminant exact de cette variante du contrat. Respecter la valeur littérale indiquée. |
id |
string |
Requis. Identité stable de l’objet; ne pas utiliser son titre comme identifiant. |
version |
string |
Requis. Version déclarée du contenu ou de la publication; elle identifie l’interprétation applicable. |
name |
string |
Requis. Nom lisible de l’élément dans le contexte qui le présente. |
description |
string |
Requis. Explication du rôle, du contenu ou de l’effet de cet élément. |
managed |
true |
Requis. Indique une source gérée par le lifecycle de Model; ne confère aucun droit à l’usager. |
capabilities |
readonly string[] |
Requis. Capacités déclarées nécessaires aux usages du Model; leur disponibilité effective est contrôlée séparément. |
presentationRoles |
Readonly<Record<string, string>> |
Requis. Associe les clés de présentation aux rôles de rendu reconnus. |
linkTypes |
readonly { path: string; label: string; }[] |
Requis. Catalogue des relations que les déclarations peuvent référencer. |
workspaces |
readonly ManagedWorkspaceSource[] |
Requis. Définitions des conteneurs applicatifs et de leurs types de Surfaces. |
appProfiles |
readonly ModelAppProfile[] |
Requis. Profils qui assemblent les sections et destinations de l’expérience applicative. |
flowBlueprints |
readonly FlowBlueprint[] |
Requis. Définitions réutilisables des parcours de travail et de leurs dépendances. |
taskActions |
readonly TaskActionDefinition[] |
Requis. Définitions des instructions, entrées et résultats des Tasks. |
views |
readonly ViewDefinition[] |
Requis. Vues déclarées pour présenter les contenus du périmètre concerné. |
searchProjections |
readonly SearchProjectionDefinition[] |
Requis. Projections de recherche qui déterminent les objets et valeurs recherchables. |
commentProfiles |
readonly (CommentProfile & { containsLinkTypePath: string; })[] |
Requis. Profils des commentaires, fils et relations de réponse. |
documentProfiles |
readonly DocumentProfile[] |
Requis. Profils de composition, de collection et d’export documentaire. |
workspaceProjections |
readonly WorkspaceProjectionDefinitionV2[] |
Requis. Projections des Workspaces utilisées pour organiser le Portfolio. |
semanticCommands |
readonly SemanticCommandDefinition[] |
Requis. Opérations canoniques nommées; leurs paramètres et permissions restent contrôlés par leur propriétaire. |
surfaceViews |
readonly WorkExperienceSurfaceViewDefinition[] |
Requis. Déclarations des vues utilisables pour une Surface et son contenu. |
surfaceViewProfiles |
readonly SurfaceViewProfile[] |
Requis. Associe un type de Surface à ses vues et à sa vue par défaut. |
actionGroups |
readonly ActionGroupDefinition[] |
Requis. Regroupe des variantes d’Actions présentées ensemble dans l’interface. |
dataProtectionProfiles |
readonly DataProtectionProfile[] |
Requis. Classifications et politiques de recherche, divulgation AI et export des contenus. |
vocabulary |
ProductVocabulary |
Requis. Libellés métier partagés par les vues et opérations de l’app. |
marketplace |
MarketplaceListingDefinition |
Requis. Informations publiques utilisées pour présenter l’app dans le catalogue. |
foundation |
Géré par Surface; fourni par les outils du Model. |
Facultatif. Fondation applicative reliant composition, Forms, Queries, Actions et politiques. |
export interface ManagedModelSource {
contract: 'ManagedModelSource@1';
id: string;
version: string;
name: string;
description: string;
managed: true;
capabilities: readonly string[];
presentationRoles: Readonly<Record<string, string>>;
linkTypes: readonly { path: string; label: string }[];
workspaces: readonly ManagedWorkspaceSource[];
appProfiles: readonly ModelAppProfile[];
flowBlueprints: readonly FlowBlueprint[];
taskActions: readonly TaskActionDefinition[];
views: readonly ViewDefinition[];
searchProjections: readonly SearchProjectionDefinition[];
commentProfiles: readonly (CommentProfile & { containsLinkTypePath: string })[];
documentProfiles: readonly DocumentProfile[];
workspaceProjections: readonly WorkspaceProjectionDefinitionV2[];
semanticCommands: readonly SemanticCommandDefinition[];
surfaceViews: readonly WorkExperienceSurfaceViewDefinition[];
surfaceViewProfiles: readonly SurfaceViewProfile[];
actionGroups: readonly ActionGroupDefinition[];
dataProtectionProfiles: readonly DataProtectionProfile[];
vocabulary: ProductVocabulary;
marketplace: MarketplaceListingDefinition;
foundation?: WorkspaceModelFoundation;
}
ManagedApplicationModel
Application capability is present only after the full Foundation was admitted.
export type ManagedApplicationModel = ManagedModelSource & {
readonly foundation: WorkspaceModelFoundation;
};
type ManagedApplicationModel = ManagedModelSource & { readonly foundation: WorkspaceModelFoundation; };
Exemples appliqués : Assembler une définition cohérente
La Form et le profil de fiche référencent les mêmes Fields company, status et notes.
Configuration
Fragment à placer dans forms[]. Propriétés et valeurs admises.
{
"contract": "WorkspaceForm@2",
"key": "new-client",
"label": "Nouveau client",
"actionKey": "create-client",
"targetDefinitionPath": "workspace/clients/surface/client",
"mode": "create",
"fields": [
{
"contract": "WorkspaceFormControl@2",
"repeatable": false,
"key": "company",
"label": "Entreprise",
"input": "text",
"binding": {
"kind": "field",
"fieldKey": "company"
},
"required": true,
"ruleKeys": [],
"options": []
},
{
"contract": "WorkspaceFormControl@2",
"repeatable": false,
"key": "status",
"label": "État",
"input": "choice",
"binding": {
"kind": "field",
"fieldKey": "status"
},
"required": true,
"ruleKeys": [],
"options": [
"prospect",
"active"
]
}
],
"ruleKeys": []
}
Variante et raccordement
Fragment à placer dans presentation.recordProfiles[]. Propriétés et valeurs admises.
{
"key": "client",
"definitionPaths": [
"workspace/clients/surface/client"
],
"editActionKey": "edit-client",
"identity": {
"title": {
"kind": "field",
"fieldPath": "fields/company"
},
"avatar": {
"kind": "initials",
"maximumLetters": 2
},
"subtitle": {
"kind": "field",
"fieldPath": "fields/status"
}
},
"valueLabels": [
{
"fieldPath": "fields/status",
"values": [
{
"value": "prospect",
"label": "Prospect"
},
{
"value": "active",
"label": "Actif"
}
]
}
],
"card": {
"summary": {
"kind": "field",
"fieldPath": "fields/notes"
},
"tags": {
"namespace": "user",
"maximumVisible": 3
},
"metricKeys": [],
"openLabel": "Ouvrir le client"
},
"queryBindings": [],
"metrics": [],
"detail": {
"primaryActionKey": null,
"creationActionKeys": [],
"actionKeys": [],
"sections": [
{
"kind": "fields",
"key": "follow-up",
"label": "Suivi du client",
"fieldPaths": [
"fields/notes",
"fields/status"
]
}
],
"settings": {
"fieldPaths": [
"fields/email"
]
},
"tags": {
"namespace": "user",
"maximumVisible": 3
},
"relatedGroups": [],
"primaryActionLabel": null
}
}
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.
- Clients · Data
- Références · Knowledge
- Préparation · Work
- Soumissions · Product
Fiches et informations de référence
Tarifs, procédure et sources
Étapes, décisions et résultats
Livrable durable et ses révisions