@ximatai/muyun-web-app 0.26.18 → 0.26.19

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 (61) hide show
  1. package/dist/{BusinessActivityLogView-CNW817Sf.js → BusinessActivityLogView-DudCmeKP.js} +2 -2
  2. package/dist/BusinessLogListDrawer-CVUvUG48.js +864 -0
  3. package/dist/{CodeConfigurationView-DU8tjPMt.js → CodeConfigurationView-ZjVgaZkD.js} +450 -450
  4. package/dist/{ConfigurationTranslationView-CbBt5s1q.js → ConfigurationTranslationView-Dl757QMl.js} +38 -38
  5. package/dist/{LoginAuditLogView-CZF1Jfq_.js → LoginAuditLogView-Cj3PMvN5.js} +2 -2
  6. package/dist/ModuleActionManagementView-BuhQrVA3.js +755 -0
  7. package/dist/{ModuleGovernanceView-CcwGyO3x.js → ModuleGovernanceView-C3RxdgQN.js} +2243 -2243
  8. package/dist/{RequestErrorLogView-DpudZrC2.js → RequestErrorLogView-tmjMOeLE.js} +2 -2
  9. package/dist/{RoleDetailWorkspaceView-DNMGsAJC.js → RoleDetailWorkspaceView-OhpBChaT.js} +518 -518
  10. package/dist/{RuntimeLogView-444BL_xs.js → RuntimeLogView-BkkgHcF0.js} +64 -64
  11. package/dist/{WorkflowAdministrationView-C-VIjvwB.js → WorkflowAdministrationView-DOhA_5-M.js} +139 -139
  12. package/dist/WorkflowConfigurationView-Bnjdrkdx.js +980 -0
  13. package/dist/{WorkflowWorkbenchView-Gr02dbBc.js → WorkflowWorkbenchView-Cf6yiofx.js} +222 -222
  14. package/dist/{codeConfiguration-ChJ6ktRR.js → codeConfiguration-DERwCY-U.js} +44 -44
  15. package/dist/index.css +1 -1
  16. package/dist/index.js +421 -430
  17. package/dist/moduleMenuWorkspace-DPmYGkS_.js +626 -0
  18. package/dist/platform-components-wRXbnwMr.js +30434 -0
  19. package/dist/{platform-workbench-BhZPARiH.js → platform-workbench-Cm_0kmTT.js} +5169 -5149
  20. package/dist/types/app/executeBusinessNotificationRecordAction.d.ts +7 -0
  21. package/dist/types/dynamic-page-runtime/composables/useModulePageDetailExtensionRuntime.d.ts +1 -0
  22. package/dist/types/dynamic-page-runtime/modulePageEnhancementState.d.ts +5 -0
  23. package/dist/types/dynamic-page-runtime/modulePageEnhancements.d.ts +4 -0
  24. package/dist/types/platform-admin-runtime/workflow/ModuleWorkflowDrawer.vue.d.ts +7 -0
  25. package/dist/types/platform-components/BusinessNotificationPanel.vue.d.ts +5 -3
  26. package/dist/types/platform-components/FormulaExpressionEditor.vue.d.ts +5 -0
  27. package/dist/types/platform-components/RecordAdaptiveDetailPanel.vue.d.ts +28 -0
  28. package/dist/types/platform-components/RecordQueryListSurface.vue.d.ts +4 -0
  29. package/dist/types/platform-components/WorkflowBusinessTaskEditor.vue.d.ts +2 -0
  30. package/dist/types/platform-components/WorkflowDesignProperties.vue.d.ts +2 -6
  31. package/dist/types/platform-components/WorkflowDiagram.vue.d.ts +32 -1
  32. package/dist/types/platform-components/formulaExpressionTokens.d.ts +2 -0
  33. package/dist/types/platform-components/formulaExpressionTools.d.ts +6 -0
  34. package/dist/types/platform-components/index.d.ts +3 -0
  35. package/dist/types/platform-components/useWorkflowDesignHistory.d.ts +14 -0
  36. package/dist/types/platform-components/useWorkspaceDetailSurface.d.ts +3 -0
  37. package/dist/types/platform-components/workflowDesignClipboard.d.ts +7 -0
  38. package/dist/types/platform-components/workflowPresentation.d.ts +4 -0
  39. package/dist/types/views/WorkflowConfigurationView.vue.d.ts +1 -0
  40. package/dist/types/views/WorkflowDefinitionSettings.vue.d.ts +35 -0
  41. package/dist/types/views/WorkflowSelectionFields.vue.d.ts +2 -4
  42. package/dist/types/views/useWorkflowConfigurationContext.d.ts +49 -0
  43. package/dist/types/views/workflowConfigurationWorkspaceView.d.ts +2 -0
  44. package/dist/types/vue-ui-antdv/components/UiIcon.vue.d.ts +1 -1
  45. package/dist/types/vue-ui-antdv/components/UiRadioGroup.vue.d.ts +4 -0
  46. package/dist/types/vue-ui-antdv/components/UiSidePanel.vue.d.ts +5 -0
  47. package/dist/types/vue-ui-antdv/index.d.ts +1 -0
  48. package/dist/types/vue-ui-antdv/overlayLayers.d.ts +5 -0
  49. package/dist/types/vue-ui-antdv/types.d.ts +2 -0
  50. package/dist/types/web-contracts/index.d.ts +4 -0
  51. package/dist/types/web-contracts/workflow.d.ts +16 -8
  52. package/dist/types/web-core/businessNotifications.d.ts +3 -1
  53. package/dist/types/web-core/workflow.d.ts +13 -1
  54. package/dist/useWorkflowConfigurationContext-BE_UjKgk.js +66 -0
  55. package/dist/{workspaceViews-DeBqozVb.js → workspaceViews-D37OpJ7g.js} +1516 -936
  56. package/package.json +1 -1
  57. package/dist/BusinessLogListDrawer-YiJxOlnD.js +0 -864
  58. package/dist/ModuleActionManagementView-CaiXH1l_.js +0 -755
  59. package/dist/WorkflowConfigurationView-DLFY2x7V.js +0 -1110
  60. package/dist/moduleMenuWorkspace-B8DKwC3L.js +0 -626
  61. package/dist/platform-components-5AE0j2_3.js +0 -29879
@@ -0,0 +1,7 @@
1
+ import type { WebBusinessNotification, WebBusinessNotificationRecordAction } from '../web-contracts/index';
2
+ /** Confirmation may outlive the notification; check the current fact immediately before dispatch. */
3
+ export declare function executeBusinessNotificationRecordAction(action: WebBusinessNotificationRecordAction, options: {
4
+ current: () => WebBusinessNotification | undefined;
5
+ confirm: () => boolean | Promise<boolean>;
6
+ invoke: () => Promise<unknown>;
7
+ }): Promise<boolean>;
@@ -8,6 +8,7 @@ export interface ModulePageEnhancementDrawerRuntime {
8
8
  operation?: ModulePageDrawerOperation;
9
9
  subtitle?: string;
10
10
  closeBlocked: boolean;
11
+ beforeClose?: () => boolean | Promise<boolean>;
11
12
  }
12
13
  interface Options {
13
14
  module: ModuleContext<QueryListRecord>;
@@ -0,0 +1,5 @@
1
+ import type { ModulePageEnhancement, ModulePageEnhancementRegistry } from './modulePageEnhancements';
2
+ export declare const modulePageEnhancementState: {
3
+ owners: Map<string, readonly ModulePageEnhancement[]>;
4
+ registry: import("vue").ShallowRef<ModulePageEnhancementRegistry | undefined, ModulePageEnhancementRegistry | undefined>;
5
+ };
@@ -349,6 +349,8 @@ export interface ModulePageDrawer {
349
349
  titleKey?: string;
350
350
  title: string;
351
351
  width?: DrawerWidth;
352
+ /** Outside dismissal still goes through the context close guard and busy state. */
353
+ dismissal?: 'explicit' | 'dismissible';
352
354
  /** The component receives only the documented ModulePageDrawerContext prop. */
353
355
  component: Component;
354
356
  }
@@ -385,6 +387,8 @@ export interface ModulePageDrawerContext {
385
387
  refreshDetailExtensions(): void;
386
388
  /** Blocks the drawer shell's close affordances while a contributed operation is in flight. */
387
389
  setCloseBlocked(blocked: boolean): void;
390
+ /** Registers the drawer-owned draft confirmation; all shell and programmatic close requests share it. */
391
+ setBeforeClose(guard?: () => boolean | Promise<boolean>): void;
388
392
  close(): void;
389
393
  reload(): void;
390
394
  /** Replaces contextual actions beside the drawer title; actions are cleared with the drawer. */
@@ -0,0 +1,7 @@
1
+ import type { ModulePageDrawerContext } from '../../dynamic-page-runtime/index';
2
+ type __VLS_Props = {
3
+ context: ModulePageDrawerContext;
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;
@@ -3,9 +3,9 @@ type __VLS_Props = {
3
3
  notifications: WebBusinessNotification[];
4
4
  /** Allows a consumer to opt an individual card into the optional right-hand attachment area. */
5
5
  hasAccessory?: (notification: WebBusinessNotification) => boolean;
6
- executeAction: (notification: WebBusinessNotification, action: WebBusinessNotificationAction) => void | Promise<void>;
6
+ executeAction: (notification: WebBusinessNotification, action: WebBusinessNotificationAction) => void | boolean | Promise<void | boolean>;
7
7
  };
8
- declare var __VLS_27: {
8
+ declare var __VLS_33: {
9
9
  notification: {
10
10
  title: string;
11
11
  subtitle: string;
@@ -37,12 +37,14 @@ declare var __VLS_27: {
37
37
  id: string;
38
38
  code: string;
39
39
  dismissible: boolean;
40
+ displayPolicy?: "standard" | "persistent";
41
+ expiresAt?: string;
40
42
  tone?: import("../web-contracts/index").WebBusinessNotificationTone;
41
43
  occurredAt?: string;
42
44
  };
43
45
  };
44
46
  type __VLS_Slots = {} & {
45
- accessory?: (props: typeof __VLS_27) => any;
47
+ accessory?: (props: typeof __VLS_33) => any;
46
48
  };
47
49
  declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
48
50
  dismiss: (notificationId: string) => any;
@@ -1,6 +1,9 @@
1
1
  import type { UiDragSource } from '../vue-ui-antdv/index';
2
2
  import { type FormulaExpressionField, type FormulaExpressionFunction } from './formulaExpressionTokens';
3
+ import type { FormulaExpressionTools } from './formulaExpressionTools';
3
4
  type __VLS_Props = {
5
+ tools?: FormulaExpressionTools;
6
+ booleanResult?: boolean;
4
7
  value: string;
5
8
  fields: readonly FormulaExpressionField[];
6
9
  functions?: readonly FormulaExpressionFunction[];
@@ -48,6 +51,8 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {
48
51
  disabled: boolean;
49
52
  placeholder: string;
50
53
  acceptDrop: (source: UiDragSource) => boolean;
54
+ tools: FormulaExpressionTools;
55
+ booleanResult: boolean;
51
56
  functions: readonly FormulaExpressionFunction[];
52
57
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
53
58
  declare const _default: typeof __VLS_export;
@@ -0,0 +1,28 @@
1
+ import { type UiDrawerWidth } from '../vue-ui-antdv/index';
2
+ type __VLS_Props = {
3
+ open: boolean;
4
+ docked: boolean;
5
+ title: string;
6
+ width?: UiDrawerWidth;
7
+ };
8
+ declare var __VLS_29: {}, __VLS_32: {};
9
+ type __VLS_Slots = {} & {
10
+ default?: (props: typeof __VLS_29) => any;
11
+ } & {
12
+ operation?: (props: typeof __VLS_32) => any;
13
+ };
14
+ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
15
+ close: () => any;
16
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
17
+ onClose?: (() => any) | undefined;
18
+ }>, {
19
+ width: UiDrawerWidth;
20
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
21
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
22
+ declare const _default: typeof __VLS_export;
23
+ export default _default;
24
+ type __VLS_WithSlots<T, S> = T & {
25
+ new (): {
26
+ $slots: S;
27
+ };
28
+ };
@@ -29,6 +29,8 @@ type __VLS_Props = {
29
29
  rowDraggable?: boolean;
30
30
  rowDragHandleTitle?: string;
31
31
  tableVisible?: boolean;
32
+ loading?: boolean;
33
+ emptyDescription?: string;
32
34
  conditionsVisible?: boolean;
33
35
  embedded?: boolean;
34
36
  chromeFree?: boolean;
@@ -98,7 +100,9 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {},
98
100
  }>, {
99
101
  title: string;
100
102
  subtitle: string;
103
+ emptyDescription: string;
101
104
  selection: UiDataTableSelection;
105
+ loading: boolean;
102
106
  rowKey: string | ((record: UiDataTableRecord) => string);
103
107
  selectedRowKey: string;
104
108
  expandedRowKeys: string[];
@@ -1,4 +1,6 @@
1
+ import type { FormulaExpressionTools } from './formulaExpressionTools';
1
2
  type __VLS_Props = {
3
+ conditionTools?: FormulaExpressionTools;
2
4
  value?: string;
3
5
  moduleAlias: string;
4
6
  disabled?: boolean;
@@ -1,6 +1,8 @@
1
+ import type { FormulaExpressionTools } from './formulaExpressionTools';
1
2
  import type { HttpClient } from '../web-core/index';
2
3
  import type { WorkflowDesign, WorkflowNode, WorkflowRoute, WorkflowConfigurationCatalog } from '../web-contracts/index';
3
4
  type __VLS_Props = {
5
+ conditionTools?: FormulaExpressionTools;
4
6
  design: WorkflowDesign;
5
7
  nodeKey: string;
6
8
  routeKey: string;
@@ -23,18 +25,12 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {
23
25
  "update-node": (patch: Partial<WorkflowNode>) => any;
24
26
  "update-route": (patch: Partial<WorkflowRoute>) => any;
25
27
  "select-route": (key: string) => any;
26
- "remove-node": () => any;
27
- "remove-route": () => any;
28
28
  "append-branch-path": () => any;
29
- "delete-branch": () => any;
30
29
  }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
31
30
  "onUpdate-node"?: ((patch: Partial<WorkflowNode>) => any) | undefined;
32
31
  "onUpdate-route"?: ((patch: Partial<WorkflowRoute>) => any) | undefined;
33
32
  "onSelect-route"?: ((key: string) => any) | undefined;
34
- "onRemove-node"?: (() => any) | undefined;
35
- "onRemove-route"?: (() => any) | undefined;
36
33
  "onAppend-branch-path"?: (() => any) | undefined;
37
- "onDelete-branch"?: (() => any) | undefined;
38
34
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
39
35
  declare const _default: typeof __VLS_export;
40
36
  export default _default;
@@ -3,6 +3,9 @@ type __VLS_Props = {
3
3
  nodes: WorkflowNode[];
4
4
  routes: WorkflowRoute[];
5
5
  selectedNodeKey?: string;
6
+ selectedNodeKeys?: string[];
7
+ canUndo?: boolean;
8
+ canRedo?: boolean;
6
9
  selectedRouteKey?: string;
7
10
  interactive?: boolean;
8
11
  editable?: boolean;
@@ -11,14 +14,42 @@ type __VLS_Props = {
11
14
  /** Detail views keep business facts visible; the designer retains a larger canvas. */
12
15
  presentation?: 'detail' | 'designer';
13
16
  };
14
- declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
17
+ declare var __VLS_1: {}, __VLS_91: {};
18
+ type __VLS_Slots = {} & {
19
+ actions?: (props: typeof __VLS_1) => any;
20
+ } & {
21
+ navigation?: (props: typeof __VLS_91) => any;
22
+ };
23
+ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
15
24
  select: (nodeKey: string) => any;
25
+ copy: (event: ClipboardEvent) => any;
26
+ paste: (event: ClipboardEvent) => any;
16
27
  selectRoute: (routeKey: string) => any;
17
28
  layoutChange: (layoutJson: string) => any;
29
+ selectionChange: (keys: string[]) => any;
30
+ undo: () => any;
31
+ redo: () => any;
32
+ copyShortcut: () => any;
33
+ pasteShortcut: () => any;
34
+ deleteSelection: () => any;
18
35
  }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
19
36
  onSelect?: ((nodeKey: string) => any) | undefined;
37
+ onCopy?: ((event: ClipboardEvent) => any) | undefined;
38
+ onPaste?: ((event: ClipboardEvent) => any) | undefined;
20
39
  onSelectRoute?: ((routeKey: string) => any) | undefined;
21
40
  onLayoutChange?: ((layoutJson: string) => any) | undefined;
41
+ onSelectionChange?: ((keys: string[]) => any) | undefined;
42
+ onUndo?: (() => any) | undefined;
43
+ onRedo?: (() => any) | undefined;
44
+ onCopyShortcut?: (() => any) | undefined;
45
+ onPasteShortcut?: (() => any) | undefined;
46
+ onDeleteSelection?: (() => any) | undefined;
22
47
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
48
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
23
49
  declare const _default: typeof __VLS_export;
24
50
  export default _default;
51
+ type __VLS_WithSlots<T, S> = T & {
52
+ new (): {
53
+ $slots: S;
54
+ };
55
+ };
@@ -7,6 +7,8 @@ export interface FormulaExpressionField {
7
7
  unavailableReason?: string;
8
8
  }
9
9
  export interface FormulaExpressionFunction {
10
+ signature?: string;
11
+ example?: string;
10
12
  name: string;
11
13
  title?: string;
12
14
  description?: string;
@@ -0,0 +1,6 @@
1
+ import type { FormulaExpressionFunction } from './formulaExpressionTokens';
2
+ /** Authoring uses the server parser; this UI never interprets formula source. */
3
+ export interface FormulaExpressionTools {
4
+ loadFunctions(): Promise<readonly FormulaExpressionFunction[]>;
5
+ validate(expression: string): Promise<void>;
6
+ }
@@ -1,4 +1,5 @@
1
1
  export {};
2
+ export type { FormulaExpressionTools } from './formulaExpressionTools';
2
3
  export type { QuerySettlementController } from './querySettlementController';
3
4
  export { default as FormulaExpressionEditor } from './FormulaExpressionEditor.vue';
4
5
  export type { FormulaExpressionField, FormulaExpressionFunction } from './formulaExpressionTokens';
@@ -160,3 +161,5 @@ export { default as WorkflowBusinessTaskEditor } from './WorkflowBusinessTaskEdi
160
161
  export { default as WorkflowDesignProperties } from './WorkflowDesignProperties.vue';
161
162
  export { default as RecordDataExchangeSurface } from './RecordDataExchangeSurface.vue';
162
163
  export { default as TenantScopeExplorer } from './TenantScopeExplorer.vue';
164
+ export { useWorkspaceDetailSurface } from './useWorkspaceDetailSurface';
165
+ export { default as RecordAdaptiveDetailPanel } from './RecordAdaptiveDetailPanel.vue';
@@ -0,0 +1,14 @@
1
+ import { type Ref } from 'vue';
2
+ import type { WorkflowDesign } from '../web-contracts/index';
3
+ /** The design is authoritative; graph cells and viewport transforms are never history entries. */
4
+ export declare function useWorkflowDesignHistory(design: Ref<WorkflowDesign>, limit?: number): {
5
+ /** An async edit may commit only while this design revision and owning scope remain current. */
6
+ checkpoint(): () => boolean;
7
+ canUndo: import("vue").ComputedRef<boolean>;
8
+ canRedo: import("vue").ComputedRef<boolean>;
9
+ dirty: import("vue").ComputedRef<boolean>;
10
+ undo: () => void;
11
+ redo: () => void;
12
+ markSaved: () => void;
13
+ reset: (value: WorkflowDesign, persisted?: WorkflowDesign) => void;
14
+ };
@@ -0,0 +1,3 @@
1
+ import { type MaybeRefOrGetter } from 'vue';
2
+ /** Hidden workspaces retain their last presentation until they have a real width. */
3
+ export declare function useWorkspaceDetailSurface(host: MaybeRefOrGetter<HTMLElement | undefined>, minimumWidth: MaybeRefOrGetter<number>): import("vue").Ref<boolean, boolean>;
@@ -0,0 +1,7 @@
1
+ import type { WorkflowDesign } from '../web-contracts/index';
2
+ export declare function copyWorkflowFragment(design: WorkflowDesign, selected: string[]): string;
3
+ export declare function pasteWorkflowFragment(design: WorkflowDesign, routeKey: string, text: string, prefix: string): {
4
+ design: WorkflowDesign;
5
+ keys: string[];
6
+ reconfigureSelectorKeys: string[];
7
+ };
@@ -2,6 +2,10 @@ import type { WorkflowNode, WorkflowRoute, WorkflowRenderBundle, WorkflowTaskPre
2
2
  import { type LanguageContext } from '../web-core/index';
3
3
  export declare function workflowTitle(value?: string, language?: LanguageContext): string;
4
4
  export declare function workflowNodePresentation<T extends WorkflowNode>(node: T, language: LanguageContext): T;
5
+ /** Node cards and the canvas share categorical type colors; runtime state has its own styling. */
6
+ export declare function workflowNodeAccent(kind: string): string | undefined;
7
+ /** Configuration and rendering share one presentation of the legacy non-blocking approval mode. */
8
+ export declare function workflowNodeKind(node: Pick<WorkflowNode, 'nodeType' | 'approvalMode'>): string;
5
9
  export declare function sameWorkflowTextSource(current: TextPresentation | undefined, next: TextPresentation | undefined): boolean;
6
10
  /** Frozen declarations refresh text independently of the latest check verdict; captured evidence stays intact. */
7
11
  export declare function refreshWorkflowTaskTextResources(current: WorkflowTaskPreparation, next: WorkflowTaskPreparation): WorkflowTaskPreparation;
@@ -1,6 +1,7 @@
1
1
  type __VLS_Props = {
2
2
  moduleAlias: string;
3
3
  moduleTitle?: string;
4
+ definitionId: string;
4
5
  };
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>;
6
7
  declare const _default: typeof __VLS_export;
@@ -0,0 +1,35 @@
1
+ import type { useWorkflowConfigurationContext } from './useWorkflowConfigurationContext';
2
+ type __VLS_Props = {
3
+ configuration: ReturnType<typeof useWorkflowConfigurationContext>;
4
+ creating: boolean;
5
+ busy: boolean;
6
+ actionCodeLocked?: boolean;
7
+ };
8
+ type __VLS_ModelProps = {
9
+ 'title': string;
10
+ 'approvalEnabled': boolean;
11
+ 'actionCode': string;
12
+ 'organizationId': string;
13
+ 'matchExpression': string;
14
+ 'fallback': boolean;
15
+ };
16
+ type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
17
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
18
+ submit: () => any;
19
+ "update:organizationId": (value: string) => any;
20
+ "update:matchExpression": (value: string) => any;
21
+ "update:fallback": (value: boolean) => any;
22
+ "update:title": (value: string) => any;
23
+ "update:approvalEnabled": (value: boolean) => any;
24
+ "update:actionCode": (value: string) => any;
25
+ }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
26
+ onSubmit?: (() => any) | undefined;
27
+ "onUpdate:organizationId"?: ((value: string) => any) | undefined;
28
+ "onUpdate:matchExpression"?: ((value: string) => any) | undefined;
29
+ "onUpdate:fallback"?: ((value: boolean) => any) | undefined;
30
+ "onUpdate:title"?: ((value: string) => any) | undefined;
31
+ "onUpdate:approvalEnabled"?: ((value: boolean) => any) | undefined;
32
+ "onUpdate:actionCode"?: ((value: string) => any) | undefined;
33
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
34
+ declare const _default: typeof __VLS_export;
35
+ export default _default;
@@ -1,27 +1,25 @@
1
1
  import { type ModuleContext } from '../web-core/index';
2
+ import type { FormulaExpressionTools } from '../platform-components/formulaExpressionTools';
2
3
  import type { FormulaExpressionField } from '../platform-components/formulaExpressionTokens';
3
4
  type __VLS_Props = {
4
5
  organizationContext?: ModuleContext<Record<string, unknown>>;
5
6
  fields: readonly FormulaExpressionField[];
6
7
  disabled: boolean;
7
- invalidPriority: boolean;
8
+ conditionTools?: FormulaExpressionTools;
8
9
  };
9
10
  type __VLS_ModelProps = {
10
11
  'organizationId': string;
11
12
  'matchExpression': string;
12
- 'matchPriority': string;
13
13
  'fallback': boolean;
14
14
  };
15
15
  type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
16
16
  declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
17
17
  "update:organizationId": (value: string) => any;
18
18
  "update:matchExpression": (value: string) => any;
19
- "update:matchPriority": (value: string) => any;
20
19
  "update:fallback": (value: boolean) => any;
21
20
  }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
22
21
  "onUpdate:organizationId"?: ((value: string) => any) | undefined;
23
22
  "onUpdate:matchExpression"?: ((value: string) => any) | undefined;
24
- "onUpdate:matchPriority"?: ((value: string) => any) | undefined;
25
23
  "onUpdate:fallback"?: ((value: boolean) => any) | undefined;
26
24
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
27
25
  declare const _default: typeof __VLS_export;
@@ -0,0 +1,49 @@
1
+ /** Shared module facts and formula assistance for definition management and design. */
2
+ export declare function useWorkflowConfigurationContext(moduleAlias: string): {
3
+ context: import("../web-core/index").ModuleContext<unknown>;
4
+ client: {
5
+ formulaFunctions: () => Promise<{
6
+ name: string;
7
+ title: string;
8
+ description: string;
9
+ example: string;
10
+ parameters: {
11
+ name: string;
12
+ description: string;
13
+ }[];
14
+ }[]>;
15
+ validateCondition: (expression: string) => Promise<void>;
16
+ sort: (id: string, targetId: string, position: -1 | 1) => Promise<unknown>;
17
+ catalog: (id: string) => Promise<import("../web-contracts").WorkflowConfigurationCatalog>;
18
+ query: () => Promise<import("../web-contracts").WorkflowDefinition[]>;
19
+ versions: (id: string) => Promise<import("../web-contracts").WorkflowVersion[]>;
20
+ create: (payload: import("../web-contracts").WorkflowDefinitionCreate) => Promise<import("../web-contracts").WorkflowDefinition>;
21
+ view: (id: string) => Promise<import("../web-contracts").WorkflowDefinition>;
22
+ upgrade: (id: string) => Promise<import("../web-contracts").WorkflowVersion>;
23
+ saveSelection: (id: string, payload: import("../web-contracts").WorkflowDefinitionSelection) => Promise<import("../web-contracts").WorkflowDefinition>;
24
+ design: (id: string, versionId: string) => Promise<import("../web-contracts").WorkflowDesign>;
25
+ saveDesign: (id: string, versionId: string, expectedVersion: number, design: import("../web-contracts").WorkflowDesign) => Promise<import("../web-contracts").WorkflowVersion>;
26
+ validate: (id: string, versionId: string) => Promise<unknown>;
27
+ publish: (id: string, versionId: string, definitionVersion: number, expectedVersion: number) => Promise<import("../web-contracts").WorkflowVersion>;
28
+ changeStatus: (id: string, action: "enable" | "disable" | "archive", expectedVersion: number) => Promise<import("../web-contracts").WorkflowDefinition>;
29
+ };
30
+ language: import("../web-core/index").LanguageContext;
31
+ businessRuntime: import("vue").ComputedRef<import("../web-core/index").ModuleRuntimeContext | undefined>;
32
+ fields: import("vue").ComputedRef<{
33
+ name: string;
34
+ label: string;
35
+ valueType: import("../web-contracts").ViewFieldValueType | undefined;
36
+ referenceModule: string | undefined;
37
+ }[]>;
38
+ organizationContext: import("vue").ComputedRef<import("../web-core/index").ModuleContext<Record<string, unknown>> | undefined>;
39
+ conditionTools: {
40
+ loadFunctions: () => Promise<{
41
+ name: string;
42
+ title: string;
43
+ description: string;
44
+ example: string;
45
+ signature: string;
46
+ }[]>;
47
+ validate: (expression: string) => Promise<void>;
48
+ };
49
+ };
@@ -1,5 +1,7 @@
1
1
  export interface WorkflowConfigurationInput {
2
2
  moduleAlias: string;
3
3
  moduleTitle?: string;
4
+ definitionId: string;
5
+ definitionTitle?: string;
4
6
  }
5
7
  export declare const workflowConfigurationWorkspaceView: import("../platform-workbench/workspaceViewContract.ts").WorkspaceViewDefinition<WorkflowConfigurationInput>;
@@ -1,4 +1,4 @@
1
- export type UiIconName = 'app' | 'language' | 'assistant' | 'check' | 'close' | 'delete' | 'download' | 'down' | 'up' | 'edit' | 'export' | 'eye' | 'eye-off' | 'filter' | 'help' | 'left' | 'lock' | 'menu-collapse' | 'menu-expand' | 'minus' | 'notification' | 'open-in-new' | 'plus' | 'pin-off' | 'pin' | 'power' | 'reload' | 'right' | 'save' | 'search' | 'skin' | 'settings' | 'swap' | 'swap-vertical' | 'user';
1
+ export type UiIconName = 'app' | 'fit-screen' | 'locate-start' | 'locate-end' | 'zoom-in' | 'zoom-out' | 'locate' | 'layout' | 'fullscreen' | 'fullscreen-exit' | 'language' | 'assistant' | 'check' | 'close' | 'delete' | 'download' | 'down' | 'up' | 'edit' | 'export' | 'eye' | 'eye-off' | 'filter' | 'help' | 'left' | 'lock' | 'menu-collapse' | 'menu-expand' | 'minus' | 'notification' | 'open-in-new' | 'plus' | 'pin-off' | 'pin' | 'power' | 'reload' | 'right' | 'save' | 'search' | 'skin' | 'settings' | 'swap' | 'swap-vertical' | 'user';
2
2
  type __VLS_Props = {
3
3
  name: UiIconName;
4
4
  };
@@ -2,12 +2,16 @@ export interface UiRadioOption {
2
2
  value: string;
3
3
  label: string;
4
4
  disabled?: boolean;
5
+ description?: string;
6
+ /** Optional categorical accent for card borders; accepts a CSS color or theme variable. */
7
+ color?: string;
5
8
  }
6
9
  type __VLS_Props = {
7
10
  value?: string;
8
11
  options: readonly UiRadioOption[];
9
12
  disabled?: boolean;
10
13
  size?: 'small' | 'default' | 'large';
14
+ appearance?: 'buttons' | 'cards';
11
15
  };
12
16
  declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
13
17
  "update:value": (value: string) => any;
@@ -3,6 +3,9 @@ import { type UiDrawerCloseGuard, type UiDrawerDismissal } from '../drawerDismis
3
3
  import { type UiSidePanelScope } from './sidePanelHost';
4
4
  type __VLS_Props = {
5
5
  open: boolean;
6
+ /** Keep a transfer target mounted when an adaptive detail surface is docked. */
7
+ forceRender?: boolean;
8
+ autofocus?: boolean;
6
9
  /** Inline surfaces stay in their owning workspace. */
7
10
  renderMode?: 'inline' | 'portal';
8
11
  width?: UiDrawerWidth;
@@ -25,6 +28,8 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {},
25
28
  }>, {
26
29
  scope: UiSidePanelScope;
27
30
  width: UiDrawerWidth;
31
+ autofocus: boolean;
32
+ forceRender: boolean;
28
33
  renderMode: "inline" | "portal";
29
34
  dismissal: UiDrawerDismissal;
30
35
  closeOnOutside: boolean;
@@ -36,6 +36,7 @@ export { default as DictionarySelect } from './components/DictionarySelect.vue';
36
36
  export { default as ReferenceSelect } from './components/ReferenceSelect.vue';
37
37
  export { default as UiTable } from './components/UiTable.vue';
38
38
  export { confirmAction } from './confirm';
39
+ export { uiOverlayLayers } from './overlayLayers';
39
40
  export { allowsUiDrawerOutsideDismissal, mayCloseUiDrawer, resolveUiDrawerDismissal, } from './drawerDismissal';
40
41
  export type { UiDrawerCloseGuard, UiDrawerCloseReason, UiDrawerDismissal, UiDrawerDismissalOptions, } from './drawerDismissal';
41
42
  export { showErrorMessage, showFeedback, showInfoMessage, showSuccessMessage, showWarningMessage, } from './feedback';
@@ -0,0 +1,5 @@
1
+ /** Notifications remain above page overlays; their own confirmations must remain actionable. */
2
+ export declare const uiOverlayLayers: {
3
+ readonly notification: 1200;
4
+ readonly notificationConfirmation: 1210;
5
+ };
@@ -123,6 +123,8 @@ export interface UiTreeDropEvent {
123
123
  }
124
124
  export type UiTreeChangeReason = 'interaction' | 'filter' | 'reset';
125
125
  export interface UiConfirmOptions {
126
+ /** Use the notification layer when the confirmation originates from a persistent notification. */
127
+ layer?: 'standard' | 'notification';
126
128
  title: string;
127
129
  content?: string;
128
130
  details?: {
@@ -126,6 +126,10 @@ export interface WebBusinessNotification {
126
126
  content: string;
127
127
  dismissible: boolean;
128
128
  actions: WebBusinessNotificationAction[];
129
+ /** Persistent cards remain above ordinary overlays and outside the collapsible queue. */
130
+ displayPolicy?: 'standard' | 'persistent';
131
+ /** Optional absolute action deadline, in ISO-8601 format. */
132
+ expiresAt?: string;
129
133
  /** Optional standard card accent. Omit it to use the neutral platform presentation. */
130
134
  tone?: WebBusinessNotificationTone;
131
135
  /** The business fact's occurrence time, displayed in the workbench time zone when supplied. */
@@ -3,14 +3,16 @@ import type { TextPresentation } from './index';
3
3
  export interface WorkflowDefinition {
4
4
  id: string;
5
5
  version: number;
6
- alias: string;
6
+ alias?: string | null;
7
+ actionCode?: string | null;
7
8
  title?: string;
8
9
  definitionStatus: string;
9
10
  currentVersionNo?: number;
10
11
  approvalEnabled: boolean;
11
12
  organizationId?: string;
12
13
  matchExpression?: string;
13
- matchPriority?: number;
14
+ sortOrder?: number;
15
+ tenantId?: string;
14
16
  defaultDefinition?: boolean;
15
17
  }
16
18
  export interface WorkflowVersion {
@@ -151,8 +153,9 @@ export interface WorkflowStatus {
151
153
  errorMessage?: string;
152
154
  errorMessageText?: TextPresentation;
153
155
  definition?: {
156
+ definitionId?: string;
154
157
  definitionTitle?: string;
155
- definitionAlias?: string;
158
+ definitionAlias?: string | null;
156
159
  };
157
160
  }
158
161
  export interface WorkflowRenderBundle {
@@ -290,18 +293,23 @@ export interface WorkflowConfigurationCatalog {
290
293
  }[];
291
294
  }
292
295
  export interface WorkflowDefinitionSelection {
296
+ actionCode?: string;
293
297
  version: number;
294
298
  title: string;
295
299
  organizationId: string | null;
296
300
  matchExpression: string | null;
297
- matchPriority: number;
298
301
  defaultDefinition: boolean;
299
302
  }
300
- export interface WorkflowDefinitionCreate extends Omit<WorkflowDefinitionSelection, 'version'> {
301
- alias: string;
302
- approvalEnabled: boolean;
303
+ export type WorkflowDefinitionCreate = Omit<WorkflowDefinitionSelection, 'version' | 'actionCode'> & {
304
+ alias?: string | null;
303
305
  enabled: boolean;
304
- }
306
+ } & ({
307
+ approvalEnabled: true;
308
+ actionCode?: string;
309
+ } | {
310
+ approvalEnabled: false;
311
+ actionCode: string;
312
+ });
305
313
  export interface WorkflowAdminInstance {
306
314
  instanceId: string;
307
315
  moduleAlias: string;
@@ -1,4 +1,6 @@
1
- import type { WebBusinessNotificationRecordAction } from '../web-contracts/index';
1
+ import type { WebBusinessNotification, WebBusinessNotificationRecordAction } from '../web-contracts/index';
2
2
  import type { HttpClient } from './http';
3
3
  /** Calls the standard record action declared by a notification. */
4
4
  export declare function invokeBusinessNotificationRecordAction(http: HttpClient, action: WebBusinessNotificationRecordAction): Promise<unknown>;
5
+ /** Invalid supplied deadlines fail closed; an omitted deadline preserves legacy actions. */
6
+ export declare function businessNotificationExpired(notification: Pick<WebBusinessNotification, 'expiresAt'>, now?: number): boolean;
@@ -47,6 +47,18 @@ export declare function createWorkflowClient(http: HttpClient): {
47
47
  };
48
48
  /** Definition commands are scoped to the owning business module. */
49
49
  export declare function createWorkflowDefinitionClient(http: HttpClient, moduleAlias: string): {
50
+ formulaFunctions: () => Promise<{
51
+ name: string;
52
+ title: string;
53
+ description: string;
54
+ example: string;
55
+ parameters: {
56
+ name: string;
57
+ description: string;
58
+ }[];
59
+ }[]>;
60
+ validateCondition: (expression: string) => Promise<void>;
61
+ sort: (id: string, targetId: string, position: -1 | 1) => Promise<unknown>;
50
62
  catalog: (id: string) => Promise<WorkflowConfigurationCatalog>;
51
63
  query: () => Promise<WorkflowDefinition[]>;
52
64
  versions: (id: string) => Promise<WorkflowVersion[]>;
@@ -58,7 +70,7 @@ export declare function createWorkflowDefinitionClient(http: HttpClient, moduleA
58
70
  saveDesign: (id: string, versionId: string, expectedVersion: number, design: WorkflowDesign) => Promise<WorkflowVersion>;
59
71
  validate: (id: string, versionId: string) => Promise<unknown>;
60
72
  publish: (id: string, versionId: string, definitionVersion: number, expectedVersion: number) => Promise<WorkflowVersion>;
61
- changeStatus: (id: string, action: "disable" | "archive", expectedVersion: number) => Promise<WorkflowDefinition>;
73
+ changeStatus: (id: string, action: "enable" | "disable" | "archive", expectedVersion: number) => Promise<WorkflowDefinition>;
62
74
  };
63
75
  /** Management projections and commands keep their separate authorization boundary. */
64
76
  export declare function createWorkflowAdminClient(http: HttpClient): {