@ximatai/muyun-web-app 0.26.11 → 0.26.13

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 (221) hide show
  1. package/dist/BusinessActivityLogView-UC4rH4Fn.js +16 -0
  2. package/dist/BusinessLogListDrawer-BtaXVJKz.js +564 -0
  3. package/dist/LoginAuditLogView-Cjrp8MKX.js +16 -0
  4. package/dist/ModuleActionManagementView-Dkb35QXc.js +673 -0
  5. package/dist/ModuleGovernanceView-Dx43QvGf.js +28651 -0
  6. package/dist/RequestErrorLogView-WnGvMWiF.js +16 -0
  7. package/dist/RoleDetailWorkspaceView-DPDb_QOn.js +1397 -0
  8. package/dist/RuntimeLogView-BRl4ZDkU.js +330 -0
  9. package/dist/http-B0TC0pJB.js +157 -0
  10. package/dist/index.css +1 -1
  11. package/dist/index.js +1938 -325
  12. package/dist/moduleGovernanceWorkspaceView-4V_UW-Bt.js +40 -0
  13. package/dist/platform-components-1cvOeHmo.js +17854 -0
  14. package/dist/platform-workbench-Cu14Xd9d.js +10299 -0
  15. package/dist/rolldown-runtime-DPVXH0ON.js +17 -0
  16. package/dist/types/app/CurrentUserProfileDialog.vue.d.ts +0 -2
  17. package/dist/types/app/LoginView.vue.d.ts +1 -1
  18. package/dist/types/app/workbenchRouteSync.d.ts +10 -1
  19. package/dist/types/app/workbenchSessionTabs.d.ts +22 -0
  20. package/dist/types/app/workbenchStartup.d.ts +7 -0
  21. package/dist/types/consumer/AppWorkbenchShell.vue.d.ts +4 -1
  22. package/dist/types/consumer/index.d.ts +8 -0
  23. package/dist/types/dynamic-page-runtime/ModulePageBusinessSession.d.ts +2208 -0
  24. package/dist/types/dynamic-page-runtime/ModulePageBusinessState.vue.d.ts +11 -0
  25. package/dist/types/dynamic-page-runtime/ModulePageDetailRelations.vue.d.ts +1 -1
  26. package/dist/types/dynamic-page-runtime/ModulePageHost.vue.d.ts +32 -5
  27. package/dist/types/dynamic-page-runtime/ModulePageHostRuntime.vue.d.ts +4431 -0
  28. package/dist/types/dynamic-page-runtime/ModulePageHostSession.vue.d.ts +43 -0
  29. package/dist/types/dynamic-page-runtime/ModulePageRecordContent.vue.d.ts +2 -2
  30. package/dist/types/dynamic-page-runtime/ModuleRecordDetailActions.vue.d.ts +20 -0
  31. package/dist/types/dynamic-page-runtime/ModuleReferenceRecordDetailBrowser.vue.d.ts +42 -0
  32. package/dist/types/dynamic-page-runtime/NavigatorPanelActions.vue.d.ts +22 -0
  33. package/dist/types/dynamic-page-runtime/PageNavigatorExplorer.vue.d.ts +11 -11
  34. package/dist/types/dynamic-page-runtime/RecordFormSurface.vue.d.ts +2 -2
  35. package/dist/types/dynamic-page-runtime/TenantScopeExplorer.vue.d.ts +21 -0
  36. package/dist/types/dynamic-page-runtime/childAggregateContext.d.ts +11 -0
  37. package/dist/types/dynamic-page-runtime/composables/useModulePageActions.d.ts +1 -1
  38. package/dist/types/dynamic-page-runtime/composables/useModulePageDetailActionRuntime.d.ts +5 -0
  39. package/dist/types/dynamic-page-runtime/composables/useNavigatorRuntime.d.ts +81 -26
  40. package/dist/types/dynamic-page-runtime/composables/useRecordEditingSession.d.ts +1 -1
  41. package/dist/types/dynamic-page-runtime/formActionResult.d.ts +7 -0
  42. package/dist/types/dynamic-page-runtime/formComputeCoordinator.d.ts +7 -4
  43. package/dist/types/dynamic-page-runtime/formValidationCoordinator.d.ts +17 -0
  44. package/dist/types/dynamic-page-runtime/index.d.ts +3 -1
  45. package/dist/types/dynamic-page-runtime/inputValidationActionStatus.d.ts +20 -0
  46. package/dist/types/dynamic-page-runtime/modulePageEnhancements.d.ts +13 -3
  47. package/dist/types/dynamic-page-runtime/modulePageUnsavedState.d.ts +10 -0
  48. package/dist/types/dynamic-page-runtime/pageActionInvocation.d.ts +7 -0
  49. package/dist/types/dynamic-page-runtime/pageActionPlacement.d.ts +14 -0
  50. package/dist/types/dynamic-page-runtime/recordDetailController.d.ts +1 -0
  51. package/dist/types/dynamic-page-runtime/recordMutationPayload.d.ts +4 -0
  52. package/dist/types/dynamic-page-runtime/referenceRecordProjection.d.ts +6 -0
  53. package/dist/types/dynamic-page-runtime/sessionViewBindings.d.ts +3 -0
  54. package/dist/types/dynamic-page-runtime/sourceReferencePickerConfig.d.ts +26 -0
  55. package/dist/types/dynamic-page-runtime/useModulePageSession.d.ts +1728 -0
  56. package/dist/types/dynamic-page-runtime/useTenantScopeController.d.ts +18 -0
  57. package/dist/types/formula/FormulaRuntime.d.ts +6 -0
  58. package/dist/types/platform-admin-runtime/WorkspaceViewDrawer.vue.d.ts +5 -0
  59. package/dist/types/platform-admin-runtime/module-menu/ModuleMenuDrawer.vue.d.ts +7 -0
  60. package/dist/types/platform-admin-runtime/module-menu/ModuleMenuEntriesSection.vue.d.ts +7 -0
  61. package/dist/types/platform-admin-runtime/module-menu/moduleMenuClient.d.ts +16 -0
  62. package/dist/types/platform-admin-runtime/platformModulePageEnhancement.d.ts +2 -0
  63. package/dist/types/platform-admin-runtime/role/roleScopeSelectionClient.d.ts +52 -0
  64. package/dist/types/platform-components/AdaptiveHeaderActionBar.vue.d.ts +24 -0
  65. package/dist/types/platform-components/BusinessNotificationPanel.vue.d.ts +15 -1
  66. package/dist/types/platform-components/CrudRecordListExplorer.vue.d.ts +11 -3
  67. package/dist/types/platform-components/DetailRelationListPanel.vue.d.ts +1 -1
  68. package/dist/types/platform-components/DictionaryOptionDialog.vue.d.ts +37 -0
  69. package/dist/types/platform-components/DictionaryOptionDialogChoiceList.vue.d.ts +21 -0
  70. package/dist/types/platform-components/DictionaryPicker.vue.d.ts +47 -0
  71. package/dist/types/platform-components/DictionaryRadioGroup.vue.d.ts +20 -0
  72. package/dist/types/platform-components/EmployeePicker.vue.d.ts +40 -0
  73. package/dist/types/platform-components/FileTransferUploader.vue.d.ts +1 -1
  74. package/dist/types/platform-components/FormulaExpressionEditor.vue.d.ts +54 -0
  75. package/dist/types/platform-components/ManagementExplorerColumn.vue.d.ts +15 -3
  76. package/dist/types/platform-components/ManagementPanelHeader.vue.d.ts +5 -3
  77. package/dist/types/platform-components/ManagementWorkspace.vue.d.ts +11 -0
  78. package/dist/types/platform-components/ModuleActionButton.vue.d.ts +3 -3
  79. package/dist/types/platform-components/ObjectPickerInput.vue.d.ts +34 -0
  80. package/dist/types/platform-components/QueryCriteriaComposer.vue.d.ts +29 -0
  81. package/dist/types/platform-components/QueryCriteriaGroupEditor.vue.d.ts +36 -0
  82. package/dist/types/platform-components/QueryGroupedSummary.vue.d.ts +21 -0
  83. package/dist/types/platform-components/QueryValueEditor.vue.d.ts +33 -0
  84. package/dist/types/platform-components/ReadonlyReferenceValue.vue.d.ts +11 -0
  85. package/dist/types/platform-components/RecordContentSectionHeading.vue.d.ts +4 -2
  86. package/dist/types/platform-components/RecordDetailDrawer.vue.d.ts +8 -3
  87. package/dist/types/platform-components/RecordDetailExtensionSection.vue.d.ts +9 -3
  88. package/dist/types/platform-components/RecordDetailFields.vue.d.ts +41 -4
  89. package/dist/types/platform-components/RecordDetailLayout.vue.d.ts +4 -1
  90. package/dist/types/platform-components/RecordDetailPanel.vue.d.ts +2 -0
  91. package/dist/types/platform-components/RecordExplorerCreateButton.vue.d.ts +16 -0
  92. package/dist/types/platform-components/RecordExplorerPanel.vue.d.ts +16 -5
  93. package/dist/types/platform-components/RecordFieldLabel.vue.d.ts +16 -0
  94. package/dist/types/platform-components/RecordFormFields.vue.d.ts +24 -5
  95. package/dist/types/platform-components/RecordFormGrid.vue.d.ts +24 -0
  96. package/dist/types/platform-components/RecordListExplorer.vue.d.ts +23 -1
  97. package/dist/types/platform-components/RecordModeDrawer.vue.d.ts +11 -3
  98. package/dist/types/platform-components/RecordMultiPicker.vue.d.ts +3 -3
  99. package/dist/types/platform-components/RecordPanelButton.vue.d.ts +9 -3
  100. package/dist/types/platform-components/RecordPermissionDialog.vue.d.ts +15 -0
  101. package/dist/types/platform-components/RecordPicker.vue.d.ts +3 -3
  102. package/dist/types/platform-components/RecordQueryEnumFilter.vue.d.ts +17 -0
  103. package/dist/types/platform-components/RecordQueryListCell.vue.d.ts +12 -0
  104. package/dist/types/platform-components/RecordQueryListPanel.vue.d.ts +120 -63
  105. package/dist/types/platform-components/RecordQueryListSurface.vue.d.ts +144 -0
  106. package/dist/types/platform-components/RecordRelationTable.vue.d.ts +62 -0
  107. package/dist/types/platform-components/RecordRelationValue.vue.d.ts +9 -0
  108. package/dist/types/platform-components/RecordStatusSwitch.vue.d.ts +3 -3
  109. package/dist/types/platform-components/ReferencePicker.vue.d.ts +47 -0
  110. package/dist/types/platform-components/ReferenceRecordDetailBrowser.vue.d.ts +55 -0
  111. package/dist/types/platform-components/ScopedTreePicker.vue.d.ts +31 -0
  112. package/dist/types/platform-components/StaticManagementLayout.vue.d.ts +2 -0
  113. package/dist/types/platform-components/TreeRecordExplorer.vue.d.ts +14 -3
  114. package/dist/types/platform-components/UserPicker.vue.d.ts +47 -0
  115. package/dist/types/platform-components/adaptiveHeaderActionLayout.d.ts +22 -0
  116. package/dist/types/platform-components/dictionaryOptionDialogModel.d.ts +23 -0
  117. package/dist/types/platform-components/employeePickerModel.d.ts +19 -0
  118. package/dist/types/platform-components/formulaExpressionTokens.d.ts +18 -0
  119. package/dist/types/platform-components/identityPickerModel.d.ts +18 -0
  120. package/dist/types/platform-components/index.d.ts +48 -2
  121. package/dist/types/platform-components/managementExplorerContext.d.ts +11 -0
  122. package/dist/types/platform-components/managementWorkspaceContext.d.ts +20 -0
  123. package/dist/types/platform-components/managementWorkspaceLayout.d.ts +14 -0
  124. package/dist/types/platform-components/optionFieldOptionCache.d.ts +1 -1
  125. package/dist/types/platform-components/queryCriteriaDraft.d.ts +24 -0
  126. package/dist/types/platform-components/queryReferencePickerProvider.d.ts +19 -0
  127. package/dist/types/platform-components/readonlyReferenceDisplay.d.ts +19 -0
  128. package/dist/types/platform-components/recordActionBarModel.d.ts +3 -0
  129. package/dist/types/platform-components/recordEditorSessionState.d.ts +11 -4
  130. package/dist/types/platform-components/recordFormFieldModel.d.ts +28 -2
  131. package/dist/types/platform-components/recordQueryListColumnModel.d.ts +44 -0
  132. package/dist/types/platform-components/referencePickerModel.d.ts +103 -0
  133. package/dist/types/platform-components/referencePickerReadError.d.ts +24 -0
  134. package/dist/types/platform-components/referenceRecordDetailBrowser.d.ts +48 -0
  135. package/dist/types/platform-components/scopedTreePickerModel.d.ts +46 -0
  136. package/dist/types/platform-components/selectionRefresh.d.ts +9 -0
  137. package/dist/types/platform-components/sortPartitionKey.d.ts +5 -0
  138. package/dist/types/platform-components/sourceReferencePickerProvider.d.ts +26 -0
  139. package/dist/types/platform-components/staticCrudManagementState.d.ts +7 -6
  140. package/dist/types/platform-components/userPickerModel.d.ts +45 -0
  141. package/dist/types/platform-components/userReferencePicker.d.ts +17 -0
  142. package/dist/types/platform-workbench/index.d.ts +2 -0
  143. package/dist/types/platform-workbench/useWorkspaceViewUnsavedState.d.ts +5 -0
  144. package/dist/types/platform-workbench/workbenchNavigation.d.ts +5 -1
  145. package/dist/types/platform-workbench/workspaceViewContract.d.ts +5 -0
  146. package/dist/types/platform-workbench/workspaceViewHost.d.ts +5 -0
  147. package/dist/types/platform-workbench/workspaceViewNavigation.d.ts +9 -0
  148. package/dist/types/platform-workbench/workspaceViewUnsavedState.d.ts +5 -0
  149. package/dist/types/views/BusinessActivityLogView.vue.d.ts +3 -0
  150. package/dist/types/views/BusinessLogListDrawer.vue.d.ts +9 -0
  151. package/dist/types/views/BusinessRuleGovernanceSurface.vue.d.ts +10 -0
  152. package/dist/types/views/LoginAuditLogView.vue.d.ts +3 -0
  153. package/dist/types/views/MetadataGovernanceSurface.vue.d.ts +8 -0
  154. package/dist/types/views/MetadataSourceTree.vue.d.ts +44 -0
  155. package/dist/types/views/ModuleBusinessPreview.vue.d.ts +7 -0
  156. package/dist/types/views/ModuleExperienceProfileOverview.vue.d.ts +7 -0
  157. package/dist/types/views/ModuleGovernanceView.vue.d.ts +9 -0
  158. package/dist/types/views/PageCompositionDescriptorPreview.vue.d.ts +54 -0
  159. package/dist/types/views/PageCompositionTree.vue.d.ts +103 -0
  160. package/dist/types/views/PageCompositionWorkspace.vue.d.ts +7 -0
  161. package/dist/types/views/PageQuerySummaryEditor.vue.d.ts +48 -0
  162. package/dist/types/views/RequestErrorLogView.vue.d.ts +3 -0
  163. package/dist/types/views/RuntimeLogView.vue.d.ts +3 -0
  164. package/dist/types/views/businessLogClient.d.ts +85 -0
  165. package/dist/types/views/businessRuleGovernance.d.ts +201 -0
  166. package/dist/types/views/dictionaryRadioEligibility.d.ts +18 -0
  167. package/dist/types/views/dictionaryRadioFactRequestEpoch.d.ts +10 -0
  168. package/dist/types/views/metadataModelEditSession.d.ts +84 -0
  169. package/dist/types/views/metadataModelTree.d.ts +40 -0
  170. package/dist/types/views/metadataNaming.d.ts +7 -0
  171. package/dist/types/views/metadataOrchestrationState.d.ts +161 -6
  172. package/dist/types/views/metadataSourceTree.d.ts +10 -0
  173. package/dist/types/views/moduleGovernanceWorkspaceView.d.ts +9 -0
  174. package/dist/types/views/pageCompositionDraftState.d.ts +404 -0
  175. package/dist/types/views/pageCompositionDragPayload.d.ts +26 -0
  176. package/dist/types/views/pageCompositionMode.d.ts +86 -0
  177. package/dist/types/views/pageCompositionPlacement.d.ts +48 -0
  178. package/dist/types/views/pageCompositionTransport.d.ts +9 -0
  179. package/dist/types/views/roleDetailWorkspaceSession.d.ts +1 -0
  180. package/dist/types/views/roleGrantClient.d.ts +0 -1
  181. package/dist/types/views/runtimeLogClient.d.ts +12 -0
  182. package/dist/types/views/runtimeLogSse.d.ts +13 -0
  183. package/dist/types/views/usePageCompositionActionPreviewDrag.d.ts +41 -0
  184. package/dist/types/views/usePageCompositionPreviewDrag.d.ts +48 -0
  185. package/dist/types/vue-ui-antdv/components/UiActionButton.vue.d.ts +2 -2
  186. package/dist/types/vue-ui-antdv/components/UiButton.vue.d.ts +6 -3
  187. package/dist/types/vue-ui-antdv/components/UiDataTable.vue.d.ts +20 -2
  188. package/dist/types/vue-ui-antdv/components/UiIcon.vue.d.ts +1 -1
  189. package/dist/types/vue-ui-antdv/components/UiPopover.vue.d.ts +22 -0
  190. package/dist/types/vue-ui-antdv/components/UiRecordExplorerItem.vue.d.ts +1 -1
  191. package/dist/types/vue-ui-antdv/components/UiSearchInput.vue.d.ts +16 -2
  192. package/dist/types/vue-ui-antdv/components/UiSelect.vue.d.ts +28 -2
  193. package/dist/types/vue-ui-antdv/components/UiSidePanel.vue.d.ts +9 -2
  194. package/dist/types/vue-ui-antdv/components/UiSwitch.vue.d.ts +1 -1
  195. package/dist/types/vue-ui-antdv/components/UiTextArea.vue.d.ts +38 -1
  196. package/dist/types/vue-ui-antdv/components/UiTokenInput.vue.d.ts +62 -0
  197. package/dist/types/vue-ui-antdv/components/UiTree.vue.d.ts +63 -9
  198. package/dist/types/vue-ui-antdv/components/UiTreeSelect.vue.d.ts +24 -2
  199. package/dist/types/vue-ui-antdv/drawerDismissal.d.ts +18 -0
  200. package/dist/types/vue-ui-antdv/drawerWidth.d.ts +22 -0
  201. package/dist/types/vue-ui-antdv/index.d.ts +10 -1
  202. package/dist/types/vue-ui-antdv/treeStructure.d.ts +18 -0
  203. package/dist/types/vue-ui-antdv/types.d.ts +64 -0
  204. package/dist/types/vue-ui-antdv/useTreeLoader.d.ts +21 -0
  205. package/dist/types/vue-ui-antdv/useTreeMotion.d.ts +9 -0
  206. package/dist/types/vue-ui-antdv/useUiTreeDrag.d.ts +32 -0
  207. package/dist/types/web-contracts/index.d.ts +132 -12
  208. package/dist/types/web-core/http.d.ts +2 -0
  209. package/dist/types/web-core/module/index.d.ts +1 -0
  210. package/dist/types/web-core/module/moduleContext.d.ts +29 -1
  211. package/dist/types/web-core/module/pageActionEntries.d.ts +21 -0
  212. package/dist/types/web-core/module/runtimeContext.d.ts +10 -5
  213. package/dist/types/web-core/module/staticModuleClient.d.ts +30 -3
  214. package/dist/workspaceViews-CCg6V0pr.js +3623 -0
  215. package/package.json +1 -1
  216. package/dist/MetadataOrchestrationView-F_Bmfn9K.js +0 -661
  217. package/dist/ModuleActionManagementView-Db_3Twom.js +0 -597
  218. package/dist/RoleDetailWorkspaceView-UOm1ejGH.js +0 -1369
  219. package/dist/platform-components-59b4qzUL.js +0 -12489
  220. package/dist/types/views/metadataOrchestrationWorkspaceView.d.ts +0 -6
  221. package/dist/workspaceViews-BvV8mpML.js +0 -11149
@@ -0,0 +1,7 @@
1
+ type __VLS_Props = {
2
+ moduleAlias: string;
3
+ moduleTitle?: string;
4
+ };
5
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
6
+ declare const _default: typeof __VLS_export;
7
+ export default _default;
@@ -0,0 +1,7 @@
1
+ type __VLS_Props = {
2
+ moduleAlias: string;
3
+ moduleTitle?: string;
4
+ };
5
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
6
+ declare const _default: typeof __VLS_export;
7
+ export default _default;
@@ -0,0 +1,9 @@
1
+ import { type ModuleGovernanceTab } from './moduleGovernanceWorkspaceView';
2
+ type __VLS_Props = {
3
+ moduleAlias: string;
4
+ moduleTitle?: string;
5
+ governanceTab?: ModuleGovernanceTab;
6
+ };
7
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
8
+ declare const _default: typeof __VLS_export;
9
+ export default _default;
@@ -0,0 +1,54 @@
1
+ import type { ModuleRuntimeAction } from '../web-core/index';
2
+ import type { ResolvedModuleUiDescriptor } from '../web-contracts/index';
3
+ import { type CompositionPlacementSource, type CompositionPlacementTarget, type PageCompositionStructure } from './pageCompositionPlacement';
4
+ import { type PageQuerySummary } from './pageCompositionDraftState';
5
+ import { type PageCompositionActionPlacement } from './pageCompositionMode';
6
+ type PreviewMode = 'list' | 'query' | 'detail' | 'edit';
7
+ type PreviewSlot = 'list' | 'form';
8
+ type __VLS_Props = {
9
+ descriptor: ResolvedModuleUiDescriptor;
10
+ moduleAlias: string;
11
+ mode: PreviewMode;
12
+ selectedFieldName?: string;
13
+ /** Allows the active preview surface to receive a compatible metadata payload. */
14
+ acceptExternalDrop?: boolean;
15
+ structure?: PageCompositionStructure;
16
+ placementDisabled?: boolean;
17
+ /** A failed async descriptor refresh must not leave its pre-drop layout on screen. */
18
+ placementCommitFailed?: boolean;
19
+ actionPlacements?: PageCompositionActionPlacement[];
20
+ actionFormMode?: 'create' | 'edit';
21
+ moduleActions?: ModuleRuntimeAction[];
22
+ querySummaries?: PageQuerySummary[];
23
+ };
24
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
25
+ selectField: (slot: PreviewSlot, fieldName: string) => any;
26
+ configureField: (slot: PreviewSlot, fieldName: string) => any;
27
+ configureRelationField: (relationCode: string, fieldName: string) => any;
28
+ configureAction: (anchor: "page" | "form" | "detail", actionCode: string) => any;
29
+ configureSummaries: () => any;
30
+ "placement-drop": (source: CompositionPlacementSource, target: CompositionPlacementTarget) => any;
31
+ "action-drop": (source: {
32
+ actionCode: string;
33
+ sourceAnchor?: "page" | "detail" | "form";
34
+ }, target: {
35
+ anchor: "page" | "detail" | "form";
36
+ index: number;
37
+ }) => any;
38
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
39
+ onSelectField?: ((slot: PreviewSlot, fieldName: string) => any) | undefined;
40
+ onConfigureField?: ((slot: PreviewSlot, fieldName: string) => any) | undefined;
41
+ onConfigureRelationField?: ((relationCode: string, fieldName: string) => any) | undefined;
42
+ onConfigureAction?: ((anchor: "page" | "form" | "detail", actionCode: string) => any) | undefined;
43
+ onConfigureSummaries?: (() => any) | undefined;
44
+ "onPlacement-drop"?: ((source: CompositionPlacementSource, target: CompositionPlacementTarget) => any) | undefined;
45
+ "onAction-drop"?: ((source: {
46
+ actionCode: string;
47
+ sourceAnchor?: "page" | "detail" | "form";
48
+ }, target: {
49
+ anchor: "page" | "detail" | "form";
50
+ index: number;
51
+ }) => any) | undefined;
52
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
53
+ declare const _default: typeof __VLS_export;
54
+ export default _default;
@@ -0,0 +1,103 @@
1
+ import { type CompositionSkeleton, type PageCompositionActionPlacement } from './pageCompositionMode';
2
+ import { type PageComposerFormItem, type PageComposerField, type PageComposerGroup, type PageComposerRelation, type PageQuerySummary } from './pageCompositionDraftState';
3
+ import { type PageCompositionDragPayload } from './pageCompositionDragPayload';
4
+ type __VLS_Props = {
5
+ skeleton?: CompositionSkeleton;
6
+ explorerTitle?: string;
7
+ searchableFieldIds?: string[];
8
+ quickSearchFields?: {
9
+ fieldName: string;
10
+ title: string;
11
+ }[];
12
+ querySummaries?: PageQuerySummary[];
13
+ summariesSupported?: boolean;
14
+ summaryDescriptions?: Record<string, string>;
15
+ summaryIssues?: Record<string, string>;
16
+ explorerSecondary?: string;
17
+ actionPlacements?: PageCompositionActionPlacement[];
18
+ moduleActions?: {
19
+ actionCode: string;
20
+ title?: string;
21
+ bindingPending?: boolean;
22
+ category?: string;
23
+ executorType?: string;
24
+ actionLevel?: 'LIST' | 'RECORD' | 'BATCH' | 'ANY' | 'DEFAULT';
25
+ }[];
26
+ editorMode?: 'fields' | 'actions';
27
+ listFields: PageComposerField[];
28
+ formFields: PageComposerField[];
29
+ formGroups: PageComposerGroup[];
30
+ formOrder?: PageComposerFormItem[];
31
+ formRelations: PageComposerRelation[];
32
+ selectedKey?: string;
33
+ disabled?: boolean;
34
+ };
35
+ type ComposerNodeAction = 'configure' | 'remove' | 'add-group' | 'toggle-visibility';
36
+ export type ComposerDropTarget = ({
37
+ kind: 'explorer-title' | 'explorer-secondary' | 'quick-search';
38
+ } | {
39
+ kind: 'list';
40
+ } | {
41
+ kind: 'form';
42
+ } | {
43
+ kind: 'group';
44
+ groupId: string;
45
+ } | {
46
+ kind: 'relation';
47
+ relationId: string;
48
+ } | {
49
+ kind: 'action-anchor';
50
+ anchor: PageCompositionActionPlacement['anchor'];
51
+ }) & {
52
+ index?: number;
53
+ };
54
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
55
+ select: (key: string) => any;
56
+ "double-click": (key: string) => any;
57
+ "action-drop": (source: {
58
+ actionCode: string;
59
+ sourceAnchor?: PageCompositionActionPlacement["anchor"];
60
+ }, target: {
61
+ anchor: PageCompositionActionPlacement["anchor"];
62
+ index: number;
63
+ }) => any;
64
+ "node-action": (action: ComposerNodeAction, key: string) => any;
65
+ "reorder-list-field": (fieldId: string, targetIndex: number) => any;
66
+ "reorder-form-field": (fieldId: string, targetIndex: number) => any;
67
+ "move-form-field-to-group": (fieldId: string, groupId: string, targetIndex: number) => any;
68
+ "move-group-field-to-form": (groupId: string, fieldId: string, targetIndex: number) => any;
69
+ "reorder-group-field": (groupId: string, fieldId: string, targetIndex: number) => any;
70
+ "move-group-field-to-group": (sourceGroupId: string, fieldId: string, targetGroupId: string, targetIndex: number) => any;
71
+ "reorder-group": (groupId: string, targetIndex: number) => any;
72
+ "reorder-relation-field": (relationId: string, fieldId: string, targetIndex: number) => any;
73
+ "reorder-query-summary": (summaryKey: string, targetIndex: number) => any;
74
+ "source-drop": (target: ComposerDropTarget, payload: PageCompositionDragPayload) => any;
75
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
76
+ onSelect?: ((key: string) => any) | undefined;
77
+ "onDouble-click"?: ((key: string) => any) | undefined;
78
+ "onAction-drop"?: ((source: {
79
+ actionCode: string;
80
+ sourceAnchor?: PageCompositionActionPlacement["anchor"];
81
+ }, target: {
82
+ anchor: PageCompositionActionPlacement["anchor"];
83
+ index: number;
84
+ }) => any) | undefined;
85
+ "onNode-action"?: ((action: ComposerNodeAction, key: string) => any) | undefined;
86
+ "onReorder-list-field"?: ((fieldId: string, targetIndex: number) => any) | undefined;
87
+ "onReorder-form-field"?: ((fieldId: string, targetIndex: number) => any) | undefined;
88
+ "onMove-form-field-to-group"?: ((fieldId: string, groupId: string, targetIndex: number) => any) | undefined;
89
+ "onMove-group-field-to-form"?: ((groupId: string, fieldId: string, targetIndex: number) => any) | undefined;
90
+ "onReorder-group-field"?: ((groupId: string, fieldId: string, targetIndex: number) => any) | undefined;
91
+ "onMove-group-field-to-group"?: ((sourceGroupId: string, fieldId: string, targetGroupId: string, targetIndex: number) => any) | undefined;
92
+ "onReorder-group"?: ((groupId: string, targetIndex: number) => any) | undefined;
93
+ "onReorder-relation-field"?: ((relationId: string, fieldId: string, targetIndex: number) => any) | undefined;
94
+ "onReorder-query-summary"?: ((summaryKey: string, targetIndex: number) => any) | undefined;
95
+ "onSource-drop"?: ((target: ComposerDropTarget, payload: PageCompositionDragPayload) => any) | undefined;
96
+ }>, {
97
+ disabled: boolean;
98
+ selectedKey: string;
99
+ editorMode: "fields" | "actions";
100
+ formOrder: PageComposerFormItem[];
101
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
102
+ declare const _default: typeof __VLS_export;
103
+ export default _default;
@@ -0,0 +1,7 @@
1
+ type __VLS_Props = {
2
+ moduleAlias: string;
3
+ moduleTitle?: string;
4
+ };
5
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
6
+ declare const _default: typeof __VLS_export;
7
+ export default _default;
@@ -0,0 +1,48 @@
1
+ import type { PageQuerySummary, PageQuerySummarySource } from './pageCompositionDraftState';
2
+ export interface PageQuerySummaryEditorIssues {
3
+ source?: string;
4
+ fieldName?: string;
5
+ contributorKey?: string;
6
+ groupByField?: string;
7
+ label?: string;
8
+ }
9
+ type __VLS_Props = {
10
+ summaries: PageQuerySummary[];
11
+ catalog?: {
12
+ fields?: Array<{
13
+ fieldName: string;
14
+ title: string;
15
+ }>;
16
+ contributors?: Array<{
17
+ contributorKey: string;
18
+ title: string;
19
+ }>;
20
+ groupFields?: Array<{
21
+ fieldName: string;
22
+ title: string;
23
+ kind: 'OPTION' | 'REFERENCE';
24
+ }>;
25
+ };
26
+ loading?: boolean;
27
+ error?: string;
28
+ disabled?: boolean;
29
+ selectedKey?: string;
30
+ focusRequest?: number;
31
+ issues?: Record<string, PageQuerySummaryEditorIssues>;
32
+ descriptions?: Record<string, string>;
33
+ };
34
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
35
+ move: (index: number, offset: number) => any;
36
+ add: (source: PageQuerySummarySource) => any;
37
+ remove: (index: number) => any;
38
+ update: (index: number, patch: Partial<PageQuerySummary>) => any;
39
+ retry: () => any;
40
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
41
+ onMove?: ((index: number, offset: number) => any) | undefined;
42
+ onAdd?: ((source: PageQuerySummarySource) => any) | undefined;
43
+ onRemove?: ((index: number) => any) | undefined;
44
+ onUpdate?: ((index: number, patch: Partial<PageQuerySummary>) => any) | undefined;
45
+ onRetry?: (() => any) | undefined;
46
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
47
+ declare const _default: typeof __VLS_export;
48
+ export default _default;
@@ -0,0 +1,3 @@
1
+ declare const __VLS_export: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
2
+ declare const _default: typeof __VLS_export;
3
+ export default _default;
@@ -0,0 +1,3 @@
1
+ declare const __VLS_export: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
2
+ declare const _default: typeof __VLS_export;
3
+ export default _default;
@@ -0,0 +1,85 @@
1
+ import type { HttpClient } from '../web-core/index';
2
+ import type { WebQueryRequest } from '../web-contracts/index';
3
+ export type BusinessLogSurface = 'activity' | 'request-error' | 'login';
4
+ export interface BusinessLogOperatorIdentity {
5
+ employeeName?: string;
6
+ username?: string;
7
+ organizationId?: string;
8
+ organizationName?: string;
9
+ departmentId?: string;
10
+ departmentName?: string;
11
+ }
12
+ export interface BusinessLogEventView {
13
+ eventId: string;
14
+ eventType: string;
15
+ occurredAt?: string;
16
+ capturedAt?: string;
17
+ traceId?: string;
18
+ tenantId?: string;
19
+ operatorId?: string;
20
+ operatorOrganizationId?: string;
21
+ operatorIdentity?: BusinessLogOperatorIdentity;
22
+ moduleAlias?: string;
23
+ actionCode?: string;
24
+ outcome?: string;
25
+ /** The authentication account, independent from the event's authenticated operator identity. */
26
+ loginAccount?: string;
27
+ summary?: string;
28
+ details?: Record<string, unknown>;
29
+ [key: string]: unknown;
30
+ }
31
+ export interface BusinessLogStatisticItem {
32
+ key: string;
33
+ title: string;
34
+ count: number;
35
+ [key: string]: unknown;
36
+ }
37
+ export interface BusinessLogStatistics {
38
+ items: BusinessLogStatisticItem[];
39
+ complete?: boolean;
40
+ }
41
+ export interface BusinessLogOperatorCandidate {
42
+ id: string;
43
+ title: string;
44
+ account?: string;
45
+ employeeName?: string;
46
+ organizationId?: string;
47
+ organizationName?: string;
48
+ departmentId?: string;
49
+ departmentName?: string;
50
+ }
51
+ export interface BusinessLogOperatorNavigationItem {
52
+ id: string;
53
+ title: string;
54
+ tenantId?: string;
55
+ organizationId?: string;
56
+ }
57
+ export interface BusinessLogOperatorNavigation {
58
+ showTenantNavigation: boolean;
59
+ tenants: BusinessLogOperatorNavigationItem[];
60
+ organizations: BusinessLogOperatorNavigationItem[];
61
+ departments: BusinessLogOperatorNavigationItem[];
62
+ }
63
+ export interface BusinessLogOperatorCandidateQuery {
64
+ keyword?: string;
65
+ pageNum?: number;
66
+ pageSize?: number;
67
+ selectedIds?: string[];
68
+ tenantId?: string;
69
+ organizationId?: string;
70
+ departmentId?: string;
71
+ }
72
+ export interface BusinessLogOperatorCandidatePage {
73
+ records: BusinessLogOperatorCandidate[];
74
+ selectedRecords: BusinessLogOperatorCandidate[];
75
+ total: number;
76
+ navigation?: BusinessLogOperatorNavigation;
77
+ }
78
+ export interface BusinessLogClient {
79
+ detail(eventId: string): Promise<BusinessLogEventView>;
80
+ operatorCandidates(input: BusinessLogOperatorCandidateQuery): Promise<BusinessLogOperatorCandidatePage>;
81
+ actionStatistics?(request: WebQueryRequest): Promise<BusinessLogStatistics>;
82
+ pageAccessStatistics?(request: WebQueryRequest): Promise<BusinessLogStatistics>;
83
+ diagnostic?(eventId: string): Promise<Record<string, unknown>>;
84
+ }
85
+ export declare function createBusinessLogClient(http: HttpClient, surface: BusinessLogSurface): BusinessLogClient;
@@ -0,0 +1,201 @@
1
+ export type BusinessRuleKind = 'CALCULATION' | 'VALIDATION' | 'UI_CONTROL';
2
+ export interface BusinessRuleEditableField {
3
+ fieldName: string;
4
+ title: string;
5
+ fieldSpecAlias: string;
6
+ valueType: string;
7
+ /** Direct child fields declare the aggregate functions that can consume them. */
8
+ aggregateFunctions?: string[];
9
+ }
10
+ /**
11
+ * The page-reference-fields response is deliberately a small, UI-neutral catalogue. Formula
12
+ * governance consumes it as a source directory; it does not treat it as a save-time authority.
13
+ */
14
+ export interface BusinessRuleReferenceField {
15
+ id: string;
16
+ name: string;
17
+ label?: string;
18
+ valueType: string;
19
+ referenceModuleAlias?: string;
20
+ referenceCardinality?: string;
21
+ expandable?: boolean;
22
+ readOnly?: boolean;
23
+ systemManaged?: boolean;
24
+ value?: unknown;
25
+ /** Additive catalogue metadata; absent means use the stable conservative fallback below. */
26
+ formulaReadable?: boolean;
27
+ formulaDisabledReason?: string;
28
+ /** Direct child fields declare the aggregate functions that can consume them. */
29
+ aggregateFunctions?: string[];
30
+ }
31
+ export interface BusinessRuleFormulaParameter {
32
+ name: string;
33
+ description: string;
34
+ }
35
+ /** A portable formula capability. A server catalogue can replace this list without changing the surface. */
36
+ export interface BusinessRuleFormulaCapability {
37
+ id: string;
38
+ label: string;
39
+ purpose: string;
40
+ /** Explains the business problem the formula solves before showing its example. */
41
+ description: string;
42
+ category: string;
43
+ signature: string;
44
+ parameters: BusinessRuleFormulaParameter[];
45
+ returnType: string;
46
+ example: string;
47
+ insertion: string;
48
+ firstParameterSelection: {
49
+ start: number;
50
+ end: number;
51
+ };
52
+ }
53
+ /** The additive backend catalogue shape. UI-only insertion details remain derived from the portable name. */
54
+ export interface BusinessRuleFormulaCatalogEntry {
55
+ name: string;
56
+ category?: string;
57
+ title?: string;
58
+ description?: string;
59
+ parameters?: BusinessRuleFormulaParameter[];
60
+ returnType?: string;
61
+ example?: string;
62
+ }
63
+ export declare const portableFormulaCapabilities: readonly BusinessRuleFormulaCapability[];
64
+ export declare function normalizeFormulaCapabilities(entries: readonly (BusinessRuleFormulaCapability | BusinessRuleFormulaCatalogEntry)[] | undefined): BusinessRuleFormulaCapability[];
65
+ export declare function searchableFormulaCapabilities(capabilities: readonly BusinessRuleFormulaCapability[], keyword: string): BusinessRuleFormulaCapability[];
66
+ /** Root fields that cannot safely become scalar formula input have a visible, deterministic reason. */
67
+ export declare function formulaFieldUnusableReason(field: BusinessRuleReferenceField): string | undefined;
68
+ /**
69
+ * Prevents a child field from being inserted as a scalar or into an aggregate whose value type
70
+ * cannot consume it. The server remains authoritative; this only keeps authoring feedback close
71
+ * to the attempted insertion.
72
+ */
73
+ export declare function aggregateFieldInsertionReason(field: BusinessRuleReferenceField, expression: string, selectionStart: number): string | undefined;
74
+ export interface UiControlTarget {
75
+ elementKey: string;
76
+ hide: boolean;
77
+ readOnly: boolean;
78
+ }
79
+ export interface UiControlForm {
80
+ key: string;
81
+ title: string;
82
+ elements: Array<{
83
+ key: string;
84
+ label: string;
85
+ }>;
86
+ }
87
+ export interface UiControlSnapshot {
88
+ baselineFingerprint: string;
89
+ rules: Array<{
90
+ code: string;
91
+ formKey: string;
92
+ expression: string;
93
+ enabled: boolean;
94
+ targets: UiControlTarget[];
95
+ }>;
96
+ forms: UiControlForm[];
97
+ }
98
+ export interface BusinessRuleSnapshotRule {
99
+ formKey?: string;
100
+ targets?: UiControlTarget[];
101
+ code: string;
102
+ kind: BusinessRuleKind | string;
103
+ phase: string;
104
+ targetField?: string;
105
+ expression: string;
106
+ enabled: boolean;
107
+ severity?: string;
108
+ messageTemplate?: string;
109
+ stopOnError?: boolean;
110
+ editable: boolean;
111
+ readOnlyReason?: string;
112
+ }
113
+ export interface BusinessRuleSnapshot {
114
+ moduleAlias: string;
115
+ baselineFingerprint: string;
116
+ editableFields: BusinessRuleEditableField[];
117
+ /** Already authorised referenced paths used by the persisted snapshot. These are read-only trial facts. */
118
+ referenceFields?: Array<{
119
+ path: string;
120
+ title: string;
121
+ valueType: string;
122
+ }>;
123
+ /** Direct child fields, which may only appear within a child aggregation function. */
124
+ aggregateFields?: BusinessRuleEditableField[];
125
+ /** Additive portable function directory emitted by the server. */
126
+ functions?: BusinessRuleFormulaCatalogEntry[];
127
+ rules: BusinessRuleSnapshotRule[];
128
+ }
129
+ export interface BusinessRuleProposal {
130
+ formKey?: string;
131
+ targets?: UiControlTarget[];
132
+ code: string;
133
+ kind: BusinessRuleKind;
134
+ targetField?: string;
135
+ expression: string;
136
+ enabled: boolean;
137
+ messageTemplate?: string;
138
+ }
139
+ export interface BusinessRuleIssue {
140
+ code: string;
141
+ ruleCode?: string;
142
+ field?: string;
143
+ message: string;
144
+ }
145
+ export interface BusinessRulePreview {
146
+ snapshot: BusinessRuleSnapshot;
147
+ proposalFingerprint: string;
148
+ executionOrder: string[];
149
+ errors: BusinessRuleIssue[];
150
+ }
151
+ export interface BusinessRuleTrialResult {
152
+ preview: BusinessRulePreview;
153
+ values: Record<string, unknown>;
154
+ changedFields: string[];
155
+ errors: BusinessRuleIssue[];
156
+ }
157
+ export interface BusinessRuleApplyResult {
158
+ snapshot: BusinessRuleSnapshot;
159
+ preview: BusinessRulePreview;
160
+ activatedModules: string[];
161
+ }
162
+ export interface FormulaInsertion {
163
+ value: string;
164
+ selectionStart: number;
165
+ selectionEnd: number;
166
+ }
167
+ export interface BusinessRuleChangeImpact {
168
+ added: BusinessRuleProposal[];
169
+ modified: BusinessRuleProposal[];
170
+ deleted: BusinessRuleProposal[];
171
+ }
172
+ export interface BusinessRuleFormulaTemplate {
173
+ id: string;
174
+ label: string;
175
+ expression: string;
176
+ help: string;
177
+ }
178
+ export declare function editableProposals(snapshot: BusinessRuleSnapshot): BusinessRuleProposal[];
179
+ export declare function readonlyRules(snapshot: BusinessRuleSnapshot): BusinessRuleSnapshotRule[];
180
+ export declare function toProposal(rule: Pick<BusinessRuleSnapshotRule, keyof BusinessRuleProposal>): BusinessRuleProposal;
181
+ export declare function newBusinessRule(kind: BusinessRuleKind, existingRules: readonly Pick<BusinessRuleProposal, 'code'>[]): BusinessRuleProposal;
182
+ export declare function isBusinessRuleKind(value: string): value is BusinessRuleKind;
183
+ export declare function proposalFingerprintOf(proposals: readonly BusinessRuleProposal[]): string;
184
+ export declare function typedSampleValue(value: string, valueType: string): unknown;
185
+ /**
186
+ * Inserts formula text at the active selection. The returned selection keeps the editor focused
187
+ * immediately after the inserted text, including when a selected range was replaced.
188
+ */
189
+ export declare function insertFormulaText(expression: string, selectionStart: number | undefined, selectionEnd: number | undefined, text: string): FormulaInsertion;
190
+ /** Reads only real field tokens; references inside string literals are formula text, not dependencies. */
191
+ export declare function referencedFormulaFields(expression: string): string[];
192
+ /** Replaces only executable field tokens with their business names for read-only UI summaries. */
193
+ export declare function presentableFormulaExpression(expression: string, fields: readonly BusinessRuleEditableField[]): string;
194
+ /**
195
+ * Trial inputs are the real external dependencies of all enabled rules. Targets produced by an
196
+ * enabled calculation are intentionally omitted, including targets referenced by a later rule.
197
+ */
198
+ export declare function externalTrialInputFields(fields: readonly BusinessRuleEditableField[], rules: readonly BusinessRuleProposal[]): BusinessRuleEditableField[];
199
+ export declare function filterBusinessRuleFields(fields: readonly BusinessRuleEditableField[], keyword: string): BusinessRuleEditableField[];
200
+ export declare function formulaTemplates(kind: BusinessRuleKind, fields: readonly BusinessRuleEditableField[], targetField?: string): BusinessRuleFormulaTemplate[];
201
+ export declare function businessRuleChangeImpact(snapshot: BusinessRuleSnapshot, proposals: readonly BusinessRuleProposal[]): BusinessRuleChangeImpact;
@@ -0,0 +1,18 @@
1
+ /** Facts loaded from the dictionary candidate endpoint for radio presentation preflight. */
2
+ export interface DictionaryRadioCandidateFacts {
3
+ enabledCandidateCount: number;
4
+ hasHierarchy: boolean;
5
+ }
6
+ export interface DictionaryRadioEligibilityInput {
7
+ optionSourceType?: string;
8
+ optionSelectionMode?: 'SINGLE' | 'MULTIPLE';
9
+ facts?: DictionaryRadioCandidateFacts;
10
+ loadError?: string;
11
+ maxOptions: number;
12
+ }
13
+ /**
14
+ * Radio is a presentation choice over a single, flat and small dictionary. Keep this decision
15
+ * independent from the composer view so selected-field hints, preview guards and publish guards
16
+ * all enforce the same rule.
17
+ */
18
+ export declare function dictionaryRadioEligibilityIssue(input: DictionaryRadioEligibilityInput): string | undefined;
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Guards asynchronous candidate reads while a kept-alive composer reloads its metadata directory.
3
+ * A field name is stable across a dictionary rebind, so the directory generation—not the name—is
4
+ * the authority for whether an in-flight response may still update radio eligibility.
5
+ */
6
+ export declare function createDictionaryRadioFactRequestEpoch(): {
7
+ invalidate(): void;
8
+ capture(): number;
9
+ isCurrent(capturedGeneration: number): boolean;
10
+ };
@@ -0,0 +1,84 @@
1
+ import type { MetadataField, ModuleMetadataRelation } from '../web-contracts/index';
2
+ import { type MetadataFieldPropertyDraft, type MetadataFieldPropertySummary } from './metadataOrchestrationState';
3
+ export type MetadataFieldGovernanceKind = 'BUSINESS' | 'CAPABILITY_DERIVED' | 'PLATFORM_SYSTEM' | 'RELATION_FOREIGN_KEY';
4
+ export interface MetadataFieldChangeSetDraft {
5
+ operation: 'ADD' | 'UPDATE' | 'DELETE';
6
+ fieldId?: string;
7
+ expectedFieldVersion?: number;
8
+ field?: MetadataField;
9
+ /** JSON-facing command contract; projection mappings remain an ordered string array. */
10
+ property?: MetadataFieldPropertyChangeSetPayload;
11
+ }
12
+ /**
13
+ * The editor uses stable upper-case cardinality labels, while the public HTTP contract for
14
+ * CodeTitleEnum writes their lower-case codes. Keep that translation at the change-set boundary
15
+ * rather than leaking transport values into the editor and form renderer.
16
+ */
17
+ export type MetadataFieldPropertyChangeSetPayload = Omit<MetadataFieldPropertyDraft, 'dictionaryConfig'> & {
18
+ dictionaryConfig?: Omit<NonNullable<MetadataFieldPropertyDraft['dictionaryConfig']>, 'selectionMode'> & {
19
+ selectionMode?: 'single' | 'multiple';
20
+ };
21
+ };
22
+ export declare function toFieldPropertyChangeSetPayload(property: MetadataFieldPropertyDraft): MetadataFieldPropertyChangeSetPayload;
23
+ export interface MetadataRelationChangeSetProposal {
24
+ expectedMetadataVersion: number;
25
+ fieldDrafts: MetadataFieldChangeSetDraft[];
26
+ }
27
+ /** Input facts are loaded for every node before a module-wide edit session begins. */
28
+ export interface MetadataModelRelationDraftSource {
29
+ relationId: string;
30
+ metadataId: string;
31
+ parentMetadataId?: string;
32
+ sortOrder?: number;
33
+ expectedMetadataVersion: number;
34
+ fields: MetadataField[];
35
+ /** The server's sortable set; definition protection does not restrict display ordering. */
36
+ sortableFieldIds?: string[];
37
+ fieldProperties?: MetadataFieldPropertySummary[];
38
+ }
39
+ export interface MetadataModelRelationDraft {
40
+ metadataId: string;
41
+ relationId: string;
42
+ expectedMetadataVersion: number;
43
+ fields: Record<string, MetadataField>;
44
+ fieldProperties: Record<string, MetadataFieldPropertyDraft>;
45
+ parentMetadataId?: string;
46
+ fieldOrder: string[];
47
+ sortableFieldIds: string[];
48
+ }
49
+ export interface MetadataModelChangeSetProposal {
50
+ relationDrafts: Array<MetadataRelationChangeSetProposal & {
51
+ relationId: string;
52
+ }>;
53
+ relationOrders: Array<{
54
+ parentMetadataId?: string;
55
+ relationIds: string[];
56
+ }>;
57
+ fieldOrders: Array<{
58
+ relationId: string;
59
+ fieldIds: string[];
60
+ }>;
61
+ }
62
+ /**
63
+ * A single local session for the entire visible metadata model. It deliberately reuses the
64
+ * relation-level field proposal shape: the module façade owns atomic validation/persistence while
65
+ * this class keeps every tree action local until the user chooses one publish operation.
66
+ */
67
+ export declare function createMetadataModelWorkspaceEditSession(): {
68
+ draft: import("vue").Ref<Record<string, MetadataModelRelationDraft> | undefined, Record<string, MetadataModelRelationDraft> | undefined>;
69
+ relationOrder: import("vue").Ref<Record<string, string[]>, Record<string, string[]>>;
70
+ editing: import("vue").ComputedRef<boolean>;
71
+ isDirty: import("vue").ComputedRef<boolean>;
72
+ begin: (sources: MetadataModelRelationDraftSource[]) => void;
73
+ cancel: () => void;
74
+ relation: (relationId: string) => MetadataModelRelationDraft | undefined;
75
+ fieldsForDisplay: (relationId: string, fallback: MetadataField[]) => MetadataField[];
76
+ propertyForField: (relationId: string, field: MetadataField) => MetadataFieldPropertyDraft;
77
+ stageField: (relationId: string, field: MetadataField, property?: MetadataFieldPropertyDraft, replaceNewFieldKey?: string) => void;
78
+ stageFieldOrder: (relationId: string, fieldIds: string[]) => void;
79
+ stageRelationOrder: (parentMetadataId: string | undefined, relationIds: string[]) => void;
80
+ buildProposal: () => MetadataModelChangeSetProposal | undefined;
81
+ };
82
+ export declare function metadataFieldGovernanceKind(field: MetadataField, relation: ModuleMetadataRelation | undefined, capabilityFieldNames: ReadonlySet<string>): MetadataFieldGovernanceKind;
83
+ export declare function metadataFieldGovernanceLabel(kind: MetadataFieldGovernanceKind): string;
84
+ export declare function isSessionEditableMetadataField(field: MetadataField, relation: ModuleMetadataRelation | undefined, capabilityFieldNames: ReadonlySet<string>): boolean;