ModelApplicationProfiles · types
Interfaces, valeurs et contrats nommés de ModelApplicationProfiles.
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.
ModelPresentationRole
Registered presentation role understood by the shared Surface renderer.
export type ModelPresentationRole = (typeof MODEL_PRESENTATION_ROLES)[number];
type ModelPresentationRole = "workmap.view" | "worknode.card" | "workmap.status" | "knowledge.explorer" | "account.dashboard" | "workspace.model-app" | "workspace.explorer" | "document.studio" | "knowledge.entry" | "surface.document" | "surface.canvas" | "surface.comments" | "workmap.editor" | "execution.status" | "flow.selector" | "action.confirmation";
ModelVisualTokens
Closed visual tokens selected by a Model without supplying CSS.
| Champ | Options / valeurs attendues | Description |
|---|---|---|
accent |
"blue" | "cyan" | "green" | "orange" | "purple" | "rose" |
Requis. Définit « accent » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
density |
"compact" | "comfortable" |
Requis. Définit « density » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
emphasis |
"normal" | "subtle" | "strong" |
Requis. Définit « emphasis » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
export interface ModelVisualTokens {
accent: 'blue' | 'cyan' | 'green' | 'orange' | 'purple' | 'rose';
density: 'compact' | 'comfortable';
emphasis: 'subtle' | 'normal' | 'strong';
}
ModelAppSection
One bounded section in an Account Home or Workspace application composition.
| Champ | Options / valeurs attendues | Description |
|---|---|---|
key |
string |
Requis. Identifiant sémantique stable utilisé par les références; le modifier change l’identité. |
role |
"workmap.view" | "worknode.card" | "workmap.status" | "knowledge.explorer" | "account.dashboard" | "workspace.model-app" | "workspace.explorer" | "document.studio" | "knowledge.entry" | "surface.document" | "surface.canvas" | "surface.comments" | "workmap.editor" | "execution.status" | "flow.selector" | "action.confirmation" |
Requis. Rôle sémantique reconnu dans ce contrat; ce rôle n’est pas un grant d’accès. |
projection |
"summary" | "editor" | "detail" | "list" |
Requis. Définit « projection » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
limit |
number |
Requis. Définit « limit » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
export interface ModelAppSection {
key: string;
role: ModelPresentationRole;
projection: 'summary' | 'list' | 'detail' | 'editor';
limit: number;
}
ModelAppProfile
Declarative composition resolved by the shared Model App renderer.
| Champ | Options / valeurs attendues | Description |
|---|---|---|
contract |
"ModelAppProfile@1" |
Requis. Discriminant exact de cette variante du contrat. Respecter la valeur littérale indiquée. |
key |
string |
Requis. Identifiant sémantique stable utilisé par les références; le modifier change l’identité. |
workspaceRole |
"account-home" | "knowledge-workspace" | "work-workspace" |
Requis. Définit « workspace Role » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
presentationRole |
"knowledge.explorer" | "account.dashboard" | "workspace.model-app" |
Requis. Définit « presentation Role » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
sections |
readonly ModelAppSection[] |
Requis. Sections déclarées dans l’ordre de lecture ou de rendu. |
viewKeys |
readonly string[] |
Requis. Référence par clé stable à la déclaration nommée correspondante; le compilateur contrôle son existence et sa compatibilité. |
flowBlueprintKeys |
readonly string[] |
Requis. Référence par clé stable à la déclaration nommée correspondante; le compilateur contrôle son existence et sa compatibilité. |
taskActionKeys |
readonly string[] |
Requis. Référence par clé stable à la déclaration nommée correspondante; le compilateur contrôle son existence et sa compatibilité. |
searchProjectionKeys |
readonly string[] |
Requis. Référence par clé stable à la déclaration nommée correspondante; le compilateur contrôle son existence et sa compatibilité. |
commentProfileKey |
string | undefined |
Facultatif. Référence par clé stable à la déclaration nommée correspondante; le compilateur contrôle son existence et sa compatibilité. |
documentProfileKey |
string | undefined |
Facultatif. Référence par clé stable à la déclaration nommée correspondante; le compilateur contrôle son existence et sa compatibilité. |
tokens |
ModelVisualTokens |
Requis. Définit « tokens » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
export interface ModelAppProfile {
contract: 'ModelAppProfile@1';
key: string;
workspaceRole: 'account-home' | 'knowledge-workspace' | 'work-workspace';
presentationRole: 'account.dashboard' | 'knowledge.explorer' | 'workspace.model-app';
sections: readonly ModelAppSection[];
viewKeys: readonly string[];
flowBlueprintKeys: readonly string[];
taskActionKeys: readonly string[];
searchProjectionKeys: readonly string[];
commentProfileKey?: string;
documentProfileKey?: string;
tokens: ModelVisualTokens;
}
FlowWorkNodeDefinition
One WorkNode in a declarative, acyclic flow blueprint.
| Champ | Options / valeurs attendues | Description |
|---|---|---|
key |
string |
Requis. Identifiant sémantique stable utilisé par les références; le modifier change l’identité. |
surfaceDefinitionPath |
string |
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é. |
title |
string |
Requis. Titre de l’objet ou de la section dans l’interface. |
dependsOn |
readonly string[] |
Requis. Clés des étapes préalables; les références doivent exister et ne pas créer de cycle. |
requiredInputs |
readonly string[] |
Requis. Exact Field keys read from this WorkNode Surface definition. |
resultSurfaceDefinitionPath |
string |
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é. |
completionCriteria |
readonly string[] |
Requis. Conditions qui permettent de considérer le travail terminé. |
initialFields |
Readonly<Record<string, string | number | boolean | readonly (string | number | boolean)[]>> |
Requis. Définit « initial Fields » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
export interface FlowWorkNodeDefinition {
key: string;
surfaceDefinitionPath: string;
title: string;
dependsOn: readonly string[];
/** Exact Field keys read from this WorkNode Surface definition. */
requiredInputs: readonly string[];
resultSurfaceDefinitionPath: string;
completionCriteria: readonly string[];
initialFields: Readonly<
Record<string, boolean | number | string | readonly (boolean | number | string)[]>
>;
}
FlowHierarchyNode
Explicit hierarchy nodes distinguish structural containers from executable WorkNodes.
export type FlowHierarchyNode =
| (FlowWorkNodeDefinition & { kind: 'worknode'; parentWorkNodeKey: string | null })
| (Omit<FlowWorkNodeDefinition, 'resultSurfaceDefinitionPath'> & {
kind: 'container';
parentWorkNodeKey: string | null;
resultSurfaceDefinitionPath: null;
});
type FlowHierarchyNode = (FlowWorkNodeDefinition & { kind: "worknode"; parentWorkNodeKey: string | null; }) | (Omit<FlowWorkNodeDefinition, "resultSurfaceDefinitionPath"> & { kind: "container"; parentWorkNodeKey: string | null; resultSurfaceDefinitionPath: null; });
FlowBlueprint
One current declaration preserves explicit Work hierarchy and optional composed execution.
| Champ | Options / valeurs attendues | Description |
|---|---|---|
contract |
"FlowBlueprint@1" |
Requis. Discriminant exact de cette variante du contrat. Respecter la valeur littérale indiquée. |
key |
string |
Requis. Identifiant sémantique stable utilisé par les références; le modifier change l’identité. |
workspaceRole |
"work-workspace" |
Requis. Définit « workspace Role » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
title |
string |
Requis. Titre de l’objet ou de la section dans l’interface. |
workNodes |
readonly FlowHierarchyNode[] |
Requis. Unités de travail du blueprint avec leurs entrées, dépendances et résultats. |
composition |
{ contract: "FlowComposition@1"; rootWorkNodeKey: string; stateSurfaceDefinitionPath: string; subflowLinkTypePath: string | null; entryStepKey: string; inputs: { key: string; type: "number" | "boolean" | "text" | "surface-reference" | "result-reference"; provenance: "caller" | "canonical" | "derived"; minimum: number; maximum: number; }[]; contexts: { definitionPath: string; source: { kind: "input"; key: string; } | { kind: "step"; stepKey: string; } | { kind: "collection-item"; stepKey: string; }; }[]; outputs: { key: string; type: "number" | "boolean" | "text" | "surface-reference" | "result-reference"; provenance: "caller" | "canonical" | "derived"; minimum: number; maximum: number; source: { kind: "input"; key: string; } | { kind: "input-node-id"; key: string; } | { kind: "field"; definitionPath: string; fieldKey: string; } | { kind: "literal"; value: string | number | boolean | null; } | { kind: "collection-item"; } | { kind: "collection-node-id"; } | { kind: "iteration-number"; } | { kind: "step-output"; stepKey: string; outputKey: string; }; reduction: "first" | "ordered-list" | "distinct-list"; }[]; steps: ({ key: string; kind: "task"; workNodeKey: string; actionKey: string; inputs: Record<string, { kind: "input"; key: string; } | { kind: "input-node-id"; key: string; } | { kind: "field"; definitionPath: string; fieldKey: string; } | { kind: "literal"; value: string | number | boolean | null; } | { kind: "collection-item"; } | { kind: "collection-node-id"; } | { kind: "iteration-number"; } | { kind: "step-output"; stepKey: string; outputKey: string; }>; outputs: { key: string; type: "number" | "boolean" | "text" | "surface-reference" | "result-reference"; provenance: "caller" | "canonical" | "derived"; minimum: number; maximum: number; result: "outputs" | "reference" | "summary" | "decisions" | "nextSteps" | "blockers"; }[]; reservedCostUnits: number; maximumAttempts: number; } | { key: string; kind: "sequence"; steps: string[]; } | { key: string; kind: "choice"; mode: "exclusive" | "multiple"; branches: { key: string; stepKey: string; ruleKey: string; }[]; minimum: number; maximum: number; selection: "all-eligible" | "explicit"; confirmation: "required" | "not-required"; freshness: "captured" | "require-current"; join: { mode: "all"; remaining: "wait"; } | { mode: "quorum"; successes: number; remaining: "wait" | "request-cancel"; }; } | { key: string; kind: "parallel"; branches: { key: string; stepKey: string; }[]; maximumConcurrency: number; join: { mode: "all"; remaining: "wait"; } | { mode: "quorum"; successes: number; remaining: "wait" | "request-cancel"; }; } | { key: string; kind: "subflow"; blueprintKey: string; inputs: Record<string, { kind: "input"; key: string; } | { kind: "input-node-id"; key: string; } | { kind: "field"; definitionPath: string; fieldKey: string; } | { kind: "literal"; value: string | number | boolean | null; } | { kind: "collection-item"; } | { kind: "collection-node-id"; } | { kind: "iteration-number"; } | { kind: "step-output"; stepKey: string; outputKey: string; }>; } | { key: string; kind: "collection"; queryKey: string; parameters: Record<string, { kind: "input"; key: string; } | { kind: "input-node-id"; key: string; } | { kind: "field"; definitionPath: string; fieldKey: string; } | { kind: "literal"; value: string | number | boolean | null; } | { kind: "collection-item"; } | { kind: "collection-node-id"; } | { kind: "iteration-number"; } | { kind: "step-output"; stepKey: string; outputKey: string; }>; stepKey: string; maximumItems: number; maximumPages: number; maximumOutputBytes: number; maximumConcurrency: number; freshness: "captured" | "require-current"; join: { mode: "all"; remaining: "wait"; } | { mode: "quorum"; successes: number; remaining: "wait" | "request-cancel"; }; } | { key: string; kind: "iterate"; stepKey: string; stopRuleKey: string; maximumIterations: number; inputs: Record<string, { kind: "input"; key: string; } | { kind: "input-node-id"; key: string; } | { kind: "field"; definitionPath: string; fieldKey: string; } | { kind: "literal"; value: string | number | boolean | null; } | { kind: "collection-item"; } | { kind: "collection-node-id"; } | { kind: "iteration-number"; } | { kind: "step-output"; stepKey: string; outputKey: string; }>; } | { key: string; kind: "wait"; inputs: ({ key: string; minimum: number; maximum: number; type: "number" | "boolean" | "text"; provenance: "caller"; } | { key: string; minimum: number; maximum: number; type: "surface-reference" | "result-reference"; provenance: "canonical"; selector: { contract: "SurfaceFlowReferenceSelector@1"; queryKey: string; parameters: Record<string, { kind: "input"; key: string; } | { kind: "input-node-id"; key: string; } | { kind: "field"; definitionPath: string; fieldKey: string; } | { kind: "literal"; value: string | number | boolean | null; } | { kind: "collection-item"; } | { kind: "collection-node-id"; } | { kind: "iteration-number"; } | { kind: "step-output"; stepKey: string; outputKey: string; }>; }; })[]; arrival: "active-only"; ordering: "first-committed"; eventKey: string; recipient: "initiator"; timeoutMilliseconds: number; onExpiration: "fail" | "cancel"; } | { key: string; kind: "delay"; resume: { kind: "duration"; milliseconds: number; } | { kind: "instant"; at: number; }; })[]; budgets: { maximumDepth: number; maximumOccurrences: number; maximumConcurrency: number; maximumIterations: number; maximumDurationMilliseconds: number; maximumCostUnits: number; maximumStateBytes: number; }; } | null |
Requis. Non-composed dependencies are functional declarations, not an older technical format. |
export interface FlowBlueprint {
contract: 'FlowBlueprint@1';
key: string;
workspaceRole: 'work-workspace';
title: string;
workNodes: readonly FlowHierarchyNode[];
/** Non-composed dependencies are functional declarations, not an older technical format. */
composition: FlowComposition | null;
}
TaskActionDefinition
Declarative Task launch contract for one compatible WorkNode definition.
| Champ | Options / valeurs attendues | Description |
|---|---|---|
contract |
"TaskActionDefinition@1" |
Requis. Discriminant exact de cette variante du contrat. Respecter la valeur littérale indiquée. |
key |
string |
Requis. Identifiant sémantique stable utilisé par les références; le modifier change l’identité. |
label |
string |
Requis. Libellé destiné à l’usager dans l’interface. |
parentSurfaceDefinitionPath |
string |
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é. |
taskSurfaceDefinitionPath |
string |
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é. |
instructionSurfaceDefinitionPath |
string |
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é. |
requiredInputs |
readonly string[] |
Requis. Exact Field keys read from the parent Surface definition. |
resultSurfaceDefinitionPath |
string |
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é. |
repeatability |
"once" | "repeatable" |
Requis. Définit « repeatability » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
idempotency |
"per-parent" | "per-input-set" |
Requis. Politique d’identification d’une même intention pour ne pas répéter ses effets. |
containsLinkTypePath |
string | undefined |
Facultatif. Type de relation déclaré, avec sources, cibles et direction compatibles avec ce parcours. |
taskStateFieldKey |
string | undefined |
Facultatif. Clé de Field déclaré sur le type concerné; le type de valeur doit être compatible avec cet usage. |
activeTaskStates |
readonly string[] | undefined |
Facultatif. Définit « active Task States » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
assigneeFieldKey |
string | undefined |
Facultatif. Clé de Field déclaré sur le type concerné; le type de valeur doit être compatible avec cet usage. |
dependencyLinkTypePath |
string | undefined |
Facultatif. Type de relation déclaré, avec sources, cibles et direction compatibles avec ce parcours. |
dependencyDirection |
"incoming" | "outgoing" | undefined |
Facultatif. Définit « dependency Direction » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
dependencyStateFieldKey |
string | undefined |
Facultatif. Clé de Field déclaré sur le type concerné; le type de valeur doit être compatible avec cet usage. |
dependencyCompleteStates |
readonly string[] | undefined |
Facultatif. Définit « dependency Complete States » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
taskInputHashFieldKey |
string | undefined |
Facultatif. Clé de Field déclaré sur le type concerné; le type de valeur doit être compatible avec cet usage. |
export interface TaskActionDefinition {
contract: 'TaskActionDefinition@1';
key: string;
label: string;
parentSurfaceDefinitionPath: string;
taskSurfaceDefinitionPath: string;
instructionSurfaceDefinitionPath: string;
/** Exact Field keys read from the parent Surface definition. */
requiredInputs: readonly string[];
resultSurfaceDefinitionPath: string;
repeatability: 'once' | 'repeatable';
idempotency: 'per-parent' | 'per-input-set';
containsLinkTypePath?: string;
taskStateFieldKey?: string;
activeTaskStates?: readonly string[];
assigneeFieldKey?: string;
dependencyLinkTypePath?: string;
dependencyDirection?: 'incoming' | 'outgoing';
dependencyStateFieldKey?: string;
dependencyCompleteStates?: readonly string[];
taskInputHashFieldKey?: string;
}
ModelViewKind
Registered rich view kinds rendered by the shared Surface UI engine.
export type ModelViewKind =
'cards' | 'kanban' | 'table' | 'gantt' | 'timeline' | 'calendar' | 'graph' | 'portfolio';
type ModelViewKind = "calendar" | "cards" | "gantt" | "graph" | "kanban" | "table" | "timeline" | "portfolio";
ViewFieldMapping
One semantic field mapping consumed by a registered rich view.
| Champ | Options / valeurs attendues | Description |
|---|---|---|
semantic |
string |
Requis. Définit « semantic » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
fieldKey |
string |
Requis. Clé d’un Field déclaré sur la définition de Surface référencée. |
export interface ViewFieldMapping {
semantic: string;
fieldKey: string;
}
ViewDefinition
Declarative registered view over canonical Surfaces and Links.
| Champ | Options / valeurs attendues | Description |
|---|---|---|
contract |
"ViewDefinition@1" |
Requis. Discriminant exact de cette variante du contrat. Respecter la valeur littérale indiquée. |
key |
string |
Requis. Identifiant sémantique stable utilisé par les références; le modifier change l’identité. |
kind |
ModelViewKind |
Requis. Sélectionne la variante et les propriétés admises dans cette branche. |
workspaceRole |
"account-home" | "knowledge-workspace" | "work-workspace" |
Requis. Définit « workspace Role » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
nodeSurfaceDefinitionPaths |
readonly string[] |
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é. |
fieldMappings |
readonly ViewFieldMapping[] |
Requis. Définit « field Mappings » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
linkTypePaths |
readonly string[] |
Requis. Définit « link Type Paths » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
schedule |
{ durationUnit: "millisecond" | "hour" | "day"; progressScale: "ratio" | "percent"; dependencies: { linkTypePath: string; predecessor: "source" | "target"; }[]; } | undefined |
Facultatif. Définit « schedule » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
presentationRole |
"workmap.view" | "worknode.card" | "workmap.status" | "knowledge.explorer" | "account.dashboard" | "workspace.model-app" | "workspace.explorer" | "document.studio" | "knowledge.entry" | "surface.document" | "surface.canvas" | "surface.comments" | "workmap.editor" | "execution.status" | "flow.selector" | "action.confirmation" |
Requis. Définit « presentation Role » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
export interface ViewDefinition {
contract: 'ViewDefinition@1';
key: string;
kind: ModelViewKind;
workspaceRole: 'account-home' | 'knowledge-workspace' | 'work-workspace';
nodeSurfaceDefinitionPaths: readonly string[];
fieldMappings: readonly ViewFieldMapping[];
linkTypePaths: readonly string[];
schedule?: ModelGanttSchedule;
presentationRole: ModelPresentationRole;
}
SearchFieldDefinition
One closed searchable Field declaration and its permitted query operations.
| Champ | Options / valeurs attendues | Description |
|---|---|---|
fieldKey |
string |
Requis. Clé d’un Field déclaré sur la définition de Surface référencée. |
operators |
readonly ("equals" | "contains" | "before" | "after" | "less-than" | "greater-than")[] |
Requis. Définit « operators » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
filterable |
boolean |
Requis. Autorise un filtre sur cette propriété dans le périmètre déclaré. |
sortable |
boolean |
Requis. Autorise le tri de cette colonne lorsque la Query le permet. |
facetable |
boolean |
Requis. Définit « facetable » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
export interface SearchFieldDefinition {
fieldKey: string;
operators: readonly ('equals' | 'contains' | 'before' | 'after' | 'less-than' | 'greater-than')[];
filterable: boolean;
sortable: boolean;
facetable: boolean;
}
SearchProjectionDefinition
Current-state search projection compiled into reconstructible indexes.
| Champ | Options / valeurs attendues | Description |
|---|---|---|
contract |
"SearchProjectionDefinition@1" |
Requis. Discriminant exact de cette variante du contrat. Respecter la valeur littérale indiquée. |
key |
string |
Requis. Identifiant sémantique stable utilisé par les références; le modifier change l’identité. |
workspaceRole |
"account-home" | "knowledge-workspace" | "work-workspace" |
Requis. Définit « workspace Role » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
surfaceDefinitionPaths |
readonly string[] |
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é. |
textTargets |
readonly ("title" | "content" | "description")[] |
Requis. Définit « text Targets » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
fields |
readonly SearchFieldDefinition[] |
Requis. Définitions ou sélections de valeurs typées dans le contexte parent. |
defaultSort |
readonly { target: string; direction: "ascending" | "descending"; }[] |
Requis. Définit « default Sort » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
export interface SearchProjectionDefinition {
contract: 'SearchProjectionDefinition@1';
key: string;
workspaceRole: 'account-home' | 'knowledge-workspace' | 'work-workspace';
surfaceDefinitionPaths: readonly string[];
textTargets: readonly ('title' | 'description' | 'content')[];
fields: readonly SearchFieldDefinition[];
defaultSort: readonly {
target: string;
direction: 'ascending' | 'descending';
}[];
}
CommentProfile
Comment graph declaration referencing Model-owned Surface and Link definitions.
| Champ | Options / valeurs attendues | Description |
|---|---|---|
contract |
"CommentProfile@1" |
Requis. Discriminant exact de cette variante du contrat. Respecter la valeur littérale indiquée. |
key |
string |
Requis. Identifiant sémantique stable utilisé par les références; le modifier change l’identité. |
threadSurfaceDefinitionPath |
string |
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é. |
commentSurfaceDefinitionPath |
string |
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é. |
targetLinkTypePath |
string |
Requis. Type de relation déclaré, avec sources, cibles et direction compatibles avec ce parcours. |
replyLinkTypePath |
string |
Requis. Type de relation déclaré, avec sources, cibles et direction compatibles avec ce parcours. |
mentionLinkTypePath |
string |
Requis. Type de relation déclaré, avec sources, cibles et direction compatibles avec ce parcours. |
containsLinkTypePath |
string | undefined |
Facultatif. Type de relation déclaré, avec sources, cibles et direction compatibles avec ce parcours. |
states |
readonly ("open" | "resolved")[] |
Requis. États reconnus par ce cycle de vie, référencés par leurs clés stables. |
targets |
readonly ("selection" | "anchor" | "surface")[] |
Requis. Définit « targets » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
export interface CommentProfile {
contract: 'CommentProfile@1';
key: string;
threadSurfaceDefinitionPath: string;
commentSurfaceDefinitionPath: string;
targetLinkTypePath: string;
replyLinkTypePath: string;
mentionLinkTypePath: string;
containsLinkTypePath?: string;
states: readonly ('open' | 'resolved')[];
targets: readonly ('surface' | 'anchor' | 'selection')[];
}
WorkspaceProjectionTextSource
One declared text source folded into a reconstructible Workspace Portfolio projection.
export type WorkspaceProjectionTextSource =
| { kind: 'workspace'; target: 'title' | 'description' }
| {
kind: 'surface';
definitionPath: string;
target: 'title' | 'description' | 'content';
};
type WorkspaceProjectionTextSource = { kind: "workspace"; target: "title" | "description"; } | { kind: "surface"; definitionPath: string; target: "title" | "description" | "content"; };
WorkspaceProjectionDimension
One typed dimension materialized from canonical Workspace or Surface state.
| Champ | Options / valeurs attendues | Description |
|---|---|---|
key |
string |
Requis. Identifiant sémantique stable utilisé par les références; le modifier change l’identité. |
type |
"number" | "boolean" | "text" | "date" | "datetime" |
Requis. Définit « type » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
source |
{ kind: "workspace"; field: "createdAt" | "lifecycleState" | "modelId" | "modelRevisionId" | "title" | "updatedAt"; } | { kind: "surface-field"; definitionPath: string; fieldKey: string; aggregate: "count" | "exists" | "first" | "maximum" | "minimum"; } | { kind: "link-exists"; linkTypePath: string; direction: "incoming" | "outgoing"; } |
Requis. Définit « source » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
operators |
readonly ("in" | "eq" | "lt" | "lte" | "gt" | "gte" | "exists" | "between")[] |
Requis. Définit « operators » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
filterable |
boolean |
Requis. Autorise un filtre sur cette propriété dans le périmètre déclaré. |
sortable |
boolean |
Requis. Autorise le tri de cette colonne lorsque la Query le permet. |
facetable |
boolean |
Requis. Définit « facetable » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
groupable |
boolean |
Requis. Définit « groupable » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
maximumFacetValues |
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. |
export interface WorkspaceProjectionDimension {
key: string;
type: 'boolean' | 'date' | 'datetime' | 'number' | 'text';
source:
| {
kind: 'workspace';
field:
'createdAt' | 'lifecycleState' | 'modelId' | 'modelRevisionId' | 'title' | 'updatedAt';
}
| {
kind: 'surface-field';
definitionPath: string;
fieldKey: string;
aggregate: 'count' | 'exists' | 'first' | 'maximum' | 'minimum';
}
| {
kind: 'link-exists';
linkTypePath: string;
direction: 'incoming' | 'outgoing';
};
operators: readonly ('eq' | 'in' | 'exists' | 'lt' | 'lte' | 'gt' | 'gte' | 'between')[];
filterable: boolean;
sortable: boolean;
facetable: boolean;
groupable: boolean;
maximumFacetValues: number;
}
WorkspaceProjectionDefinition
Model-owned Workspace rollup projection used by Account Home Portfolio queries.
| Champ | Options / valeurs attendues | Description |
|---|---|---|
contract |
"WorkspaceProjectionDefinition@1" |
Requis. Discriminant exact de cette variante du contrat. Respecter la valeur littérale indiquée. |
key |
string |
Requis. Identifiant sémantique stable utilisé par les références; le modifier change l’identité. |
workspaceRole |
"knowledge-workspace" | "work-workspace" |
Requis. Définit « workspace Role » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
textSources |
readonly WorkspaceProjectionTextSource[] |
Requis. Définit « text Sources » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
dimensions |
readonly WorkspaceProjectionDimension[] |
Requis. Définit « dimensions » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
defaultSort |
readonly { dimension: string; direction: "ascending" | "descending"; }[] |
Requis. Définit « default Sort » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
export interface WorkspaceProjectionDefinition {
contract: 'WorkspaceProjectionDefinition@1';
key: string;
workspaceRole: 'knowledge-workspace' | 'work-workspace';
textSources: readonly WorkspaceProjectionTextSource[];
dimensions: readonly WorkspaceProjectionDimension[];
defaultSort: readonly { dimension: string; direction: 'ascending' | 'descending' }[];
}
WorkspaceProjectionDimensionV2
Decimal dimensions retain authored format/unit and only source-defined first/minimum/maximum reductions.
export type WorkspaceProjectionDimensionV2 =
| (WorkspaceProjectionDimensionV2Base & Pick<WorkspaceProjectionDimension, 'type' | 'source'>)
| (WorkspaceProjectionDimensionV2Base & {
readonly type: 'decimal';
readonly numeric: {
readonly precision: number;
readonly scale: number;
readonly unit: ManagedExactDataUnit;
};
readonly source: Omit<
Extract<WorkspaceProjectionDimension['source'], { kind: 'surface-field' }>,
'aggregate'
> & {
readonly aggregate: 'first' | 'maximum' | 'minimum';
};
});
type WorkspaceProjectionDimensionV2 = (WorkspaceProjectionDimensionV2Base & Pick<WorkspaceProjectionDimension, "type" | "source">) | (WorkspaceProjectionDimensionV2Base & { readonly type: "decimal"; readonly numeric: { readonly precision: number; readonly scale: number; readonly unit: ManagedExactDataUnit; }; readonly source: Omit<Extract<WorkspaceProjectionDimension["source"], { kind: "surface-field"; }>, "aggregate"> & { readonly aggregate: "first" | "maximum" | "minimum"; }; });
WorkspaceProjectionDefinitionV2
The new projection family keeps its original operators, capabilities and exact source coordinates.
| Champ | Options / valeurs attendues | Description |
|---|---|---|
contract |
"WorkspaceProjectionDefinition@2" |
Requis. Discriminant exact de cette variante du contrat. Respecter la valeur littérale indiquée. |
dimensions |
readonly WorkspaceProjectionDimensionV2[] |
Requis. Définit « dimensions » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
key |
string |
Requis. Identifiant sémantique stable utilisé par les références; le modifier change l’identité. |
defaultSort |
readonly { dimension: string; direction: "ascending" | "descending"; }[] |
Requis. Définit « default Sort » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
workspaceRole |
"knowledge-workspace" | "work-workspace" |
Requis. Définit « workspace Role » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
textSources |
readonly WorkspaceProjectionTextSource[] |
Requis. Définit « text Sources » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
export interface WorkspaceProjectionDefinitionV2 extends Omit<
WorkspaceProjectionDefinition,
'contract' | 'dimensions'
> {
readonly contract: 'WorkspaceProjectionDefinition@2';
readonly dimensions: readonly WorkspaceProjectionDimensionV2[];
}
SemanticCommandOperation
Closed canonical operation selected by one Model semantic command.
export type SemanticCommandOperation =
| { kind: 'surface.create'; surfaceDefinitionPath: string; parent: 'surface' | 'workspace' }
| { kind: 'surface.move'; surfaceDefinitionPath: string }
| { kind: 'link.create'; linkTypePath: string }
| { kind: 'task.start'; taskActionKey: string };
type SemanticCommandOperation = { kind: "surface.create"; surfaceDefinitionPath: string; parent: "surface" | "workspace"; } | { kind: "surface.move"; surfaceDefinitionPath: string; } | { kind: "link.create"; linkTypePath: string; } | { kind: "task.start"; taskActionKey: string; };
SemanticCommandDefinition
Host-neutral command declaration compiled into canonical Change Set primitives.
| Champ | Options / valeurs attendues | Description |
|---|---|---|
contract |
"SemanticCommandDefinition@1" |
Requis. Discriminant exact de cette variante du contrat. Respecter la valeur littérale indiquée. |
key |
string |
Requis. Identifiant sémantique stable utilisé par les références; le modifier change l’identité. |
label |
string |
Requis. Libellé destiné à l’usager dans l’interface. |
entityLabel |
string |
Requis. Définit « entity Label » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
icon |
"record" | "link" | "add" | "move" | "play" |
Requis. Icône du catalogue admis pour cette variante de présentation. |
presentationRole |
"workmap.view" | "worknode.card" | "workmap.status" | "knowledge.explorer" | "account.dashboard" | "workspace.model-app" | "workspace.explorer" | "document.studio" | "knowledge.entry" | "surface.document" | "surface.canvas" | "surface.comments" | "workmap.editor" | "execution.status" | "flow.selector" | "action.confirmation" |
Requis. Définit « presentation Role » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
contexts |
readonly ("account-home" | "worknode" | "surface" | "workspace")[] |
Requis. Définit « contexts » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
requiredCapabilities |
readonly string[] |
Requis. Définit « required Capabilities » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
confirmation |
"never" | "required" |
Requis. Exige ou configure la revue de l’intention avant l’opération; ne remplace pas les droits. |
operation |
SemanticCommandOperation |
Requis. Opération canonique exécutée après validation du contexte, des paramètres et des droits. |
export interface SemanticCommandDefinition {
contract: 'SemanticCommandDefinition@1';
key: string;
label: string;
entityLabel: string;
icon: 'add' | 'link' | 'move' | 'play' | 'record';
presentationRole: ModelPresentationRole;
contexts: readonly ('account-home' | 'surface' | 'worknode' | 'workspace')[];
requiredCapabilities: readonly string[];
confirmation: 'never' | 'required';
operation: SemanticCommandOperation;
}
DocumentProfileV1
Document assembly and export policy consumed by the registered Document Studio.
| Champ | Options / valeurs attendues | Description |
|---|---|---|
contract |
"DocumentProfile@1" |
Requis. Discriminant exact de cette variante du contrat. Respecter la valeur littérale indiquée. |
key |
string |
Requis. Identifiant sémantique stable utilisé par les références; le modifier change l’identité. |
sourceSurfaceDefinitionPaths |
readonly string[] |
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é. |
template |
"article" | "report" | "manuscript" | "project-brief" |
Requis. Définit « template » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
sectionPolicy |
"ordered" | "grouped" |
Requis. Définit « section Policy » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
exportFormats |
readonly ("markdown" | "docx" | "pdf")[] |
Requis. Définit « export Formats » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
export interface DocumentProfileV1 {
contract: 'DocumentProfile@1';
key: string;
sourceSurfaceDefinitionPaths: readonly string[];
template: 'article' | 'report' | 'manuscript' | 'project-brief';
sectionPolicy: 'ordered' | 'grouped';
exportFormats: readonly ('docx' | 'markdown' | 'pdf')[];
}
DocumentCompositionSection
One exact named-Query section with optional native historical proof coordinates.
| Champ | Options / valeurs attendues | Description |
|---|---|---|
key |
string |
Requis. Identifiant sémantique stable utilisé par les références; le modifier change l’identité. |
parentSectionKey |
string | null |
Requis. Référence par clé stable à la déclaration nommée correspondante; le compilateur contrôle son existence et sa compatibilité. |
queryKey |
string |
Requis. Référence à une Query déclarée; le moteur de données applique le périmètre et les droits. |
sourceParameterKey |
string |
Requis. Référence par clé stable à la déclaration nommée correspondante; le compilateur contrôle son existence et sa compatibilité. |
headingLevel |
number |
Requis. Définit « heading Level » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
orderBy |
readonly { fieldKey: string; direction: "ascending" | "descending"; }[] |
Requis. Ordre de tri déclaré; les clés doivent appartenir au périmètre autorisé. |
historicalTraversal |
{ pathIndex: number; stepIndex: number; } | null |
Requis. Définit « historical Traversal » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
export interface DocumentCompositionSection {
key: string;
parentSectionKey: string | null;
queryKey: string;
sourceParameterKey: string;
headingLevel: number;
orderBy: readonly { fieldKey: string; direction: 'ascending' | 'descending' }[];
historicalTraversal: { pathIndex: number; stepIndex: number } | null;
}
DocumentProfileV2
V6-only composition; published mono-Surface profiles remain byte-stable.
| Champ | Options / valeurs attendues | Description |
|---|---|---|
contract |
"DocumentProfile@2" |
Requis. Discriminant exact de cette variante du contrat. Respecter la valeur littérale indiquée. |
composition |
{ contract: "SurfaceDocumentComposition@1"; maximumSources: number; maximumEntries: number; maximumOutputBytes: number; historicalCapturePolicyKey: string | null; sections: readonly DocumentCompositionSection[]; } |
Requis. Organisation déclarative des composants, sources ou Spaces dans la variante indiquée. |
key |
string |
Requis. Identifiant sémantique stable utilisé par les références; le modifier change l’identité. |
sourceSurfaceDefinitionPaths |
readonly string[] |
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é. |
template |
"article" | "report" | "manuscript" | "project-brief" |
Requis. Définit « template » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
sectionPolicy |
"ordered" | "grouped" |
Requis. Définit « section Policy » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
exportFormats |
readonly ("markdown" | "docx" | "pdf")[] |
Requis. Définit « export Formats » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
export interface DocumentProfileV2 extends Omit<DocumentProfileV1, 'contract'> {
contract: 'DocumentProfile@2';
composition: {
contract: 'SurfaceDocumentComposition@1';
maximumSources: number;
maximumEntries: number;
maximumOutputBytes: number;
historicalCapturePolicyKey: string | null;
sections: readonly DocumentCompositionSection[];
};
}
DocumentProfileV3
Collection format policy has its own origin and never invents a Surface subject.
| Champ | Options / valeurs attendues | Description |
|---|---|---|
contract |
"DocumentProfile@3" |
Requis. Discriminant exact de cette variante du contrat. Respecter la valeur littérale indiquée. |
key |
string |
Requis. Identifiant sémantique stable utilisé par les références; le modifier change l’identité. |
source |
{ kind: "collection"; destinationKey: string; queryKey: string; viewKey: string; } | { kind: "home-section"; sectionKey: string; queryKey: string; viewKey: string; } | { kind: "record-query"; recordProfileKey: string; queryBindingKey: string; viewKey: string; } | { kind: "work-query"; experienceKey: string; sectionKey: string; bindingKey: string; viewKey: string; } |
Requis. Définit « source » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
exportFormats |
readonly ("markdown" | "pdf")[] |
Requis. Définit « export Formats » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
budget |
{ maximumRows: number; maximumPages: number; maximumOutputBytes: number; } |
Requis. Définit « budget » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
export interface DocumentProfileV3 {
contract: 'DocumentProfile@3';
key: string;
source:
| { kind: 'collection'; destinationKey: string; queryKey: string; viewKey: string }
| { kind: 'home-section'; sectionKey: string; queryKey: string; viewKey: string }
| { kind: 'record-query'; recordProfileKey: string; queryBindingKey: string; viewKey: string }
| {
kind: 'work-query';
experienceKey: string;
sectionKey: string;
bindingKey: string;
viewKey: string;
};
exportFormats: readonly ('markdown' | 'pdf')[];
budget: { maximumRows: number; maximumPages: number; maximumOutputBytes: number };
}
DocumentProfile
Closed authoring versions of document format and composition policy.
export type DocumentProfile = DocumentProfileV1 | DocumentProfileV2 | DocumentProfileV3;
SurfaceViewKind
Closed Surface-level view kinds rendered only by application-owned renderers.
export type SurfaceViewKind =
| 'cockpit'
| 'editor'
| 'structure'
| 'flow-context'
| 'board'
| 'review'
| 'history-compare'
| 'relations'
| 'evidence'
| 'tasks-runs'
| 'preview-export'
| 'activity'
| 'work-children';
type SurfaceViewKind = "relations" | "editor" | "review" | "activity" | "structure" | "cockpit" | "flow-context" | "board" | "history-compare" | "evidence" | "tasks-runs" | "preview-export" | "work-children";
SurfaceViewSourceDefinition
One bounded source set consumed by a registered Surface view renderer.
| Champ | Options / valeurs attendues | Description |
|---|---|---|
surfaceDefinitionPaths |
readonly string[] |
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é. |
linkTypePaths |
readonly string[] |
Requis. Définit « link Type Paths » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
maximumItems |
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. |
maximumDepth |
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. |
export interface SurfaceViewSourceDefinition {
surfaceDefinitionPaths: readonly string[];
linkTypePaths: readonly string[];
maximumItems: number;
maximumDepth: number;
}
SurfaceViewDefinition
Child collections are named by the Model and resolved by the existing parent-scoped query.
export type SurfaceViewDefinition =
| LegacySurfaceViewDefinition
| (Omit<LegacySurfaceViewDefinition, 'contract' | 'kind'> & {
contract: 'SurfaceViewDefinition@2';
kind: 'work-children';
childViews: readonly { key: string; label: string }[];
defaultChildViewKey: string;
})
| (Omit<LegacySurfaceViewDefinition, 'contract' | 'kind' | 'commandKeys'> & {
contract: 'SurfaceViewDefinition@3';
kind: 'evidence';
commandKeys: readonly [];
evidenceSources: {
contract: 'SurfaceConsolidationSources@1';
profileKeys: readonly string[];
};
});
type SurfaceViewDefinition = LegacySurfaceViewDefinition | (Omit<LegacySurfaceViewDefinition, "contract" | "kind"> & { contract: "SurfaceViewDefinition@2"; kind: "work-children"; childViews: readonly { key: string; label: string; }[]; defaultChildViewKey: string; }) | (Omit<LegacySurfaceViewDefinition, "contract" | "kind" | "commandKeys"> & { contract: "SurfaceViewDefinition@3"; kind: "evidence"; commandKeys: readonly []; evidenceSources: { contract: "SurfaceConsolidationSources@1"; profileKeys: readonly string[]; }; });
SurfaceViewDefinitionV4
Work experience views are admitted only by Source10, never by the historical view union.
export type SurfaceViewDefinitionV4 = Omit<
LegacySurfaceViewDefinition,
'contract' | 'kind' | 'commandKeys'
> & {
contract: 'SurfaceViewDefinition@4';
kind: 'work-experience';
experienceKey: string;
commandKeys: readonly [];
};
type SurfaceViewDefinitionV4 = Omit<LegacySurfaceViewDefinition, "contract" | "kind" | "commandKeys"> & { contract: "SurfaceViewDefinition@4"; kind: "work-experience"; experienceKey: string; commandKeys: readonly []; };
WorkExperienceSurfaceViewDefinition
New source family selects this union explicitly; Source5–9 still use views1–3.
export type WorkExperienceSurfaceViewDefinition = SurfaceViewDefinition | SurfaceViewDefinitionV4;
SurfaceViewProfile
Ordered Surface view composition attached to exact Model Surface definitions.
| Champ | Options / valeurs attendues | Description |
|---|---|---|
contract |
"SurfaceViewProfile@1" |
Requis. Discriminant exact de cette variante du contrat. Respecter la valeur littérale indiquée. |
key |
string |
Requis. Identifiant sémantique stable utilisé par les références; le modifier change l’identité. |
surfaceDefinitionPaths |
readonly string[] |
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é. |
defaultViewKey |
string |
Requis. Référence par clé stable à la déclaration nommée correspondante; le compilateur contrôle son existence et sa compatibilité. |
viewKeys |
readonly string[] |
Requis. Référence par clé stable à la déclaration nommée correspondante; le compilateur contrôle son existence et sa compatibilité. |
export interface SurfaceViewProfile {
contract: 'SurfaceViewProfile@1';
key: string;
surfaceDefinitionPaths: readonly string[];
defaultViewKey: string;
viewKeys: readonly string[];
}
ActionVariantDefinition
One user-facing action variant backed by an existing canonical semantic command.
| Champ | Options / valeurs attendues | Description |
|---|---|---|
key |
string |
Requis. Identifiant sémantique stable utilisé par les références; le modifier change l’identité. |
label |
string |
Requis. Libellé destiné à l’usager dans l’interface. |
commandKey |
string |
Requis. Référence par clé stable à la déclaration nommée correspondante; le compilateur contrôle son existence et sa compatibilité. |
export interface ActionVariantDefinition {
key: string;
label: string;
commandKey: string;
}
ActionGroupDefinition
Ordered business action group rendered consistently by MCP and the Surface UX.
| Champ | Options / valeurs attendues | Description |
|---|---|---|
contract |
"ActionGroupDefinition@1" |
Requis. Discriminant exact de cette variante du contrat. Respecter la valeur littérale indiquée. |
key |
string |
Requis. Identifiant sémantique stable utilisé par les références; le modifier change l’identité. |
label |
string |
Requis. Libellé destiné à l’usager dans l’interface. |
target |
"worknode" | "surface" | "workspace" |
Requis. Définit « target » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
variants |
readonly ActionVariantDefinition[] |
Requis. Définit « variants » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
export interface ActionGroupDefinition {
contract: 'ActionGroupDefinition@1';
key: string;
label: string;
target: 'surface' | 'worknode' | 'workspace';
variants: readonly ActionVariantDefinition[];
}
DataProtectionProfile
Explicit protection and disclosure policy for Model-declared Surface definitions.
| Champ | Options / valeurs attendues | Description |
|---|---|---|
contract |
"DataProtectionProfile@1" |
Requis. Discriminant exact de cette variante du contrat. Respecter la valeur littérale indiquée. |
key |
string |
Requis. Identifiant sémantique stable utilisé par les références; le modifier change l’identité. |
surfaceDefinitionPaths |
readonly string[] |
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é. |
classification |
"confidential" | "internal" | "public" |
Requis. Classe de sensibilité utilisée pour appliquer les politiques de divulgation. |
search |
"allowed" | "denied" |
Requis. Politique ou configuration de recherche selon le contexte parent. |
aiDisclosure |
"allowed" | "denied" |
Requis. Politique d’exposition du contenu au contexte AI. |
export |
"allowed" | "denied" |
Requis. Politique d’export des contenus concernés. |
export interface DataProtectionProfile {
contract: 'DataProtectionProfile@1';
key: string;
surfaceDefinitionPaths: readonly string[];
classification: 'confidential' | 'internal' | 'public';
search: 'allowed' | 'denied';
aiDisclosure: 'allowed' | 'denied';
export: 'allowed' | 'denied';
}
ProductVocabulary
Product terms shared verbatim by the UX, MCP tools, and System Knowledge.
| Champ | Options / valeurs attendues | Description |
|---|---|---|
contract |
"ProductVocabulary@1" |
Requis. Discriminant exact de cette variante du contrat. Respecter la valeur littérale indiquée. |
controlCenter |
string |
Requis. Définit « control Center » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
overview |
string |
Requis. Définit « overview » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
actionRequired |
string |
Requis. Définit « action Required » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
portfolio |
string |
Requis. Définit « portfolio » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
inbox |
string |
Requis. Définit « inbox » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
activity |
string |
Requis. Définit « activity » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
settings |
string |
Requis. Fields présentés dans le formulaire de paramètres de la fiche. |
marketplace |
string |
Requis. Informations publiques utilisées pour présenter l’app dans le catalogue. |
workspace |
string |
Requis. Définit « workspace » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
surface |
string |
Requis. Définit « surface » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
export interface ProductVocabulary {
contract: 'ProductVocabulary@1';
controlCenter: string;
overview: string;
actionRequired: string;
portfolio: string;
inbox: string;
activity: string;
settings: string;
marketplace: string;
workspace: string;
surface: string;
}
MarketplaceListingDefinition
Public catalogue metadata published with an immutable Model Revision.
| Champ | Options / valeurs attendues | Description |
|---|---|---|
contract |
"MarketplaceListingDefinition@1" |
Requis. Discriminant exact de cette variante du contrat. Respecter la valeur littérale indiquée. |
slug |
string |
Requis. Définit « slug » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
title |
string |
Requis. Titre de l’objet ou de la section dans l’interface. |
summary |
string |
Requis. Définit « summary » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
publisher |
string |
Requis. Définit « publisher » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
category |
"knowledge" | "project" | "writing" | "universal" |
Requis. Définit « category » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
tags |
readonly string[] |
Requis. Classification ou configuration de présentation des tags autorisés. |
visibility |
"public" | "included" |
Requis. Détermine la catégorie ou visibilité de présentation selon les valeurs de cette variante. |
export interface MarketplaceListingDefinition {
contract: 'MarketplaceListingDefinition@1';
slug: string;
title: string;
summary: string;
publisher: string;
category: 'knowledge' | 'project' | 'writing' | 'universal';
tags: readonly string[];
visibility: 'included' | 'public';
}
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