@ximatai/muyun-web-app 0.26.22 → 0.26.24

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 (59) hide show
  1. package/dist/{BusinessActivityLogView-CXBpVbZW.js → BusinessActivityLogView-DQ5_VmLp.js} +2 -2
  2. package/dist/{BusinessLogListDrawer-DToyqP9V.js → BusinessLogListDrawer-BnucgqNA.js} +116 -116
  3. package/dist/{CodeConfigurationView-DAdbnF2Y.js → CodeConfigurationView-CtQjmpLz.js} +527 -527
  4. package/dist/{ConfigurationTranslationView-D1aLZQlx.js → ConfigurationTranslationView-BiYn2MJx.js} +26 -26
  5. package/dist/{LoginAuditLogView-DRxp6BbU.js → LoginAuditLogView-BIz1LVC3.js} +2 -2
  6. package/dist/ModuleActionManagementView-0_ek9yag.js +780 -0
  7. package/dist/{ModuleGovernanceView-C7V5KQcA.js → ModuleGovernanceView-DEDF61vj.js} +3061 -3061
  8. package/dist/{RequestErrorLogView-S6O4ha82.js → RequestErrorLogView-HatmiK8_.js} +2 -2
  9. package/dist/RoleDetailWorkspaceView-BzzoarpR.js +1435 -0
  10. package/dist/{RuntimeLogView-BuF-xgEc.js → RuntimeLogView-Vdt6SWK6.js} +65 -65
  11. package/dist/{WorkflowAdministrationView-DkK3Wybi.js → WorkflowAdministrationView-Dlw2ng0N.js} +193 -193
  12. package/dist/{WorkflowConfigurationView-8DFNdIyI.js → WorkflowConfigurationView-j2xnGmkM.js} +39 -39
  13. package/dist/{WorkflowWorkbenchView-CAloU49z.js → WorkflowWorkbenchView-Nv4mvTTP.js} +122 -122
  14. package/dist/{codeConfiguration-BV9yki1E.js → codeConfiguration-B_z1qQvB.js} +43 -43
  15. package/dist/index.css +1 -1
  16. package/dist/index.js +1344 -818
  17. package/dist/moduleMenuWorkspace-1N0U7QW9.js +626 -0
  18. package/dist/{platform-components-C9cG_1E2.js → platform-components-Xb5qgsXU.js} +3088 -2999
  19. package/dist/{platform-workbench-BSTroBaq.js → platform-workbench-VhgKhPLI.js} +5106 -5031
  20. package/dist/record-read.js +2 -0
  21. package/dist/recordReadEntry-CxDHM44F.js +152 -0
  22. package/dist/types/app/CurrentUserProfileDialog.vue.d.ts +6 -0
  23. package/dist/types/app/ExternalIdentityBindings.vue.d.ts +8 -0
  24. package/dist/types/app/ExternalProvisioningConfirmation.vue.d.ts +15 -0
  25. package/dist/types/app/LoginView.vue.d.ts +3 -1
  26. package/dist/types/app/WeLinkQrCode.vue.d.ts +11 -0
  27. package/dist/types/app/externalLoginReturn.d.ts +38 -0
  28. package/dist/types/app/useExternalLoginHost.d.ts +27 -0
  29. package/dist/types/app/weLinkQrCode.d.ts +22 -0
  30. package/dist/types/consumer/index.d.ts +7 -2
  31. package/dist/types/consumer/recordRead.d.ts +6 -0
  32. package/dist/types/dynamic-page-runtime/ManagedDetailRelationInlineSurface.vue.d.ts +1 -0
  33. package/dist/types/dynamic-page-runtime/ManagedDetailRelationSurface.vue.d.ts +1 -0
  34. package/dist/types/dynamic-page-runtime/ModulePageBusinessSession.d.ts +4 -0
  35. package/dist/types/dynamic-page-runtime/ModulePageDetailRelations.vue.d.ts +1 -0
  36. package/dist/types/dynamic-page-runtime/ModulePageHostRuntime.vue.d.ts +11 -15
  37. package/dist/types/dynamic-page-runtime/composables/useModulePageDetailActionRuntime.d.ts +2 -0
  38. package/dist/types/dynamic-page-runtime/useModulePageSession.d.ts +2 -0
  39. package/dist/types/platform-admin-runtime/job/ScheduledActionTargetFields.vue.d.ts +7 -0
  40. package/dist/types/platform-admin-runtime/scheduledActionPlanPageEnhancement.d.ts +3 -0
  41. package/dist/types/platform-components/BusinessNotificationCard.vue.d.ts +30 -0
  42. package/dist/types/platform-components/BusinessNotificationPanel.vue.d.ts +4 -39
  43. package/dist/types/platform-components/FileTransferUploader.vue.d.ts +1 -1
  44. package/dist/types/platform-components/RecordExplorerPanel.vue.d.ts +8 -17
  45. package/dist/types/platform-components/RecordFileReferenceTransfer.vue.d.ts +2 -0
  46. package/dist/types/platform-components/RecordFormFields.vue.d.ts +2 -2
  47. package/dist/types/platform-components/SingleImageFileReferenceField.vue.d.ts +4 -0
  48. package/dist/types/platform-components/fileReferenceTransfer.d.ts +9 -2
  49. package/dist/types/platform-components/managementWorkspaceContext.d.ts +2 -1
  50. package/dist/types/platform-components/useNotificationDeckMotion.d.ts +7 -0
  51. package/dist/types/views/businessRuleGovernance.d.ts +1 -0
  52. package/dist/types/web-contracts/index.d.ts +71 -2
  53. package/dist/types/web-core/clients.d.ts +11 -1
  54. package/dist/{useWorkflowConfigurationContext-ClwD0BWE.js → useWorkflowConfigurationContext-BLFXzHwn.js} +8 -8
  55. package/dist/{workspaceViews-Cvi7uakV.js → workspaceViews-Cas3PR5B.js} +1035 -879
  56. package/package.json +5 -1
  57. package/dist/ModuleActionManagementView-D4oXCnW2.js +0 -755
  58. package/dist/RoleDetailWorkspaceView-lg4XwTlN.js +0 -1435
  59. package/dist/moduleMenuWorkspace-BBOQrHeT.js +0 -626
@@ -43,7 +43,7 @@ declare var __VLS_9: {
43
43
  group: import("../web-contracts/index").FormGroupDescriptor | undefined;
44
44
  }, __VLS_20: {
45
45
  field: RecordFormFieldState;
46
- }, __VLS_225: {
46
+ }, __VLS_227: {
47
47
  field: RecordFormFieldState;
48
48
  };
49
49
  type __VLS_Slots = {} & {
@@ -53,7 +53,7 @@ type __VLS_Slots = {} & {
53
53
  } & {
54
54
  'field-actions'?: (props: typeof __VLS_20) => any;
55
55
  } & {
56
- 'after-field'?: (props: typeof __VLS_225) => any;
56
+ 'after-field'?: (props: typeof __VLS_227) => any;
57
57
  };
58
58
  declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
59
59
  "validity-change": (validity: RecordFormValidity) => any;
@@ -2,6 +2,8 @@ import { type ModuleContext } from '../web-core/index';
2
2
  import type { ResolvedFileReferenceFieldDescriptor } from '../web-contracts/index';
3
3
  type __VLS_Props = {
4
4
  label: string;
5
+ /** Hides the field title and places the available actions below the image. */
6
+ hideLabel?: boolean;
5
7
  required?: boolean;
6
8
  value: unknown;
7
9
  record: Record<string, unknown>;
@@ -16,8 +18,10 @@ type __VLS_Props = {
16
18
  };
17
19
  declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
18
20
  "update:value": (value: string | undefined) => any;
21
+ "update:record-id": (recordId: string) => any;
19
22
  }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
20
23
  "onUpdate:value"?: ((value: string | undefined) => any) | undefined;
24
+ "onUpdate:record-id"?: ((recordId: string) => any) | undefined;
21
25
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
22
26
  declare const _default: typeof __VLS_export;
23
27
  export default _default;
@@ -1,8 +1,15 @@
1
- import type { HttpClient } from '../web-core/index';
1
+ import { type HttpClient } from '../web-core/index';
2
2
  import type { ResolvedFileReferenceFieldDescriptor } from '../web-contracts/index';
3
3
  import type { FileTransferUploadAccess } from './fileTransferUpload';
4
+ export interface FileReferenceUploadAccess extends FileTransferUploadAccess {
5
+ registrationId: string;
6
+ }
7
+ /** Gives every upload from the same new draft a stable entity identity before ordinary CRUD save. */
8
+ export declare function fileReferenceDraftRecordId(draft: Record<string, unknown>): string;
4
9
  /** Issues the module-owned short-lived upload ticket for a declared file-reference field. */
5
- export declare function issueFileReferenceUploadAccess(http: HttpClient, moduleAlias: string, definition: ResolvedFileReferenceFieldDescriptor, draft: Record<string, unknown>, file: File, intent: FileReferenceUploadIntent): Promise<FileTransferUploadAccess>;
10
+ export declare function issueFileReferenceUploadAccess(http: HttpClient, moduleAlias: string, definition: ResolvedFileReferenceFieldDescriptor, draft: Record<string, unknown>, file: File, intent: FileReferenceUploadIntent): Promise<FileReferenceUploadAccess>;
11
+ /** Binds the direct-upload result to its platform-issued upload registration before updating the draft. */
12
+ export declare function registerFileReferenceUpload(http: HttpClient, moduleAlias: string, ticketId: string, fileId: string): Promise<void>;
6
13
  /** Uploads one DATABASE_INLINE field through the same authenticated platform HTTP client. */
7
14
  export declare function uploadInlineFileReference(http: HttpClient, moduleAlias: string, definition: ResolvedFileReferenceFieldDescriptor, draft: Record<string, unknown>, file: File, intent: FileReferenceUploadIntent): Promise<{
8
15
  file: File;
@@ -8,7 +8,8 @@ export interface ManagementWorkspaceContext {
8
8
  registerExplorer: (registration: ManagementWorkspaceExplorerRegistration) => void;
9
9
  unregisterExplorer: (id: string) => void;
10
10
  isExplorerCollapsed: (id: string) => boolean;
11
- toggleExplorer: (id: string) => void;
11
+ expandExplorer: (id: string) => void;
12
+ collapseExplorer: (id: string) => void;
12
13
  collapsedExplorerOffset: (id: string) => number;
13
14
  hasCollapsedExplorers: ComputedRef<boolean>;
14
15
  }
@@ -0,0 +1,7 @@
1
+ import { type Ref } from 'vue';
2
+ /** Keep cards on a continuous path when the bell changes their layout. */
3
+ export declare function useNotificationDeckMotion(host: Ref<HTMLElement | undefined>, expanded: Ref<boolean>): {
4
+ moving: Ref<boolean, boolean>;
5
+ arrange: (open: boolean) => Promise<boolean>;
6
+ stop: () => void;
7
+ };
@@ -150,6 +150,7 @@ export interface BusinessRuleProposal {
150
150
  }
151
151
  export interface BusinessRuleIssue {
152
152
  readonly messageSources?: readonly OperationErrorMessage[];
153
+ readonly messageText?: TextPresentation | null;
153
154
  code: string;
154
155
  ruleCode?: string;
155
156
  field?: string;
@@ -126,7 +126,7 @@ 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. */
129
+ /** Persistent floating cards remain actionable above ordinary overlays; all reminders share the current collection. */
130
130
  displayPolicy?: 'standard' | 'persistent';
131
131
  /** Optional absolute action deadline, in ISO-8601 format. */
132
132
  expiresAt?: string;
@@ -247,6 +247,71 @@ export interface TenantBranding {
247
247
  export interface TenantLoginContext {
248
248
  tenantId: string;
249
249
  branding?: TenantBranding;
250
+ /** External identity providers the tenant offers on its sign-in entry; empty when federation is off. */
251
+ externalLoginMethods?: ExternalLoginMethod[];
252
+ }
253
+ export interface ExternalLoginMethod {
254
+ providerId: string;
255
+ title: string;
256
+ providerType: string;
257
+ }
258
+ /**
259
+ * A started external sign-in or bind transaction. `state` and `browserProof` must stay in the initiating
260
+ * browser; only that browser can complete the transaction, and the proof is never put into a URL.
261
+ */
262
+ export interface ExternalLoginStart {
263
+ transactionId: string;
264
+ state: string;
265
+ authorizationUrl: string;
266
+ browserProof: string;
267
+ expiresAt: string;
268
+ qrCode?: {
269
+ providerType: string;
270
+ scriptUrl: string;
271
+ authorizationUrl: string;
272
+ clientId: string;
273
+ redirectUri: string;
274
+ state: string;
275
+ scope: string;
276
+ messageOrigin: string;
277
+ } | null;
278
+ }
279
+ export type ExternalLoginStatus = 'succeeded' | 'denied' | 'expired' | 'confirmationRequired' | 'reviewPending' | 'reviewRejected';
280
+ export type ExternalLoginFailure = 'admissionRejected' | 'identityNotBound' | 'identityConflict' | 'alreadyBound' | 'enterpriseMismatch' | 'policyDisabled' | 'accountUnavailable' | 'sessionEnded' | 'providerRejected' | 'providerUnavailable' | 'internalError';
281
+ export type ExternalLoginPurpose = 'login' | 'bind';
282
+ export interface ExternalIdentityView {
283
+ id: string;
284
+ providerId: string;
285
+ providerTitle: string;
286
+ externalUserId: string;
287
+ displayName?: string;
288
+ boundAt: string;
289
+ lastAuthenticatedAt?: string;
290
+ }
291
+ /** What the initiating browser submits after the provider returned it to the workbench. */
292
+ export interface ExternalLoginCompleteRequest {
293
+ state: string;
294
+ browserProof: string;
295
+ /** Every provider parameter on the return address, verified on the server. */
296
+ parameters: Record<string, string>;
297
+ }
298
+ export interface ExternalProvisioningProfile {
299
+ displayName: string;
300
+ tenantId: string;
301
+ departmentIds: string[];
302
+ placements?: string[];
303
+ }
304
+ export interface ExternalLoginCompletion {
305
+ status: ExternalLoginStatus;
306
+ purpose: ExternalLoginPurpose;
307
+ failure?: ExternalLoginFailure;
308
+ login?: LoginResult;
309
+ binding?: ExternalIdentityView;
310
+ confirmation?: ExternalProvisioningProfile;
311
+ }
312
+ export interface OwnExternalIdentities {
313
+ bindings: ExternalIdentityView[];
314
+ bindableProviders: ExternalLoginMethod[];
250
315
  }
251
316
  export interface LoginRequest {
252
317
  tenantId?: string;
@@ -1411,6 +1476,8 @@ export interface UserSessionView {
1411
1476
  maxExpiresAt?: string;
1412
1477
  lastSeenAt?: string;
1413
1478
  passwordChangeRequired?: boolean;
1479
+ /** How the session was authenticated, for example `password`. */
1480
+ authenticationMethod?: string;
1414
1481
  loginIp?: string;
1415
1482
  loginUserAgent?: string;
1416
1483
  terminalType?: string;
@@ -1433,7 +1500,8 @@ export interface UserSessionStatusView {
1433
1500
  presentSessionCount?: number;
1434
1501
  idleSessionCount?: number;
1435
1502
  }
1436
- export type UserPasswordStatus = 'normal' | 'initial' | 'resetRequired' | 'expired';
1503
+ /** `none` marks an account that has no local password and signs in through another method. */
1504
+ export type UserPasswordStatus = 'normal' | 'initial' | 'resetRequired' | 'expired' | 'none';
1437
1505
  export interface ResetPasswordResponse {
1438
1506
  count: number;
1439
1507
  temporaryPassword?: string;
@@ -1586,6 +1654,7 @@ export interface PlatformModule extends StandardEnabledTreeEntity {
1586
1654
  }
1587
1655
  /** A governed operation exposed by one platform module. */
1588
1656
  export interface PlatformModuleAction extends StandardEnabledSortableEntity {
1657
+ schedulable?: boolean;
1589
1658
  bindingPending?: boolean;
1590
1659
  formSupported?: boolean;
1591
1660
  moduleAlias?: string;
@@ -1,4 +1,4 @@
1
- import type { ChangeOwnPasswordRequest, CurrentUserProfile, CurrentUser, LoginRequest, LoginResult, UpdateCurrentUserProfileRequest, MenuMineResponse, PageBootstrap, TenantBranding, TenantLoginContext } from '../web-contracts/index';
1
+ import type { ChangeOwnPasswordRequest, CurrentUserProfile, CurrentUser, ExternalLoginCompleteRequest, ExternalLoginCompletion, ExternalLoginStart, LoginRequest, LoginResult, UpdateCurrentUserProfileRequest, MenuMineResponse, OwnExternalIdentities, PageBootstrap, TenantBranding, TenantLoginContext } from '../web-contracts/index';
2
2
  import type { HttpClient } from './http';
3
3
  export interface SessionClient {
4
4
  current(): Promise<CurrentUser>;
@@ -18,6 +18,15 @@ export interface AuthClient {
18
18
  updateCurrentProfile(request: UpdateCurrentUserProfileRequest, token: string): Promise<CurrentUserProfile>;
19
19
  logout(token?: string): Promise<void>;
20
20
  }
21
+ /** External identity sign-in and the current user's bindings; available only when federation is enabled. */
22
+ export interface ExternalLoginClient {
23
+ startLogin(providerId: string, tenantId: string): Promise<ExternalLoginStart>;
24
+ startBind(providerId: string, token: string): Promise<ExternalLoginStart>;
25
+ complete(providerId: string, request: ExternalLoginCompleteRequest): Promise<ExternalLoginCompletion>;
26
+ confirm(providerId: string, request: Omit<ExternalLoginCompleteRequest, 'parameters'>): Promise<ExternalLoginCompletion>;
27
+ identities(token: string): Promise<OwnExternalIdentities>;
28
+ unbind(identityId: string, token: string): Promise<void>;
29
+ }
21
30
  /** Resolves the public context used by a tenant-locked login entry. */
22
31
  export interface LoginContextClient {
23
32
  loginContext(tenantId: string): Promise<TenantLoginContext>;
@@ -33,4 +42,5 @@ export declare function createPageBootstrapClient(http: HttpClient): PageBootstr
33
42
  * contract instead of requiring application-level compatibility code.
34
43
  */
35
44
  export declare function normalizeMenuMineResponse(response: unknown): MenuMineResponse;
45
+ export declare function createExternalLoginClient(http: HttpClient): ExternalLoginClient;
36
46
  export declare function createAuthClient(http: HttpClient): AuthClient;
@@ -1,9 +1,9 @@
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";
1
+ import { E as e, y as t } from "./platform-workbench-VhgKhPLI.js";
2
+ import { Gr as n, Jr as r, Pr as i, Za as a, Zr as o, _n as s, zt as c } from "./platform-components-Xb5qgsXU.js";
3
3
  import { computed as l, onMounted as u } from "vue";
4
4
  //#region src/views/useWorkflowConfigurationContext.ts
5
5
  function d(d) {
6
- let f = i(), p = s({ moduleAlias: "platform.workflow.definition" }), m = n(p.http, d), h = {
6
+ let f = a(), p = r({ moduleAlias: "platform.workflow.definition" }), m = i(p.http, d), h = {
7
7
  loadFunctions: async () => (await m.formulaFunctions()).map((e) => ({
8
8
  name: e.name,
9
9
  title: e.title,
@@ -12,12 +12,12 @@ function d(d) {
12
12
  signature: `${e.name}(${e.parameters.map((e) => e.name).join(", ")})`
13
13
  })),
14
14
  validate: (e) => m.validateCondition(e)
15
- }, g = r({
15
+ }, g = n({
16
16
  http: p.http,
17
17
  language: f,
18
18
  moduleAlias: d,
19
19
  runtimeAccess: "VIEW"
20
- }), _ = t(), v = l(() => _?.value?.tenantId ? r({
20
+ }), _ = t(), v = l(() => _?.value?.tenantId ? n({
21
21
  http: p.http,
22
22
  language: f,
23
23
  moduleAlias: "iam.organization",
@@ -30,14 +30,14 @@ function d(d) {
30
30
  try {
31
31
  await g.runtime.refreshTexts?.();
32
32
  } catch (e) {
33
- o(e, {
33
+ s(e, {
34
34
  source: "workflow-design",
35
35
  phase: "load"
36
36
  });
37
37
  }
38
38
  }
39
39
  });
40
- let y = l(() => a(g.runtime)), b = l(() => [...c(y.value?.uiDescriptor)].map(([e, t]) => ({
40
+ let y = l(() => o(g.runtime)), b = l(() => [...c(y.value?.uiDescriptor)].map(([e, t]) => ({
41
41
  name: e,
42
42
  label: t.label ?? e,
43
43
  valueType: t.valueType,
@@ -47,7 +47,7 @@ function d(d) {
47
47
  try {
48
48
  await g.runtime.ready;
49
49
  } catch (e) {
50
- o(e, {
50
+ s(e, {
51
51
  source: "workflow-design",
52
52
  phase: "load"
53
53
  });