@ximatai/muyun-web-app 0.26.20 → 0.26.22

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 (37) hide show
  1. package/dist/{BusinessActivityLogView-BpcmlT8u.js → BusinessActivityLogView-CXBpVbZW.js} +2 -2
  2. package/dist/{BusinessLogListDrawer-C3EteOgv.js → BusinessLogListDrawer-DToyqP9V.js} +1 -1
  3. package/dist/{CodeConfigurationView-CxqzINb9.js → CodeConfigurationView-DAdbnF2Y.js} +3 -3
  4. package/dist/{ConfigurationTranslationView-QUeVtdcE.js → ConfigurationTranslationView-D1aLZQlx.js} +1 -1
  5. package/dist/{LoginAuditLogView-Cd699_OD.js → LoginAuditLogView-DRxp6BbU.js} +2 -2
  6. package/dist/{ModuleActionManagementView-Ct1PqAXF.js → ModuleActionManagementView-D4oXCnW2.js} +2 -2
  7. package/dist/{ModuleGovernanceView-CjKt6ryi.js → ModuleGovernanceView-C7V5KQcA.js} +2064 -2056
  8. package/dist/{RequestErrorLogView-B9sIOhWs.js → RequestErrorLogView-S6O4ha82.js} +2 -2
  9. package/dist/{RoleDetailWorkspaceView-BnBL_Ihe.js → RoleDetailWorkspaceView-lg4XwTlN.js} +3 -3
  10. package/dist/{RuntimeLogView-CjV223Pk.js → RuntimeLogView-BuF-xgEc.js} +1 -1
  11. package/dist/{WorkflowAdministrationView-C2jgy4N4.js → WorkflowAdministrationView-DkK3Wybi.js} +2 -2
  12. package/dist/{WorkflowConfigurationView-CNXwdgUP.js → WorkflowConfigurationView-8DFNdIyI.js} +3 -3
  13. package/dist/{WorkflowWorkbenchView-DdJOTmtG.js → WorkflowWorkbenchView-CAloU49z.js} +2 -2
  14. package/dist/{codeConfiguration-pvXI4qaR.js → codeConfiguration-BV9yki1E.js} +3 -3
  15. package/dist/index.css +1 -1
  16. package/dist/index.js +9 -9
  17. package/dist/{moduleMenuWorkspace-D8ih_X-m.js → moduleMenuWorkspace-BBOQrHeT.js} +2 -2
  18. package/dist/{platform-components-DlKD3nyL.js → platform-components-C9cG_1E2.js} +1099 -1074
  19. package/dist/{platform-workbench-D5w7Odpt.js → platform-workbench-BSTroBaq.js} +4855 -4816
  20. package/dist/types/dynamic-page-runtime/ModulePageBusinessSession.d.ts +6 -0
  21. package/dist/types/dynamic-page-runtime/ModulePageHostRuntime.vue.d.ts +24 -26
  22. package/dist/types/dynamic-page-runtime/ModulePageRecordContent.vue.d.ts +4 -0
  23. package/dist/types/dynamic-page-runtime/ModulePageTenantNavigator.vue.d.ts +8 -0
  24. package/dist/types/dynamic-page-runtime/ModuleRecordDetailActions.vue.d.ts +2 -0
  25. package/dist/types/dynamic-page-runtime/RecordFormSurface.vue.d.ts +3 -0
  26. package/dist/types/dynamic-page-runtime/recordSaveFeedback.d.ts +5 -0
  27. package/dist/types/dynamic-page-runtime/useModulePageSession.d.ts +3 -0
  28. package/dist/types/dynamic-page-runtime/useTenantScopeController.d.ts +1 -0
  29. package/dist/types/platform-components/RecordFormFields.vue.d.ts +13 -8
  30. package/dist/types/platform-components/useBusinessCodeForm.d.ts +1 -0
  31. package/dist/types/platform-workbench/useAssistantConversation.d.ts +3 -0
  32. package/dist/types/views/metadataChangeSetSubmission.d.ts +3 -0
  33. package/dist/types/views/metadataModelChangeSetClient.d.ts +7 -1
  34. package/dist/types/web-contracts/operation.d.ts +2 -0
  35. package/dist/{useWorkflowConfigurationContext-B6Wdt26l.js → useWorkflowConfigurationContext-ClwD0BWE.js} +2 -2
  36. package/dist/{workspaceViews-B9wsCYdy.js → workspaceViews-Cvi7uakV.js} +9 -9
  37. package/package.json +1 -1
@@ -308,6 +308,8 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
308
308
  bindNavigatorQueryController: (levelKey: string, controller: import("../platform-components/index").RecordQueryListQueryController | import("../platform-components/index").RecordTreeQueryController | undefined) => void;
309
309
  bindTreeQueryController: (controller: import("../platform-components/index").RecordTreeQueryController | undefined) => void;
310
310
  formValidationRequestKey: number;
311
+ mainFormPending: boolean;
312
+ recordSaveError: import("../web-core").AppError | undefined;
311
313
  referencePickerConfigs: Record<string, import("../platform-components/index").RecordFormFieldPickerConfig>;
312
314
  runtimeUiDescriptor: import("../web-contracts").ResolvedModuleUiDescriptor | undefined;
313
315
  executableDetailRelations: import("../web-contracts").ResolvedDetailRelationDescriptor[];
@@ -320,6 +322,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
320
322
  formFieldPolicies: import("./modulePageEnhancements").ModulePageFormFieldPolicy[];
321
323
  updateMainFormValidity: (validity: {
322
324
  valid: boolean;
325
+ pending?: boolean;
323
326
  }) => void;
324
327
  updateEmbeddedChildren: (relationField: string, records: QueryListRecord[], displayRecords?: QueryListRecord[], options?: Record<string, import("../web-contracts").OptionItemDescriptor[]>) => void;
325
328
  updateRelationDraftValidity: (valid: boolean) => void;
@@ -1100,6 +1103,8 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
1100
1103
  bindNavigatorQueryController: (levelKey: string, controller: import("../platform-components/index").RecordQueryListQueryController | import("../platform-components/index").RecordTreeQueryController | undefined) => void;
1101
1104
  bindTreeQueryController: (controller: import("../platform-components/index").RecordTreeQueryController | undefined) => void;
1102
1105
  formValidationRequestKey: number;
1106
+ mainFormPending: boolean;
1107
+ recordSaveError: import("../web-core").AppError | undefined;
1103
1108
  referencePickerConfigs: Record<string, import("../platform-components/index").RecordFormFieldPickerConfig>;
1104
1109
  runtimeUiDescriptor: import("../web-contracts").ResolvedModuleUiDescriptor | undefined;
1105
1110
  executableDetailRelations: import("../web-contracts").ResolvedDetailRelationDescriptor[];
@@ -1112,6 +1117,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
1112
1117
  formFieldPolicies: import("./modulePageEnhancements").ModulePageFormFieldPolicy[];
1113
1118
  updateMainFormValidity: (validity: {
1114
1119
  valid: boolean;
1120
+ pending?: boolean;
1115
1121
  }) => void;
1116
1122
  updateEmbeddedChildren: (relationField: string, records: QueryListRecord[], displayRecords?: QueryListRecord[], options?: Record<string, import("../web-contracts").OptionItemDescriptor[]>) => void;
1117
1123
  updateRelationDraftValidity: (valid: boolean) => void;
@@ -22,11 +22,6 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
22
22
  tenantScopeExplorerVisible: import("vue").ComputedRef<boolean>;
23
23
  tenantScopeExplorerCount: import("vue").ComputedRef<0 | 1>;
24
24
  tenantScopeContext: import("vue").ShallowRef<import("../web-core/index").ModuleContext<QueryListRecord> | undefined, import("../web-core/index").ModuleContext<QueryListRecord> | undefined>;
25
- tenantScopeId: import("vue").ComputedRef<string>;
26
- tenantScopeReloadKey: import("vue").Ref<number, number>;
27
- tenantSwitchBlocked: import("vue").Ref<boolean, boolean>;
28
- handleTenantScopeLoaded: (records: QueryListRecord[], initialFullResult?: boolean, total?: number) => void;
29
- changeTenantScope: (record: QueryListRecord | undefined) => void;
30
25
  props: import("vue").WritableComputedRef<import("./useModulePageSession").ModulePageSessionProps, import("./useModulePageSession").ModulePageSessionProps>;
31
26
  runtimePageResolved: import("vue").WritableComputedRef<boolean, boolean>;
32
27
  runtimePage: import("vue").WritableComputedRef<import("../web-contracts/index.ts").ResolvedModulePageDescriptor | undefined, import("../web-contracts/index.ts").ResolvedModulePageDescriptor | undefined>;
@@ -447,6 +442,8 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
447
442
  bindNavigatorQueryController: import("vue").WritableComputedRef<(levelKey: string, controller: import("../platform-components/index").RecordQueryListQueryController | import("../platform-components/index").RecordTreeQueryController | undefined) => void, (levelKey: string, controller: import("../platform-components/index").RecordQueryListQueryController | import("../platform-components/index").RecordTreeQueryController | undefined) => void>;
448
443
  bindTreeQueryController: import("vue").WritableComputedRef<(controller: import("../platform-components/index").RecordTreeQueryController | undefined) => void, (controller: import("../platform-components/index").RecordTreeQueryController | undefined) => void>;
449
444
  formValidationRequestKey: import("vue").WritableComputedRef<number, number>;
445
+ mainFormPending: import("vue").WritableComputedRef<boolean, boolean>;
446
+ recordSaveError: import("vue").WritableComputedRef<import("../web-core/index").AppError | undefined, import("../web-core/index").AppError | undefined>;
450
447
  referencePickerConfigs: import("vue").WritableComputedRef<Record<string, import("../platform-components/index").RecordFormFieldPickerConfig>, Record<string, import("../platform-components/index").RecordFormFieldPickerConfig>>;
451
448
  runtimeUiDescriptor: import("vue").WritableComputedRef<import("../web-contracts/index.ts").ResolvedModuleUiDescriptor | undefined, import("../web-contracts/index.ts").ResolvedModuleUiDescriptor | undefined>;
452
449
  executableDetailRelations: import("vue").WritableComputedRef<import("../web-contracts/index.ts").ResolvedDetailRelationDescriptor[], import("../web-contracts/index.ts").ResolvedDetailRelationDescriptor[]>;
@@ -459,8 +456,10 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
459
456
  formFieldPolicies: import("vue").WritableComputedRef<import("./modulePageEnhancements.ts").ModulePageFormFieldPolicy[], import("./modulePageEnhancements.ts").ModulePageFormFieldPolicy[]>;
460
457
  updateMainFormValidity: import("vue").WritableComputedRef<(validity: {
461
458
  valid: boolean;
459
+ pending?: boolean;
462
460
  }) => void, (validity: {
463
461
  valid: boolean;
462
+ pending?: boolean;
464
463
  }) => void>;
465
464
  updateEmbeddedChildren: import("vue").WritableComputedRef<(relationField: string, records: QueryListRecord[], displayRecords?: QueryListRecord[], options?: Record<string, import("../web-contracts/index.ts").OptionItemDescriptor[]>) => void, (relationField: string, records: QueryListRecord[], displayRecords?: QueryListRecord[], options?: Record<string, import("../web-contracts/index.ts").OptionItemDescriptor[]>) => void>;
466
465
  updateRelationDraftValidity: import("vue").WritableComputedRef<(valid: boolean) => void, (valid: boolean) => void>;
@@ -2139,6 +2138,7 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
2139
2138
  fileTransferContext?: import("../web-core/index").ModuleContext<unknown>;
2140
2139
  formSessionKey?: string | number;
2141
2140
  validationRequestKey?: number;
2141
+ serverErrors?: Readonly<Record<string, string>>;
2142
2142
  layoutTransitionPrefix?: string;
2143
2143
  disabled?: boolean;
2144
2144
  showLabels?: boolean;
@@ -2173,6 +2173,7 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
2173
2173
  pickerConfigs: Record<string, import("../platform-components/index").RecordFormFieldPickerConfig>;
2174
2174
  codeParentRecord: import("../platform-components/index").RecordFormRecord;
2175
2175
  validationRequestKey: number;
2176
+ serverErrors: Readonly<Record<string, string>>;
2176
2177
  showLabels: boolean;
2177
2178
  disabledOf: (fieldName: string, field: import("../platform-components/index").RecordFormFieldState) => boolean;
2178
2179
  placeholderOf: (fieldName: string, field: import("../platform-components/index").RecordFormFieldState) => string | undefined;
@@ -2200,6 +2201,7 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
2200
2201
  fileTransferContext?: import("../web-core/index").ModuleContext<unknown>;
2201
2202
  formSessionKey?: string | number;
2202
2203
  validationRequestKey?: number;
2204
+ serverErrors?: Readonly<Record<string, string>>;
2203
2205
  layoutTransitionPrefix?: string;
2204
2206
  disabled?: boolean;
2205
2207
  showLabels?: boolean;
@@ -2229,6 +2231,7 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
2229
2231
  pickerConfigs: Record<string, import("../platform-components/index").RecordFormFieldPickerConfig>;
2230
2232
  codeParentRecord: import("../platform-components/index").RecordFormRecord;
2231
2233
  validationRequestKey: number;
2234
+ serverErrors: Readonly<Record<string, string>>;
2232
2235
  showLabels: boolean;
2233
2236
  disabledOf: (fieldName: string, field: import("../platform-components/index").RecordFormFieldState) => boolean;
2234
2237
  placeholderOf: (fieldName: string, field: import("../platform-components/index").RecordFormFieldState) => string | undefined;
@@ -2253,6 +2256,7 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
2253
2256
  fileTransferContext?: import("../web-core/index").ModuleContext<unknown>;
2254
2257
  formSessionKey?: string | number;
2255
2258
  validationRequestKey?: number;
2259
+ serverErrors?: Readonly<Record<string, string>>;
2256
2260
  layoutTransitionPrefix?: string;
2257
2261
  disabled?: boolean;
2258
2262
  showLabels?: boolean;
@@ -2287,6 +2291,7 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
2287
2291
  pickerConfigs: Record<string, import("../platform-components/index").RecordFormFieldPickerConfig>;
2288
2292
  codeParentRecord: import("../platform-components/index").RecordFormRecord;
2289
2293
  validationRequestKey: number;
2294
+ serverErrors: Readonly<Record<string, string>>;
2290
2295
  showLabels: boolean;
2291
2296
  disabledOf: (fieldName: string, field: import("../platform-components/index").RecordFormFieldState) => boolean;
2292
2297
  placeholderOf: (fieldName: string, field: import("../platform-components/index").RecordFormFieldState) => string | undefined;
@@ -3575,6 +3580,7 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
3575
3580
  record?: QueryListRecord;
3576
3581
  mode: "create" | "edit" | "view";
3577
3582
  saving?: boolean;
3583
+ formPending?: boolean;
3578
3584
  saveNeedsCheck?: boolean;
3579
3585
  checkingSave?: boolean;
3580
3586
  activeActionKey?: string;
@@ -3603,6 +3609,7 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
3603
3609
  record?: QueryListRecord;
3604
3610
  mode: "create" | "edit" | "view";
3605
3611
  saving?: boolean;
3612
+ formPending?: boolean;
3606
3613
  saveNeedsCheck?: boolean;
3607
3614
  checkingSave?: boolean;
3608
3615
  activeActionKey?: string;
@@ -3630,6 +3637,7 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
3630
3637
  record: QueryListRecord;
3631
3638
  actions: import("./modulePageEnhancements.ts").ModulePageRecordActionContribution[];
3632
3639
  saving: boolean;
3640
+ formPending: boolean;
3633
3641
  saveNeedsCheck: boolean;
3634
3642
  checkingSave: boolean;
3635
3643
  activeActionKey: string;
@@ -3713,6 +3721,7 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
3713
3721
  validationRequestKey: number;
3714
3722
  pickerConfigs: Record<string, import("../platform-components/index").RecordFormFieldPickerConfig>;
3715
3723
  saving?: boolean;
3724
+ saveError?: import("../web-core/index").AppError;
3716
3725
  uiDescriptor?: import("../web-contracts/index.ts").ResolvedModuleUiDescriptor;
3717
3726
  relations: import("../web-contracts/index.ts").ResolvedDetailRelationDescriptor[];
3718
3727
  relationsAvailable: boolean;
@@ -3727,6 +3736,7 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
3727
3736
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
3728
3737
  "validity-change": (validity: {
3729
3738
  valid: boolean;
3739
+ pending?: boolean;
3730
3740
  }) => any;
3731
3741
  "update:field": (fieldName: string, value: import("../platform-components/index").RecordFormFieldValue) => any;
3732
3742
  "reference-display-change": (fieldName: string, candidates: readonly import("../platform-components/index").ReferencePickerCandidate[]) => any;
@@ -3750,6 +3760,7 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
3750
3760
  validationRequestKey: number;
3751
3761
  pickerConfigs: Record<string, import("../platform-components/index").RecordFormFieldPickerConfig>;
3752
3762
  saving?: boolean;
3763
+ saveError?: import("../web-core/index").AppError;
3753
3764
  uiDescriptor?: import("../web-contracts/index.ts").ResolvedModuleUiDescriptor;
3754
3765
  relations: import("../web-contracts/index.ts").ResolvedDetailRelationDescriptor[];
3755
3766
  relationsAvailable: boolean;
@@ -3762,6 +3773,7 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
3762
3773
  }> & Readonly<{
3763
3774
  "onValidity-change"?: ((validity: {
3764
3775
  valid: boolean;
3776
+ pending?: boolean;
3765
3777
  }) => any) | undefined;
3766
3778
  "onUpdate:field"?: ((fieldName: string, value: import("../platform-components/index").RecordFormFieldValue) => any) | undefined;
3767
3779
  "onReference-display-change"?: ((fieldName: string, candidates: readonly import("../platform-components/index").ReferencePickerCandidate[]) => any) | undefined;
@@ -4034,25 +4046,11 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
4034
4046
  editor?: (props: {}) => any;
4035
4047
  };
4036
4048
  });
4037
- TenantScopeExplorer: import("vue").DefineComponent<{
4038
- context: import("../web-core/index").ModuleContext<QueryListRecord>;
4039
- selectedId?: string;
4040
- reloadKey: number;
4041
- disabled?: boolean;
4042
- }, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
4043
- select: (record: QueryListRecord) => any;
4044
- refresh: () => any;
4045
- loaded: (records: QueryListRecord[], initialFullResult: boolean, total?: number | undefined) => any;
4046
- deselect: () => any;
4047
- }, string, import("vue").PublicProps, Readonly<{
4048
- context: import("../web-core/index").ModuleContext<QueryListRecord>;
4049
- selectedId?: string;
4050
- reloadKey: number;
4051
- disabled?: boolean;
4052
- }> & Readonly<{
4053
- onSelect?: ((record: QueryListRecord) => any) | undefined;
4054
- onRefresh?: (() => any) | undefined;
4055
- onLoaded?: ((records: QueryListRecord[], initialFullResult: boolean, total?: number | undefined) => any) | undefined;
4056
- onDeselect?: (() => any) | undefined;
4057
- }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
4049
+ ModulePageTenantNavigator: import("vue").DefineComponent<{
4050
+ controller: TenantScopeController;
4051
+ column?: boolean;
4052
+ }, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{
4053
+ controller: TenantScopeController;
4054
+ column?: boolean;
4055
+ }> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
4058
4056
  }, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
@@ -1,3 +1,4 @@
1
+ import { type AppError } from '../web-core/index';
1
2
  import type { OptionItemDescriptor } from '../web-contracts/index';
2
3
  import { type QueryListRecord, type RecordFormFieldPickerConfig, type RecordFormFieldValue, type RecordFormFieldDescriptor } from '../platform-components/index';
3
4
  import type { HttpClient, ModuleContext } from '../web-core/index';
@@ -16,6 +17,7 @@ type __VLS_Props = {
16
17
  validationRequestKey: number;
17
18
  pickerConfigs: Record<string, RecordFormFieldPickerConfig>;
18
19
  saving?: boolean;
20
+ saveError?: AppError;
19
21
  uiDescriptor?: ResolvedModuleUiDescriptor;
20
22
  relations: ResolvedDetailRelationDescriptor[];
21
23
  relationsAvailable: boolean;
@@ -31,6 +33,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {
31
33
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
32
34
  "validity-change": (validity: {
33
35
  valid: boolean;
36
+ pending?: boolean;
34
37
  }) => any;
35
38
  "update:field": (fieldName: string, value: RecordFormFieldValue) => any;
36
39
  "reference-display-change": (fieldName: string, candidates: readonly import("../platform-components/index").ReferencePickerCandidate[]) => any;
@@ -45,6 +48,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {
45
48
  }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
46
49
  "onValidity-change"?: ((validity: {
47
50
  valid: boolean;
51
+ pending?: boolean;
48
52
  }) => any) | undefined;
49
53
  "onUpdate:field"?: ((fieldName: string, value: RecordFormFieldValue) => any) | undefined;
50
54
  "onReference-display-change"?: ((fieldName: string, candidates: readonly import("../platform-components/index").ReferencePickerCandidate[]) => any) | undefined;
@@ -0,0 +1,8 @@
1
+ import type { TenantScopeController } from './useTenantScopeController';
2
+ type __VLS_Props = {
3
+ controller: TenantScopeController;
4
+ column?: boolean;
5
+ };
6
+ 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>;
7
+ declare const _default: typeof __VLS_export;
8
+ export default _default;
@@ -6,6 +6,7 @@ type __VLS_Props = {
6
6
  record?: QueryListRecord;
7
7
  mode: 'create' | 'edit' | 'view';
8
8
  saving?: boolean;
9
+ formPending?: boolean;
9
10
  saveNeedsCheck?: boolean;
10
11
  checkingSave?: boolean;
11
12
  /** The action currently owning the shared detail-operation session. */
@@ -49,6 +50,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {
49
50
  record: QueryListRecord;
50
51
  actions: ModulePageRecordActionContribution[];
51
52
  saving: boolean;
53
+ formPending: boolean;
52
54
  saveNeedsCheck: boolean;
53
55
  checkingSave: boolean;
54
56
  activeActionKey: string;
@@ -8,6 +8,7 @@ type __VLS_Props = {
8
8
  mode: 'create' | 'edit' | 'view';
9
9
  formSessionKey: number;
10
10
  validationRequestKey?: number;
11
+ serverErrors?: Readonly<Record<string, string>>;
11
12
  optionContext: ModuleContext<QueryListRecord>;
12
13
  fileTransferContext: ModuleContext<QueryListRecord>;
13
14
  pickerConfigs: Record<string, RecordFormFieldPickerConfig>;
@@ -19,12 +20,14 @@ type __VLS_Props = {
19
20
  declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
20
21
  "validity-change": (validity: {
21
22
  valid: boolean;
23
+ pending?: boolean;
22
24
  }) => any;
23
25
  "update:field": (fieldName: string, value: RecordFormFieldValue) => any;
24
26
  "reference-display-change": (fieldName: string, candidates: readonly import("../platform-components/index").ReferencePickerCandidate[]) => any;
25
27
  }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
26
28
  "onValidity-change"?: ((validity: {
27
29
  valid: boolean;
30
+ pending?: boolean;
28
31
  }) => any) | undefined;
29
32
  "onUpdate:field"?: ((fieldName: string, value: RecordFormFieldValue) => any) | undefined;
30
33
  "onReference-display-change"?: ((fieldName: string, candidates: readonly import("../platform-components/index").ReferencePickerCandidate[]) => any) | undefined;
@@ -0,0 +1,5 @@
1
+ import { type AppError, type LanguageContext } from '../web-core/index';
2
+ /** Only a proven write rejection belongs to the editable draft; unknown outcomes keep their recovery path. */
3
+ export declare function isRecordSaveRejection(error: AppError): boolean;
4
+ /** A child-row target must never be applied to a same-named main-record field. */
5
+ export declare function recordSaveFieldErrors(error: AppError | undefined, fields: ReadonlyMap<string, unknown>, language: LanguageContext): Readonly<Record<string, string>>;
@@ -304,6 +304,8 @@ export declare function useModulePageSession(props: ModulePageSessionProps, emit
304
304
  bindNavigatorQueryController: (levelKey: string, controller: RecordQueryListQueryController | RecordTreeQueryController | undefined) => void;
305
305
  bindTreeQueryController: (controller: RecordTreeQueryController | undefined) => void;
306
306
  formValidationRequestKey: import("vue").Ref<number, number>;
307
+ mainFormPending: import("vue").Ref<boolean, boolean>;
308
+ recordSaveError: import("vue").ShallowRef<AppError | undefined, AppError | undefined>;
307
309
  referencePickerConfigs: import("vue").ComputedRef<Record<string, RecordFormFieldPickerConfig>>;
308
310
  runtimeUiDescriptor: import("vue").ComputedRef<ResolvedModuleUiDescriptor | undefined>;
309
311
  executableDetailRelations: import("vue").ComputedRef<ResolvedDetailRelationDescriptor[]>;
@@ -316,6 +318,7 @@ export declare function useModulePageSession(props: ModulePageSessionProps, emit
316
318
  formFieldPolicies: import("vue").ComputedRef<ModulePageFormFieldPolicy[]>;
317
319
  updateMainFormValidity: (validity: {
318
320
  valid: boolean;
321
+ pending?: boolean;
319
322
  }) => void;
320
323
  updateEmbeddedChildren: (relationField: string, records: QueryListRecord[], displayRecords?: QueryListRecord[], options?: Record<string, OptionItemDescriptor[]>) => void;
321
324
  updateRelationDraftValidity: (valid: boolean) => void;
@@ -13,6 +13,7 @@ export declare function useTenantScopeController(context: ModuleContext<QueryLis
13
13
  tenantScopeExplorerCount: import("vue").ComputedRef<0 | 1>;
14
14
  changeTenantScope: (record: QueryListRecord | undefined) => void;
15
15
  handleTenantScopeLoaded: (records: QueryListRecord[], initialFullResult?: boolean, total?: number) => void;
16
+ refreshTenantScope: () => void;
16
17
  waitForInitialScope: (signal: AbortSignal) => Promise<void>;
17
18
  setRequired: (next: boolean) => void;
18
19
  };
@@ -3,6 +3,8 @@ import { type RecordFormFieldDescriptor, type RecordFormFieldFallback, type Reco
3
3
  export interface RecordFormValidity {
4
4
  valid: boolean;
5
5
  errors: Record<string, string>;
6
+ /** An asynchronous form dependency is still being refreshed. */
7
+ pending?: boolean;
6
8
  }
7
9
  type __VLS_Props = {
8
10
  record: RecordFormRecord;
@@ -23,6 +25,8 @@ type __VLS_Props = {
23
25
  fileTransferContext?: ModuleContext<unknown>;
24
26
  formSessionKey?: string | number;
25
27
  validationRequestKey?: number;
28
+ /** Server rejections are display facts; the owning session clears them when its draft changes. */
29
+ serverErrors?: Readonly<Record<string, string>>;
26
30
  /** Stable DOM keys for a parent-owned layout transition; absent in ordinary form surfaces. */
27
31
  layoutTransitionPrefix?: string;
28
32
  disabled?: boolean;
@@ -33,23 +37,23 @@ type __VLS_Props = {
33
37
  imageUploadHintOf?: (fieldName: string, field: RecordFormFieldState) => string | undefined;
34
38
  imageUploadAdvisoryOf?: (fieldName: string, field: RecordFormFieldState) => ((file: File) => string | undefined | Promise<string | undefined>) | undefined;
35
39
  };
36
- declare var __VLS_1: {
40
+ declare var __VLS_9: {
37
41
  field: RecordFormFieldState;
38
- }, __VLS_10: {
42
+ }, __VLS_18: {
39
43
  group: import("../web-contracts/index").FormGroupDescriptor | undefined;
40
- }, __VLS_12: {
44
+ }, __VLS_20: {
41
45
  field: RecordFormFieldState;
42
- }, __VLS_217: {
46
+ }, __VLS_225: {
43
47
  field: RecordFormFieldState;
44
48
  };
45
49
  type __VLS_Slots = {} & {
46
- 'before-field'?: (props: typeof __VLS_1) => any;
50
+ 'before-field'?: (props: typeof __VLS_9) => any;
47
51
  } & {
48
- 'group-actions'?: (props: typeof __VLS_10) => any;
52
+ 'group-actions'?: (props: typeof __VLS_18) => any;
49
53
  } & {
50
- 'field-actions'?: (props: typeof __VLS_12) => any;
54
+ 'field-actions'?: (props: typeof __VLS_20) => any;
51
55
  } & {
52
- 'after-field'?: (props: typeof __VLS_217) => any;
56
+ 'after-field'?: (props: typeof __VLS_225) => any;
53
57
  };
54
58
  declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
55
59
  "validity-change": (validity: RecordFormValidity) => any;
@@ -77,6 +81,7 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {},
77
81
  pickerConfigs: Record<string, RecordFormFieldPickerConfig>;
78
82
  codeParentRecord: RecordFormRecord;
79
83
  validationRequestKey: number;
84
+ serverErrors: Readonly<Record<string, string>>;
80
85
  showLabels: boolean;
81
86
  disabledOf: (fieldName: string, field: RecordFormFieldState) => boolean;
82
87
  placeholderOf: (fieldName: string, field: RecordFormFieldState) => string | undefined;
@@ -15,6 +15,7 @@ export declare function useBusinessCodeForm(options: {
15
15
  }): {
16
16
  field: (base: RecordFormFieldState) => RecordFormFieldState;
17
17
  errorOf: (name: string) => string | undefined;
18
+ errors: import("vue").ComputedRef<Record<string, string>>;
18
19
  policies: import("vue").Ref<Map<string, {
19
20
  fieldName: string;
20
21
  mode?: "AUTO" | "MANUAL" | "AUTO_WITH_MANUAL_EDIT" | null | undefined;
@@ -146,6 +146,7 @@ export declare function useAssistantConversation(props: {
146
146
  readonly modelSummary: string;
147
147
  readonly receiptReference?: {
148
148
  kind: "record-save";
149
+ recordId?: string | undefined;
149
150
  moduleAlias: string;
150
151
  requestId: string;
151
152
  tenantId?: string | undefined;
@@ -264,6 +265,7 @@ export declare function useAssistantConversation(props: {
264
265
  readonly modelSummary: string;
265
266
  readonly receiptReference?: {
266
267
  kind: "record-save";
268
+ recordId?: string | undefined;
267
269
  moduleAlias: string;
268
270
  requestId: string;
269
271
  tenantId?: string | undefined;
@@ -387,6 +389,7 @@ export declare function useAssistantConversation(props: {
387
389
  readonly modelSummary: string;
388
390
  readonly receiptReference?: {
389
391
  kind: "record-save";
392
+ recordId?: string | undefined;
390
393
  moduleAlias: string;
391
394
  requestId: string;
392
395
  tenantId?: string | undefined;
@@ -1,7 +1,10 @@
1
1
  import { type LanguageContext } from '../web-core/index';
2
2
  import { OperationUsageError, type HttpClient } from '../web-core/index';
3
3
  import type { MetadataModelChangeSetProposal } from './metadataModelEditSession';
4
+ import { type MetadataChangeSetIssue } from './metadataModelChangeSetClient';
4
5
  export declare class MetadataChangeSetPrecheckError extends OperationUsageError {
6
+ readonly issues: readonly MetadataChangeSetIssue[];
7
+ constructor(message: ConstructorParameters<typeof OperationUsageError>[0], issues?: readonly MetadataChangeSetIssue[]);
5
8
  }
6
9
  /** Both page and conversation confirm the same immutable, server-validated change set. */
7
10
  export declare function prepareMetadataChangeSetSubmission(http: HttpClient, moduleAlias: string, candidate: MetadataModelChangeSetProposal, isCurrent: () => boolean, signal?: AbortSignal, fieldSpecTitles?: Readonly<Record<string, string>>, capabilityTitles?: Readonly<Record<string, string>>, language?: LanguageContext): Promise<{
@@ -1,11 +1,17 @@
1
- import type { HttpClient } from '../web-core/index';
1
+ import { type LanguageContext, type HttpClient } from '../web-core/index';
2
+ import type { TextPresentation, TextReference } from '../web-contracts/index';
2
3
  import type { MetadataModelChangeSetProposal } from './metadataModelEditSession';
3
4
  export type MetadataChangeSetIssue = {
4
5
  severity: 'WARNING' | 'ERROR' | string;
5
6
  code: string;
6
7
  subject: string;
7
8
  message: string;
9
+ textSource?: TextReference | null;
10
+ messageText?: TextPresentation | null;
11
+ messageArgs?: Record<string, unknown>;
8
12
  };
13
+ /** Consume server-owned display resources; diagnostics without a verified projection retain their original. */
14
+ export declare function metadataChangeSetIssueMessage(issue: MetadataChangeSetIssue, language?: LanguageContext): string;
9
15
  export type MetadataChangeSetPreview = {
10
16
  proposalFingerprint: string;
11
17
  fieldImpacts: Array<{
@@ -11,6 +11,8 @@ export interface OperationPresentation {
11
11
  /** A bounded read-only pointer, never an executable command or authority. */
12
12
  export type OperationReceiptReference = {
13
13
  kind: 'record-save';
14
+ /** Independent record context for a receipt lookup; never an authorization grant. */
15
+ recordId?: string;
14
16
  moduleAlias: string;
15
17
  requestId: string;
16
18
  tenantId?: string;
@@ -1,5 +1,5 @@
1
- import { E as e, y as t } from "./platform-workbench-D5w7Odpt.js";
2
- import { Pr as n, Wr as r, Xa as i, Xr as a, _n as o, qr as s, zt as c } from "./platform-components-DlKD3nyL.js";
1
+ import { E as e, y as t } from "./platform-workbench-BSTroBaq.js";
2
+ import { Pr as n, Wr as r, Xa as i, Xr as a, _n as o, qr as s, zt as c } from "./platform-components-C9cG_1E2.js";
3
3
  import { computed as l, onMounted as u } from "vue";
4
4
  //#region src/views/useWorkflowConfigurationContext.ts
5
5
  function d(d) {
@@ -1,16 +1,16 @@
1
1
  import { n as e } from "./rolldown-runtime-BAC7EHh5.js";
2
- import { E as t, M as n, T as r, d as i, j as a, lt as o, m as s, ut as c, x as l, y as u } from "./platform-workbench-D5w7Odpt.js";
3
- import { $n as d, Aa as f, An as p, Bn as m, D as h, Da as g, Fa as _, G as v, Ht as y, Ia as b, Jr as x, Ka as S, Kt as C, Ma as w, Mn as T, Nn as E, Rn as D, Tn as O, V as k, Vn as A, W as ee, Wn as te, Xa as j, Ya as ne, Yn as M, Zn as N, _n as P, cr as F, da as re, fa as ie, fr as I, gn as ae, it as oe, jn as se, jr as ce, k as le, lr as ue, m as de, ma as fe, or as pe, pa as me, pn as he, pt as ge, qa as _e, qr as ve, rr as L, rt as ye, sn as be, sr as xe, ur as R, wa as Se, yn as Ce, z as we, zn as Te } from "./platform-components-DlKD3nyL.js";
4
- import { d as Ee, m as De, p as Oe } from "./codeConfiguration-pvXI4qaR.js";
5
- import { a as ke, i as Ae, o as je, r as Me, s as Ne, t as Pe } from "./moduleMenuWorkspace-D8ih_X-m.js";
6
- import { t as Fe } from "./useWorkflowConfigurationContext-B6Wdt26l.js";
2
+ import { E as t, M as n, T as r, d as i, j as a, lt as o, m as s, ut as c, x as l, y as u } from "./platform-workbench-BSTroBaq.js";
3
+ import { $n as d, Aa as f, An as p, Bn as m, D as h, Da as g, Fa as _, G as v, Ht as y, Ia as b, Jr as x, Ka as S, Kt as C, Ma as w, Mn as T, Nn as E, Rn as D, Tn as O, V as k, Vn as A, W as ee, Wn as te, Xa as j, Ya as ne, Yn as M, Zn as N, _n as P, cr as F, da as re, fa as ie, fr as I, gn as ae, it as oe, jn as se, jr as ce, k as le, lr as ue, m as de, ma as fe, or as pe, pa as me, pn as he, pt as ge, qa as _e, qr as ve, rr as L, rt as ye, sn as be, sr as xe, ur as R, wa as Se, yn as Ce, z as we, zn as Te } from "./platform-components-C9cG_1E2.js";
4
+ import { d as Ee, m as De, p as Oe } from "./codeConfiguration-BV9yki1E.js";
5
+ import { a as ke, i as Ae, o as je, r as Me, s as Ne, t as Pe } from "./moduleMenuWorkspace-BBOQrHeT.js";
6
+ import { t as Fe } from "./useWorkflowConfigurationContext-ClwD0BWE.js";
7
7
  import { Fragment as z, computed as B, createBlock as V, createCommentVNode as H, createElementBlock as U, createElementVNode as W, createSlots as Ie, createTextVNode as G, createVNode as K, defineAsyncComponent as Le, defineComponent as q, guardReactiveProps as Re, mergeModels as ze, mergeProps as Be, nextTick as Ve, normalizeClass as He, normalizeProps as Ue, onActivated as We, onBeforeUnmount as Ge, onMounted as Ke, onScopeDispose as qe, onUnmounted as Je, openBlock as J, ref as Y, renderList as Ye, renderSlot as Xe, resolveDynamicComponent as Ze, shallowRef as Qe, toDisplayString as X, toRaw as $e, toValue as et, unref as Z, useModel as tt, watch as Q, withCtx as $, withKeys as nt, withModifiers as rt } from "vue";
8
8
  //#region src/views/codeConfigurationWorkspaceView.ts
9
9
  var it = De({
10
10
  type: "platform.code.configuration",
11
11
  route: "/_platform/workspace/platform.code.configuration",
12
12
  moduleAlias: "platform.code_rule",
13
- component: Le(() => import("./CodeConfigurationView-CxqzINb9.js").then((e) => e.n)),
13
+ component: Le(() => import("./CodeConfigurationView-DAdbnF2Y.js").then((e) => e.n)),
14
14
  layout: "workspace",
15
15
  routeTitle: "业务编码",
16
16
  routeTitleKey: "platform.code.config.title",
@@ -34,7 +34,7 @@ var it = De({
34
34
  type: "iam.role.detail",
35
35
  route: "/iam/role",
36
36
  moduleAlias: "iam.role",
37
- component: Le(() => import("./RoleDetailWorkspaceView-BnBL_Ihe.js")),
37
+ component: Le(() => import("./RoleDetailWorkspaceView-lg4XwTlN.js")),
38
38
  layout: "workspace",
39
39
  routeTitle: "角色管理",
40
40
  routeTitleKey: "platform.workspace-view.roles.route-title",
@@ -79,7 +79,7 @@ var it = De({
79
79
  type: "platform.module.actions",
80
80
  route: "/_platform/workspace/platform.module.actions",
81
81
  moduleAlias: "platform.module",
82
- component: Le(() => import("./ModuleActionManagementView-Ct1PqAXF.js").then((e) => e.n)),
82
+ component: Le(() => import("./ModuleActionManagementView-D4oXCnW2.js").then((e) => e.n)),
83
83
  layout: "workspace",
84
84
  routeTitle: "模块管理",
85
85
  routeTitleKey: "platform.workspace-view.modules.route-title",
@@ -100,7 +100,7 @@ var it = De({
100
100
  type: "platform.module.workflows",
101
101
  route: "/_platform/workspace/platform.module.workflows",
102
102
  moduleAlias: "platform.module",
103
- component: Le(() => import("./WorkflowConfigurationView-CNXwdgUP.js")),
103
+ component: Le(() => import("./WorkflowConfigurationView-8DFNdIyI.js")),
104
104
  layout: "workspace",
105
105
  routeTitle: "模块管理",
106
106
  routeTitleKey: "platform.workspace-view.modules.route-title",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ximatai/muyun-web-app",
3
- "version": "0.26.20",
3
+ "version": "0.26.22",
4
4
  "description": "MuYunSpring workbench and standard module runtime for business applications",
5
5
  "type": "module",
6
6
  "files": [