@ximatai/muyun-web-app 0.26.13 → 0.26.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (186) hide show
  1. package/dist/{BusinessActivityLogView-UC4rH4Fn.js → BusinessActivityLogView-DVzrZW1X.js} +1 -1
  2. package/dist/BusinessLogListDrawer-D-R3wnWr.js +825 -0
  3. package/dist/{LoginAuditLogView-Cjrp8MKX.js → LoginAuditLogView-BP1eaEPw.js} +1 -1
  4. package/dist/{ModuleActionManagementView-Dkb35QXc.js → ModuleActionManagementView-D17iKVQv.js} +214 -196
  5. package/dist/{ModuleGovernanceView-Dx43QvGf.js → ModuleGovernanceView-LkWCtops.js} +13509 -8472
  6. package/dist/{RequestErrorLogView-WnGvMWiF.js → RequestErrorLogView-LzN94-Tk.js} +1 -1
  7. package/dist/{RoleDetailWorkspaceView-DPDb_QOn.js → RoleDetailWorkspaceView-BXA-bzFu.js} +173 -164
  8. package/dist/{RuntimeLogView-BRl4ZDkU.js → RuntimeLogView-DUpu2q2w.js} +48 -81
  9. package/dist/index.css +1 -1
  10. package/dist/index.js +562 -497
  11. package/dist/moduleGovernanceWorkspaceView-COjWtJMr.js +639 -0
  12. package/dist/{platform-components-1cvOeHmo.js → platform-components-Hs3DrTqE.js} +5260 -3344
  13. package/dist/platform-workbench-C-kE-Yqq.js +19755 -0
  14. package/dist/{http-B0TC0pJB.js → sse-Q1wa3p_k.js} +34 -4
  15. package/dist/types/app/CurrentUserProfileDialog.vue.d.ts +1 -1
  16. package/dist/types/app/useWorkbenchMenuRefresh.d.ts +4 -0
  17. package/dist/types/app/workbenchMenuRefresh.d.ts +14 -0
  18. package/dist/types/consumer/AppWorkbenchShell.vue.d.ts +4 -2
  19. package/dist/types/dynamic-page-runtime/ManagedDetailRelationInlineSurface.vue.d.ts +3 -3
  20. package/dist/types/dynamic-page-runtime/ModuleDataExchangeSurface.vue.d.ts +17 -0
  21. package/dist/types/dynamic-page-runtime/ModulePageBusinessSession.d.ts +712 -22
  22. package/dist/types/dynamic-page-runtime/ModulePageDetailRelations.vue.d.ts +3 -2
  23. package/dist/types/dynamic-page-runtime/ModulePageHostRuntime.vue.d.ts +782 -60
  24. package/dist/types/dynamic-page-runtime/ModulePageListExpansionSurface.vue.d.ts +1 -0
  25. package/dist/types/dynamic-page-runtime/ModulePageListRelationExpansion.vue.d.ts +1 -0
  26. package/dist/types/dynamic-page-runtime/ModulePageListRelationExpansions.vue.d.ts +1 -0
  27. package/dist/types/dynamic-page-runtime/ModulePageRecordContent.vue.d.ts +5 -2
  28. package/dist/types/dynamic-page-runtime/ModuleRecordDetailActions.vue.d.ts +6 -0
  29. package/dist/types/dynamic-page-runtime/PageNavigatorExplorer.vue.d.ts +9 -7
  30. package/dist/types/dynamic-page-runtime/RecordFormSurface.vue.d.ts +2 -0
  31. package/dist/types/dynamic-page-runtime/assistantBusinessScope.d.ts +3 -0
  32. package/dist/types/dynamic-page-runtime/assistantQueryCapabilities.d.ts +34 -0
  33. package/dist/types/dynamic-page-runtime/assistantRecordEditorPolicy.d.ts +6 -0
  34. package/dist/types/dynamic-page-runtime/composables/useModulePageFormContributionRuntime.d.ts +2 -0
  35. package/dist/types/dynamic-page-runtime/composables/useModulePageListSession.d.ts +1 -0
  36. package/dist/types/dynamic-page-runtime/composables/useNavigatorRuntime.d.ts +94 -4
  37. package/dist/types/dynamic-page-runtime/composables/useRecordEditingSession.d.ts +2 -0
  38. package/dist/types/dynamic-page-runtime/formComputeCoordinator.d.ts +2 -0
  39. package/dist/types/dynamic-page-runtime/index.d.ts +1 -0
  40. package/dist/types/dynamic-page-runtime/modulePageAssistantScope.d.ts +20 -0
  41. package/dist/types/dynamic-page-runtime/modulePageAssistantSurface.d.ts +6 -0
  42. package/dist/types/dynamic-page-runtime/recordCreationReadiness.d.ts +17 -0
  43. package/dist/types/dynamic-page-runtime/recordDisplayProjection.d.ts +59 -0
  44. package/dist/types/dynamic-page-runtime/recordFormAssistantCapabilities.d.ts +59 -0
  45. package/dist/types/dynamic-page-runtime/recordFormDraftAccess.d.ts +33 -0
  46. package/dist/types/dynamic-page-runtime/recordMutationPayload.d.ts +2 -2
  47. package/dist/types/dynamic-page-runtime/recordReferenceDisplay.d.ts +8 -0
  48. package/dist/types/dynamic-page-runtime/recordSaveRecovery.d.ts +12 -0
  49. package/dist/types/dynamic-page-runtime/relationDraftAssistantCapabilities.d.ts +9 -0
  50. package/dist/types/dynamic-page-runtime/relationDraftController.d.ts +23 -0
  51. package/dist/types/dynamic-page-runtime/relationFormComputeCoordinator.d.ts +1 -0
  52. package/dist/types/dynamic-page-runtime/useModulePageSession.d.ts +404 -12
  53. package/dist/types/dynamic-page-runtime/useTenantScopeController.d.ts +1 -0
  54. package/dist/types/formula/FormulaRuntime.d.ts +3 -1
  55. package/dist/types/platform-admin-runtime/backendHttp.d.ts +5 -1
  56. package/dist/types/platform-admin-runtime/module-menu/ModuleMenuEditor.vue.d.ts +17 -0
  57. package/dist/types/platform-admin-runtime/module-menu/ModuleMenuGovernanceSurface.vue.d.ts +6 -0
  58. package/dist/types/platform-admin-runtime/module-menu/moduleMenuClient.d.ts +6 -2
  59. package/dist/types/platform-admin-runtime/module-menu/moduleMenuReceiptStore.d.ts +5 -0
  60. package/dist/types/platform-admin-runtime/module-menu/moduleMenuSession.d.ts +61 -0
  61. package/dist/types/platform-admin-runtime/module-menu/moduleMenuWorkspace.d.ts +180 -0
  62. package/dist/types/platform-admin-runtime/workspaceViewSessions.d.ts +1 -1
  63. package/dist/types/platform-components/CrudRecordListExplorer.vue.d.ts +11 -7
  64. package/dist/types/platform-components/DictionaryPicker.vue.d.ts +2 -0
  65. package/dist/types/platform-components/FileTransferUploader.vue.d.ts +1 -1
  66. package/dist/types/platform-components/ManagementPanelHeader.vue.d.ts +6 -4
  67. package/dist/types/platform-components/ManagementTabs.vue.d.ts +20 -0
  68. package/dist/types/platform-components/ObjectPickerInput.vue.d.ts +2 -0
  69. package/dist/types/platform-components/QueryValueEditor.vue.d.ts +1 -1
  70. package/dist/types/platform-components/RecordDetailFields.vue.d.ts +1 -1
  71. package/dist/types/platform-components/RecordExplorerPanel.vue.d.ts +15 -9
  72. package/dist/types/platform-components/RecordExplorerTools.vue.d.ts +27 -0
  73. package/dist/types/platform-components/RecordFormFields.vue.d.ts +5 -1
  74. package/dist/types/platform-components/RecordModeDrawer.vue.d.ts +2 -2
  75. package/dist/types/platform-components/RecordMultiPicker.vue.d.ts +2 -0
  76. package/dist/types/platform-components/RecordPicker.vue.d.ts +2 -0
  77. package/dist/types/platform-components/RecordQueryListCell.vue.d.ts +1 -1
  78. package/dist/types/platform-components/RecordQueryListPanel.vue.d.ts +9 -1
  79. package/dist/types/platform-components/RecordQueryListSurface.vue.d.ts +1 -1
  80. package/dist/types/platform-components/RecordRelationTabs.vue.d.ts +1 -0
  81. package/dist/types/platform-components/ReferencePicker.vue.d.ts +2 -0
  82. package/dist/types/platform-components/StaticManagementLayout.vue.d.ts +2 -0
  83. package/dist/types/platform-components/TreeRecordExplorer.vue.d.ts +5 -2
  84. package/dist/types/platform-components/index.d.ts +9 -1
  85. package/dist/types/platform-components/optionFieldOptionCache.d.ts +1 -1
  86. package/dist/types/platform-components/queryNumericValue.d.ts +3 -0
  87. package/dist/types/platform-components/querySettlementController.d.ts +5 -0
  88. package/dist/types/platform-components/recordDetailFieldModel.d.ts +2 -0
  89. package/dist/types/platform-components/recordFormFieldModel.d.ts +22 -0
  90. package/dist/types/platform-components/recordQueryListColumnModel.d.ts +8 -0
  91. package/dist/types/platform-components/recordQueryListQueryController.d.ts +53 -0
  92. package/dist/types/platform-components/recordQueryListStandardQuery.d.ts +3 -0
  93. package/dist/types/platform-components/recordTreeQueryController.d.ts +18 -0
  94. package/dist/types/platform-components/recycleBinState.d.ts +17 -0
  95. package/dist/types/platform-components/referencePickerModel.d.ts +3 -0
  96. package/dist/types/platform-workbench/AssistantMarkdownContent.vue.d.ts +6 -0
  97. package/dist/types/platform-workbench/AssistantSelectionCard.vue.d.ts +15 -0
  98. package/dist/types/platform-workbench/ConstructionPlanCard.vue.d.ts +8 -0
  99. package/dist/types/platform-workbench/Workbench.vue.d.ts +12 -2
  100. package/dist/types/platform-workbench/WorkbenchAssistantPanel.vue.d.ts +18 -0
  101. package/dist/types/platform-workbench/assistantMarkdown.d.ts +1 -0
  102. package/dist/types/platform-workbench/configurationCollaboration.d.ts +23 -0
  103. package/dist/types/platform-workbench/constructionDelivery.d.ts +3 -0
  104. package/dist/types/platform-workbench/constructionFields.d.ts +5 -0
  105. package/dist/types/platform-workbench/constructionInitialization.d.ts +4 -0
  106. package/dist/types/platform-workbench/constructionPlanGuard.d.ts +21 -0
  107. package/dist/types/platform-workbench/constructionPlanSession.d.ts +95 -0
  108. package/dist/types/platform-workbench/constructionReferenceDiscovery.d.ts +3 -0
  109. package/dist/types/platform-workbench/index.d.ts +1 -0
  110. package/dist/types/platform-workbench/useAssistantConversation.d.ts +360 -0
  111. package/dist/types/platform-workbench/useAssistantConversationArchive.d.ts +47 -0
  112. package/dist/types/platform-workbench/workbenchAssistantCapabilities.d.ts +22 -0
  113. package/dist/types/views/BusinessLogRetentionControl.vue.d.ts +7 -0
  114. package/dist/types/views/MetadataSourceTree.vue.d.ts +7 -3
  115. package/dist/types/views/ModuleRuntimeActivationStatus.vue.d.ts +11 -0
  116. package/dist/types/views/PageCompositionDescriptorPreview.vue.d.ts +8 -8
  117. package/dist/types/views/PageCompositionEditor.vue.d.ts +10 -0
  118. package/dist/types/views/PageCompositionTree.vue.d.ts +19 -13
  119. package/dist/types/views/businessLogClient.d.ts +3 -0
  120. package/dist/types/views/businessLogRetentionClient.d.ts +25 -0
  121. package/dist/types/views/businessRuleAssistantSurface.d.ts +7 -0
  122. package/dist/types/views/businessRuleEditor.d.ts +22 -0
  123. package/dist/types/views/businessRuleGovernance.d.ts +7 -1
  124. package/dist/types/views/businessRuleSession.d.ts +63 -0
  125. package/dist/types/views/businessRuleWorkspace.d.ts +144 -0
  126. package/dist/types/views/configurationEditorNavigation.d.ts +2 -0
  127. package/dist/types/views/metadataChangeSetSubmission.d.ts +10 -0
  128. package/dist/types/views/metadataEditorSession.d.ts +652 -0
  129. package/dist/types/views/metadataGovernanceAssistantSurface.d.ts +4 -0
  130. package/dist/types/views/metadataGovernanceEditor.d.ts +220 -0
  131. package/dist/types/views/metadataModelChangeSetClient.d.ts +36 -0
  132. package/dist/types/views/metadataModelEditSession.d.ts +26 -1
  133. package/dist/types/views/metadataNaming.d.ts +11 -1
  134. package/dist/types/views/metadataOrchestrationState.d.ts +22 -0
  135. package/dist/types/views/metadataWorkspace.d.ts +1316 -0
  136. package/dist/types/views/moduleGovernanceWorkspaceView.d.ts +1 -1
  137. package/dist/types/views/moduleRuntimeActivation.d.ts +11 -0
  138. package/dist/types/views/pageCompositionAssistantSurface.d.ts +27 -0
  139. package/dist/types/views/pageCompositionCandidate.d.ts +47 -0
  140. package/dist/types/views/pageCompositionComponents.d.ts +42 -0
  141. package/dist/types/views/pageCompositionDraftState.d.ts +277 -8
  142. package/dist/types/views/pageCompositionDragPayload.d.ts +7 -1
  143. package/dist/types/views/pageCompositionMode.d.ts +1 -1
  144. package/dist/types/views/pageCompositionPlacement.d.ts +6 -1
  145. package/dist/types/views/pageCompositionPublication.d.ts +37 -0
  146. package/dist/types/views/pageCompositionSession.d.ts +1341 -0
  147. package/dist/types/views/pageCompositionWorkspace.d.ts +2555 -0
  148. package/dist/types/views/roleAuthorizationWorkspaceSession.d.ts +1 -1
  149. package/dist/types/views/roleDetailWorkspaceSession.d.ts +1 -1
  150. package/dist/types/views/runtimeLogSse.d.ts +3 -13
  151. package/dist/types/views/usePageCompositionComponents.d.ts +68 -0
  152. package/dist/types/vue-ui-antdv/components/UiInput.vue.d.ts +1 -0
  153. package/dist/types/vue-ui-antdv/components/UiSearchInput.vue.d.ts +2 -0
  154. package/dist/types/vue-ui-antdv/components/UiSelect.vue.d.ts +2 -0
  155. package/dist/types/vue-ui-antdv/components/UiTextArea.vue.d.ts +4 -0
  156. package/dist/types/vue-ui-antdv/components/UiTreeSelect.vue.d.ts +2 -0
  157. package/dist/types/vue-ui-antdv/types.d.ts +4 -0
  158. package/dist/types/web-contracts/assistant.d.ts +87 -0
  159. package/dist/types/web-contracts/constructionPlan.d.ts +212 -0
  160. package/dist/types/web-contracts/index.d.ts +33 -0
  161. package/dist/types/web-contracts/operation.d.ts +33 -0
  162. package/dist/types/web-contracts/referenceTarget.d.ts +13 -0
  163. package/dist/types/web-core/assistantCapabilityCatalog.d.ts +22 -0
  164. package/dist/types/web-core/assistantCatalogPage.d.ts +12 -0
  165. package/dist/types/web-core/assistantConfirmation.d.ts +23 -0
  166. package/dist/types/web-core/assistantConversationClient.d.ts +42 -0
  167. package/dist/types/web-core/assistantRuntime.d.ts +123 -0
  168. package/dist/types/web-core/assistantSurface.d.ts +162 -0
  169. package/dist/types/web-core/assistantTurnClient.d.ts +16 -0
  170. package/dist/types/web-core/constructionPlanClient.d.ts +55 -0
  171. package/dist/types/web-core/errors.d.ts +2 -0
  172. package/dist/types/web-core/http.d.ts +1 -0
  173. package/dist/types/web-core/index.d.ts +12 -0
  174. package/dist/types/web-core/module/dataExchangeClient.d.ts +53 -0
  175. package/dist/types/web-core/module/index.d.ts +1 -0
  176. package/dist/types/web-core/module/staticModuleClient.d.ts +12 -2
  177. package/dist/types/web-core/operationConfirmation.d.ts +28 -0
  178. package/dist/types/web-core/operationErrors.d.ts +9 -0
  179. package/dist/types/web-core/operationReceipt.d.ts +10 -0
  180. package/dist/types/web-core/sse.d.ts +9 -0
  181. package/dist/types/web-core/uuid.d.ts +2 -0
  182. package/dist/{workspaceViews-CCg6V0pr.js → workspaceViews-CHsgLFwY.js} +783 -1189
  183. package/package.json +1 -1
  184. package/dist/BusinessLogListDrawer-BtaXVJKz.js +0 -564
  185. package/dist/moduleGovernanceWorkspaceView-4V_UW-Bt.js +0 -40
  186. package/dist/platform-workbench-Cu14Xd9d.js +0 -10299
@@ -1,4 +1,4 @@
1
- export declare const moduleGovernanceTabs: readonly ["overview", "metadata", "actions", "rules", "ui", "preview"];
1
+ export declare const moduleGovernanceTabs: readonly ["overview", "metadata", "actions", "rules", "ui", "menu", "preview"];
2
2
  export type ModuleGovernanceTab = (typeof moduleGovernanceTabs)[number];
3
3
  export interface ModuleGovernanceWorkspaceViewInput {
4
4
  moduleAlias: string;
@@ -0,0 +1,11 @@
1
+ import type { InjectionKey } from 'vue';
2
+ import type { HttpClient } from '../web-core/index';
3
+ import type { DynamicRuntimeActivationStatus, WebActionMessage } from '../web-contracts/index';
4
+ export interface ModuleActivationFeedback {
5
+ message: WebActionMessage;
6
+ }
7
+ /** Recheck committed module configuration without coupling editors to its presentation. */
8
+ export declare const moduleRuntimeActivationRefreshKey: InjectionKey<(moduleAlias: string) => Promise<ModuleActivationFeedback | undefined>>;
9
+ /** Same committed-state feedback for visible governance pages and headless editors. */
10
+ export declare function moduleActivationFeedback(current: DynamicRuntimeActivationStatus): ModuleActivationFeedback;
11
+ export declare function readModuleActivationFeedback(http: HttpClient, moduleAlias: string): Promise<ModuleActivationFeedback>;
@@ -0,0 +1,27 @@
1
+ import { type AssistantCapability, type AssistantOperationProposal, type AssistantSurface, type AssistantTurnRequester } from '../web-core/index';
2
+ import type { PageCompositionCandidateInput } from './pageCompositionCandidate';
3
+ export interface PageCompositionAssistantAdapter {
4
+ describe(): {
5
+ moduleAlias: string;
6
+ title?: string;
7
+ editable: boolean;
8
+ [key: string]: unknown;
9
+ };
10
+ relations?(input: {
11
+ relationCode?: string;
12
+ offset: number;
13
+ }): unknown;
14
+ candidate(): {
15
+ changes: string[];
16
+ [key: string]: unknown;
17
+ };
18
+ prepareEditing?(): AssistantOperationProposal;
19
+ prepareConfirmation?(signal: AbortSignal): Promise<AssistantOperationProposal>;
20
+ prepare(input: PageCompositionCandidateInput): () => unknown;
21
+ preview(signal: AbortSignal): Promise<{
22
+ valid: boolean;
23
+ errors: string[];
24
+ }>;
25
+ }
26
+ export declare function createPageCompositionAssistantSurface(adapter: PageCompositionAssistantAdapter, requestTurn: AssistantTurnRequester, contributedCapabilities?: () => AssistantCapability[]): AssistantSurface;
27
+ export declare function parsePageCompositionCandidateInput(input: unknown): PageCompositionCandidateInput;
@@ -0,0 +1,47 @@
1
+ import type { PageComposerField, PageComposerFieldProperties, PageComposerLayout, PageComposerRelation } from './pageCompositionDraftState';
2
+ export interface PageCompositionCandidateInput {
3
+ list?: Array<{
4
+ fieldName: string;
5
+ properties?: PageComposerFieldProperties;
6
+ }>;
7
+ form?: Array<{
8
+ fieldName: string;
9
+ properties?: PageComposerFieldProperties;
10
+ }>;
11
+ detail?: Array<{
12
+ fieldName: string;
13
+ properties?: PageComposerFieldProperties;
14
+ }>;
15
+ /** Supplied relations replace the complete child layout; omission preserves it. */
16
+ relations?: Array<{
17
+ relationCode: string;
18
+ title?: string;
19
+ fields: Array<{
20
+ fieldName: string;
21
+ properties?: PageComposerFieldProperties;
22
+ }>;
23
+ }>;
24
+ quickSearchFields?: string[];
25
+ }
26
+ export interface PageCompositionCandidateState {
27
+ list: PageComposerField[];
28
+ form: PageComposerLayout;
29
+ detail: PageComposerLayout;
30
+ separateDetail: boolean;
31
+ columns: boolean;
32
+ quickSearchFields: string[];
33
+ fields: PageComposerField[];
34
+ searchableFields: string[];
35
+ relations: PageComposerRelation[];
36
+ availableRelations: PageComposerRelation[];
37
+ }
38
+ /** Resolve every source and placement before mutating the shared editor. */
39
+ export declare function preparePageCompositionCandidate(current: PageCompositionCandidateState, input: PageCompositionCandidateInput): {
40
+ relations: PageComposerRelation[];
41
+ list: PageComposerField[];
42
+ form: PageComposerLayout;
43
+ detail: PageComposerLayout;
44
+ quickSearchFields: string[];
45
+ };
46
+ /** Compare template declarations, including manual edits, without exposing arbitrary UI JSON to the model. */
47
+ export declare function pageCompositionChangeLines(before: string | undefined, after: string, fieldTitle?: (name: string) => string): string[];
@@ -0,0 +1,42 @@
1
+ import type { ComponentDragPayload } from './pageCompositionDragPayload';
2
+ import type { PageComposerField } from './pageCompositionDraftState';
3
+ export interface ComponentDefinition {
4
+ component: ComponentDragPayload['component'];
5
+ title: string;
6
+ fieldSpecAlias: string;
7
+ }
8
+ export interface ComponentCatalog {
9
+ relationId: string;
10
+ metadataVersion: number;
11
+ components: ComponentDefinition[];
12
+ canCreateChild: boolean;
13
+ }
14
+ export interface PendingComponentField {
15
+ key: string;
16
+ component: ComponentDragPayload['component'];
17
+ title: string;
18
+ required?: boolean;
19
+ fieldSpecAlias: string;
20
+ }
21
+ /** Transport only component intent; metadata specifications remain server-owned. */
22
+ export declare function componentFieldDefinition(input: PendingComponentField): {
23
+ key: string;
24
+ component: "number" | "date" | "text" | "textarea" | "switch";
25
+ title: string;
26
+ required: boolean | undefined;
27
+ };
28
+ /** Resolve the title only at publication; the editor keeps its stable temporary identity. */
29
+ export declare function componentFieldForSave(input: PendingComponentField): {
30
+ suggestedName: string;
31
+ key: string;
32
+ component: "number" | "date" | "text" | "textarea" | "switch";
33
+ title: string;
34
+ required: boolean | undefined;
35
+ };
36
+ export declare function componentField(input: PendingComponentField): PageComposerField;
37
+ /** Build once per draft change; field consumers share the same index. */
38
+ export declare function componentFieldUsageIndex(treeJson: string): Map<string, string[]>;
39
+ /** Only referenced definitions are created on save; unused session entries remain available for undo. */
40
+ export declare function placedComponentFields(inputs: PendingComponentField[], treeJson: string): PendingComponentField[];
41
+ export declare function componentFieldUsage(fieldName: string, treeJson: string): string[];
42
+ export declare function sameTitleFields(title: string, fieldId: string, fields: PageComposerField[]): PageComposerField[];
@@ -1,5 +1,5 @@
1
1
  export type PageComposerSlot = 'list' | 'form';
2
- /** Runtime states, not independent configuration slots. management v1 still owns only list/form. */
2
+ /** Preview selects the read or edit projection of the page. */
3
3
  export type PageComposerPreviewMode = 'list' | 'query' | 'detail' | 'edit';
4
4
  export interface PageComposerField {
5
5
  id: string;
@@ -7,6 +7,7 @@ export interface PageComposerField {
7
7
  fieldName: string;
8
8
  /** Editor-only source diagnostic; never serialized into the page declaration. */
9
9
  unavailable?: boolean;
10
+ pending?: boolean;
10
11
  fieldSpecAlias?: string;
11
12
  required?: boolean;
12
13
  /** Source visibility only; never serialized into the page declaration. */
@@ -63,6 +64,8 @@ export declare function defaultPageQuerySummaryLabel(summary: PageQuerySummary,
63
64
  export declare function hasDefaultPageQuerySummaryLabel(summary: PageQuerySummary, catalog?: PageQuerySummaryCatalogTitles): boolean;
64
65
  /** A direct child relation placed as an association-list component in the detail slot. */
65
66
  export interface PageComposerRelation {
67
+ /** Unsaved child metadata, owned by the current composition session. */
68
+ pending?: boolean;
66
69
  id: string;
67
70
  relationCode: string;
68
71
  unavailable?: boolean;
@@ -109,7 +112,7 @@ export interface ManagementUiTree {
109
112
  };
110
113
  querySummaries?: PageQuerySummary[];
111
114
  nodes: Array<{
112
- slot: PageComposerSlot;
115
+ slot: PageComposerSlot | 'detail';
113
116
  title: string;
114
117
  fields: Array<string | {
115
118
  field: string;
@@ -141,11 +144,263 @@ export interface ManagementUiTree {
141
144
  * projection of another configuration aggregate.
142
145
  */
143
146
  export declare function createPageCompositionDraftState(): {
147
+ separateDetail: import("vue").Ref<boolean, boolean>;
148
+ activeLayout: import("vue").Ref<"detail" | "form", "detail" | "form">;
149
+ layouts: import("vue").Ref<{
150
+ form: {
151
+ fields: {
152
+ id: string;
153
+ title: string;
154
+ fieldName: string;
155
+ unavailable?: boolean | undefined;
156
+ pending?: boolean | undefined;
157
+ fieldSpecAlias?: string | undefined;
158
+ required?: boolean | undefined;
159
+ systemManaged?: boolean | undefined;
160
+ platformReadOnly?: boolean | undefined;
161
+ referenceModuleAlias?: string | undefined;
162
+ referenceCardinality?: "ONE" | "MANY" | undefined;
163
+ optionSourceType?: string | undefined;
164
+ optionSelectionMode?: "SINGLE" | "MULTIPLE" | undefined;
165
+ expandable?: boolean | undefined;
166
+ properties?: {
167
+ label?: string | undefined;
168
+ width?: string | undefined;
169
+ align?: "left" | "center" | "right" | undefined;
170
+ columnSpan?: 1 | 2 | undefined;
171
+ readOnly?: boolean | undefined;
172
+ fieldUiControlAlias?: string | undefined;
173
+ } | undefined;
174
+ }[];
175
+ groups: {
176
+ id: string;
177
+ groupCode: string;
178
+ title: string;
179
+ subtitle?: string | undefined;
180
+ fields: {
181
+ id: string;
182
+ title: string;
183
+ fieldName: string;
184
+ unavailable?: boolean | undefined;
185
+ pending?: boolean | undefined;
186
+ fieldSpecAlias?: string | undefined;
187
+ required?: boolean | undefined;
188
+ systemManaged?: boolean | undefined;
189
+ platformReadOnly?: boolean | undefined;
190
+ referenceModuleAlias?: string | undefined;
191
+ referenceCardinality?: "ONE" | "MANY" | undefined;
192
+ optionSourceType?: string | undefined;
193
+ optionSelectionMode?: "SINGLE" | "MULTIPLE" | undefined;
194
+ expandable?: boolean | undefined;
195
+ properties?: {
196
+ label?: string | undefined;
197
+ width?: string | undefined;
198
+ align?: "left" | "center" | "right" | undefined;
199
+ columnSpan?: 1 | 2 | undefined;
200
+ readOnly?: boolean | undefined;
201
+ fieldUiControlAlias?: string | undefined;
202
+ } | undefined;
203
+ }[];
204
+ }[];
205
+ order: {
206
+ kind: "field" | "group";
207
+ id: string;
208
+ }[];
209
+ };
210
+ detail: {
211
+ fields: {
212
+ id: string;
213
+ title: string;
214
+ fieldName: string;
215
+ unavailable?: boolean | undefined;
216
+ pending?: boolean | undefined;
217
+ fieldSpecAlias?: string | undefined;
218
+ required?: boolean | undefined;
219
+ systemManaged?: boolean | undefined;
220
+ platformReadOnly?: boolean | undefined;
221
+ referenceModuleAlias?: string | undefined;
222
+ referenceCardinality?: "ONE" | "MANY" | undefined;
223
+ optionSourceType?: string | undefined;
224
+ optionSelectionMode?: "SINGLE" | "MULTIPLE" | undefined;
225
+ expandable?: boolean | undefined;
226
+ properties?: {
227
+ label?: string | undefined;
228
+ width?: string | undefined;
229
+ align?: "left" | "center" | "right" | undefined;
230
+ columnSpan?: 1 | 2 | undefined;
231
+ readOnly?: boolean | undefined;
232
+ fieldUiControlAlias?: string | undefined;
233
+ } | undefined;
234
+ }[];
235
+ groups: {
236
+ id: string;
237
+ groupCode: string;
238
+ title: string;
239
+ subtitle?: string | undefined;
240
+ fields: {
241
+ id: string;
242
+ title: string;
243
+ fieldName: string;
244
+ unavailable?: boolean | undefined;
245
+ pending?: boolean | undefined;
246
+ fieldSpecAlias?: string | undefined;
247
+ required?: boolean | undefined;
248
+ systemManaged?: boolean | undefined;
249
+ platformReadOnly?: boolean | undefined;
250
+ referenceModuleAlias?: string | undefined;
251
+ referenceCardinality?: "ONE" | "MANY" | undefined;
252
+ optionSourceType?: string | undefined;
253
+ optionSelectionMode?: "SINGLE" | "MULTIPLE" | undefined;
254
+ expandable?: boolean | undefined;
255
+ properties?: {
256
+ label?: string | undefined;
257
+ width?: string | undefined;
258
+ align?: "left" | "center" | "right" | undefined;
259
+ columnSpan?: 1 | 2 | undefined;
260
+ readOnly?: boolean | undefined;
261
+ fieldUiControlAlias?: string | undefined;
262
+ } | undefined;
263
+ }[];
264
+ }[];
265
+ order: {
266
+ kind: "field" | "group";
267
+ id: string;
268
+ }[];
269
+ };
270
+ }, {
271
+ form: PageComposerLayout;
272
+ detail: PageComposerLayout;
273
+ } | {
274
+ form: {
275
+ fields: {
276
+ id: string;
277
+ title: string;
278
+ fieldName: string;
279
+ unavailable?: boolean | undefined;
280
+ pending?: boolean | undefined;
281
+ fieldSpecAlias?: string | undefined;
282
+ required?: boolean | undefined;
283
+ systemManaged?: boolean | undefined;
284
+ platformReadOnly?: boolean | undefined;
285
+ referenceModuleAlias?: string | undefined;
286
+ referenceCardinality?: "ONE" | "MANY" | undefined;
287
+ optionSourceType?: string | undefined;
288
+ optionSelectionMode?: "SINGLE" | "MULTIPLE" | undefined;
289
+ expandable?: boolean | undefined;
290
+ properties?: {
291
+ label?: string | undefined;
292
+ width?: string | undefined;
293
+ align?: "left" | "center" | "right" | undefined;
294
+ columnSpan?: 1 | 2 | undefined;
295
+ readOnly?: boolean | undefined;
296
+ fieldUiControlAlias?: string | undefined;
297
+ } | undefined;
298
+ }[];
299
+ groups: {
300
+ id: string;
301
+ groupCode: string;
302
+ title: string;
303
+ subtitle?: string | undefined;
304
+ fields: {
305
+ id: string;
306
+ title: string;
307
+ fieldName: string;
308
+ unavailable?: boolean | undefined;
309
+ pending?: boolean | undefined;
310
+ fieldSpecAlias?: string | undefined;
311
+ required?: boolean | undefined;
312
+ systemManaged?: boolean | undefined;
313
+ platformReadOnly?: boolean | undefined;
314
+ referenceModuleAlias?: string | undefined;
315
+ referenceCardinality?: "ONE" | "MANY" | undefined;
316
+ optionSourceType?: string | undefined;
317
+ optionSelectionMode?: "SINGLE" | "MULTIPLE" | undefined;
318
+ expandable?: boolean | undefined;
319
+ properties?: {
320
+ label?: string | undefined;
321
+ width?: string | undefined;
322
+ align?: "left" | "center" | "right" | undefined;
323
+ columnSpan?: 1 | 2 | undefined;
324
+ readOnly?: boolean | undefined;
325
+ fieldUiControlAlias?: string | undefined;
326
+ } | undefined;
327
+ }[];
328
+ }[];
329
+ order: {
330
+ kind: "field" | "group";
331
+ id: string;
332
+ }[];
333
+ };
334
+ detail: {
335
+ fields: {
336
+ id: string;
337
+ title: string;
338
+ fieldName: string;
339
+ unavailable?: boolean | undefined;
340
+ pending?: boolean | undefined;
341
+ fieldSpecAlias?: string | undefined;
342
+ required?: boolean | undefined;
343
+ systemManaged?: boolean | undefined;
344
+ platformReadOnly?: boolean | undefined;
345
+ referenceModuleAlias?: string | undefined;
346
+ referenceCardinality?: "ONE" | "MANY" | undefined;
347
+ optionSourceType?: string | undefined;
348
+ optionSelectionMode?: "SINGLE" | "MULTIPLE" | undefined;
349
+ expandable?: boolean | undefined;
350
+ properties?: {
351
+ label?: string | undefined;
352
+ width?: string | undefined;
353
+ align?: "left" | "center" | "right" | undefined;
354
+ columnSpan?: 1 | 2 | undefined;
355
+ readOnly?: boolean | undefined;
356
+ fieldUiControlAlias?: string | undefined;
357
+ } | undefined;
358
+ }[];
359
+ groups: {
360
+ id: string;
361
+ groupCode: string;
362
+ title: string;
363
+ subtitle?: string | undefined;
364
+ fields: {
365
+ id: string;
366
+ title: string;
367
+ fieldName: string;
368
+ unavailable?: boolean | undefined;
369
+ pending?: boolean | undefined;
370
+ fieldSpecAlias?: string | undefined;
371
+ required?: boolean | undefined;
372
+ systemManaged?: boolean | undefined;
373
+ platformReadOnly?: boolean | undefined;
374
+ referenceModuleAlias?: string | undefined;
375
+ referenceCardinality?: "ONE" | "MANY" | undefined;
376
+ optionSourceType?: string | undefined;
377
+ optionSelectionMode?: "SINGLE" | "MULTIPLE" | undefined;
378
+ expandable?: boolean | undefined;
379
+ properties?: {
380
+ label?: string | undefined;
381
+ width?: string | undefined;
382
+ align?: "left" | "center" | "right" | undefined;
383
+ columnSpan?: 1 | 2 | undefined;
384
+ readOnly?: boolean | undefined;
385
+ fieldUiControlAlias?: string | undefined;
386
+ } | undefined;
387
+ }[];
388
+ }[];
389
+ order: {
390
+ kind: "field" | "group";
391
+ id: string;
392
+ }[];
393
+ };
394
+ }>;
395
+ selectLayout: (layout: "form" | "detail") => void;
396
+ splitLayout: () => void;
397
+ mergeLayout: (keep: "form" | "detail") => void;
144
398
  listFields: import("vue").Ref<{
145
399
  id: string;
146
400
  title: string;
147
401
  fieldName: string;
148
402
  unavailable?: boolean | undefined;
403
+ pending?: boolean | undefined;
149
404
  fieldSpecAlias?: string | undefined;
150
405
  required?: boolean | undefined;
151
406
  systemManaged?: boolean | undefined;
@@ -168,6 +423,7 @@ export declare function createPageCompositionDraftState(): {
168
423
  title: string;
169
424
  fieldName: string;
170
425
  unavailable?: boolean | undefined;
426
+ pending?: boolean | undefined;
171
427
  fieldSpecAlias?: string | undefined;
172
428
  required?: boolean | undefined;
173
429
  systemManaged?: boolean | undefined;
@@ -186,11 +442,12 @@ export declare function createPageCompositionDraftState(): {
186
442
  fieldUiControlAlias?: string | undefined;
187
443
  } | undefined;
188
444
  }[]>;
189
- formFields: import("vue").Ref<{
445
+ formFields: import("vue").WritableComputedRef<{
190
446
  id: string;
191
447
  title: string;
192
448
  fieldName: string;
193
449
  unavailable?: boolean | undefined;
450
+ pending?: boolean | undefined;
194
451
  fieldSpecAlias?: string | undefined;
195
452
  required?: boolean | undefined;
196
453
  systemManaged?: boolean | undefined;
@@ -208,11 +465,12 @@ export declare function createPageCompositionDraftState(): {
208
465
  readOnly?: boolean | undefined;
209
466
  fieldUiControlAlias?: string | undefined;
210
467
  } | undefined;
211
- }[], PageComposerField[] | {
468
+ }[], {
212
469
  id: string;
213
470
  title: string;
214
471
  fieldName: string;
215
472
  unavailable?: boolean | undefined;
473
+ pending?: boolean | undefined;
216
474
  fieldSpecAlias?: string | undefined;
217
475
  required?: boolean | undefined;
218
476
  systemManaged?: boolean | undefined;
@@ -232,6 +490,7 @@ export declare function createPageCompositionDraftState(): {
232
490
  } | undefined;
233
491
  }[]>;
234
492
  formRelations: import("vue").Ref<{
493
+ pending?: boolean | undefined;
235
494
  id: string;
236
495
  relationCode: string;
237
496
  unavailable?: boolean | undefined;
@@ -241,6 +500,7 @@ export declare function createPageCompositionDraftState(): {
241
500
  title: string;
242
501
  fieldName: string;
243
502
  unavailable?: boolean | undefined;
503
+ pending?: boolean | undefined;
244
504
  fieldSpecAlias?: string | undefined;
245
505
  required?: boolean | undefined;
246
506
  systemManaged?: boolean | undefined;
@@ -260,6 +520,7 @@ export declare function createPageCompositionDraftState(): {
260
520
  } | undefined;
261
521
  }[];
262
522
  }[], PageComposerRelation[] | {
523
+ pending?: boolean | undefined;
263
524
  id: string;
264
525
  relationCode: string;
265
526
  unavailable?: boolean | undefined;
@@ -269,6 +530,7 @@ export declare function createPageCompositionDraftState(): {
269
530
  title: string;
270
531
  fieldName: string;
271
532
  unavailable?: boolean | undefined;
533
+ pending?: boolean | undefined;
272
534
  fieldSpecAlias?: string | undefined;
273
535
  required?: boolean | undefined;
274
536
  systemManaged?: boolean | undefined;
@@ -288,7 +550,7 @@ export declare function createPageCompositionDraftState(): {
288
550
  } | undefined;
289
551
  }[];
290
552
  }[]>;
291
- formGroups: import("vue").Ref<{
553
+ formGroups: import("vue").WritableComputedRef<{
292
554
  id: string;
293
555
  groupCode: string;
294
556
  title: string;
@@ -298,6 +560,7 @@ export declare function createPageCompositionDraftState(): {
298
560
  title: string;
299
561
  fieldName: string;
300
562
  unavailable?: boolean | undefined;
563
+ pending?: boolean | undefined;
301
564
  fieldSpecAlias?: string | undefined;
302
565
  required?: boolean | undefined;
303
566
  systemManaged?: boolean | undefined;
@@ -316,7 +579,7 @@ export declare function createPageCompositionDraftState(): {
316
579
  fieldUiControlAlias?: string | undefined;
317
580
  } | undefined;
318
581
  }[];
319
- }[], PageComposerGroup[] | {
582
+ }[], {
320
583
  id: string;
321
584
  groupCode: string;
322
585
  title: string;
@@ -326,6 +589,7 @@ export declare function createPageCompositionDraftState(): {
326
589
  title: string;
327
590
  fieldName: string;
328
591
  unavailable?: boolean | undefined;
592
+ pending?: boolean | undefined;
329
593
  fieldSpecAlias?: string | undefined;
330
594
  required?: boolean | undefined;
331
595
  systemManaged?: boolean | undefined;
@@ -345,10 +609,10 @@ export declare function createPageCompositionDraftState(): {
345
609
  } | undefined;
346
610
  }[];
347
611
  }[]>;
348
- formOrder: import("vue").Ref<{
612
+ formOrder: import("vue").WritableComputedRef<{
349
613
  kind: "field" | "group";
350
614
  id: string;
351
- }[], PageComposerFormItem[] | {
615
+ }[], {
352
616
  kind: "field" | "group";
353
617
  id: string;
354
618
  }[]>;
@@ -402,3 +666,8 @@ export declare function createPageCompositionDraftState(): {
402
666
  normalizeFormFieldPlacements: () => boolean;
403
667
  toManagementUiTree: (titles?: Partial<Record<PageComposerSlot, string>>) => ManagementUiTree;
404
668
  };
669
+ export interface PageComposerLayout {
670
+ fields: PageComposerField[];
671
+ groups: PageComposerGroup[];
672
+ order: PageComposerFormItem[];
673
+ }
@@ -21,6 +21,12 @@ export type ModuleActionDragPayload = {
21
21
  kind: 'action';
22
22
  actionCode: string;
23
23
  };
24
- export type PageCompositionDragPayload = MetadataDragPayload | ModuleActionDragPayload;
24
+ export type ComponentDragPayload = {
25
+ kind: 'component';
26
+ component: 'text' | 'textarea' | 'number' | 'date' | 'switch';
27
+ };
28
+ export type PageCompositionDragPayload = MetadataDragPayload | ModuleActionDragPayload | ComponentDragPayload | {
29
+ kind: 'child';
30
+ };
25
31
  export declare function parseMetadataDragPayload(payload: unknown): MetadataDragPayload | undefined;
26
32
  export declare function parsePageCompositionDragPayload(payload: unknown): PageCompositionDragPayload | undefined;
@@ -38,7 +38,7 @@ export declare function modeAwareTree(tree: ManagementUiTree, skeleton: Composit
38
38
  quickSearchFields: string[];
39
39
  actions: PageCompositionActionPlacement[];
40
40
  nodes: ({
41
- slot: import("./pageCompositionDraftState").PageComposerSlot;
41
+ slot: import("./pageCompositionDraftState").PageComposerSlot | "detail";
42
42
  title: string;
43
43
  fields: Array<string | {
44
44
  field: string;
@@ -1,6 +1,6 @@
1
1
  import { type PageComposerFormItem } from './pageCompositionDraftState';
2
2
  import type { PageComposerField, PageComposerGroup, PageComposerRelation } from './pageCompositionDraftState';
3
- import type { MetadataDragPayload } from './pageCompositionDragPayload';
3
+ import type { MetadataDragPayload, ComponentDragPayload } from './pageCompositionDragPayload';
4
4
  /** Editor placement facts shared by the structure tree and the descriptor preview. */
5
5
  export interface PageCompositionStructure {
6
6
  order?: PageComposerFormItem[];
@@ -30,6 +30,11 @@ export interface CompositionPlacementTarget {
30
30
  position: 'before' | 'after' | 'inside';
31
31
  }
32
32
  export type CompositionPlacementSource = {
33
+ kind: 'component';
34
+ component: ComponentDragPayload | {
35
+ kind: 'child';
36
+ };
37
+ } | {
33
38
  kind: 'metadata';
34
39
  metadata: MetadataDragPayload;
35
40
  } | {
@@ -0,0 +1,37 @@
1
+ import type { OperationReceiptReference } from '../web-contracts/index';
2
+ import type { HttpClient } from '../web-core/index';
3
+ export type PresentationRevision = {
4
+ id?: string;
5
+ version?: number;
6
+ title?: string;
7
+ variantId?: string;
8
+ revisionNo?: number;
9
+ templateAlias?: string;
10
+ templateVersion?: number;
11
+ uiTreeJson?: string;
12
+ status?: 'draft' | 'published' | 'archived';
13
+ enabled?: boolean;
14
+ };
15
+ /** The shared publication command owns server evidence; editor refresh is a separate concern. */
16
+ export declare function createPageCompositionPublicationCommand(options: {
17
+ http: HttpClient;
18
+ variantId: string;
19
+ revision: PresentationRevision;
20
+ previewBody: unknown;
21
+ composition?: Record<string, unknown>;
22
+ requireCurrent(): void;
23
+ readRevisions(): Promise<PresentationRevision[]>;
24
+ }): {
25
+ receiptReference(): Promise<OperationReceiptReference | undefined>;
26
+ execute(): Promise<{
27
+ revision: PresentationRevision;
28
+ receipt: {
29
+ title: string;
30
+ lines: string[];
31
+ };
32
+ }>;
33
+ lookup(): Promise<{
34
+ title: string;
35
+ lines: string[];
36
+ } | undefined>;
37
+ };