@ximatai/muyun-web-app 0.26.16 → 0.26.17
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.
- package/dist/{BusinessActivityLogView-DVM_GB5y.js → BusinessActivityLogView-9RrW-RKb.js} +2 -2
- package/dist/BusinessLogListDrawer-DYVx9tiQ.js +864 -0
- package/dist/{ConfigurationTranslationView-B0FosDyz.js → ConfigurationTranslationView-Bh_ekuMP.js} +40 -40
- package/dist/{LoginAuditLogView-3tAozKlC.js → LoginAuditLogView-DG6iBXEn.js} +2 -2
- package/dist/ModuleActionManagementView-DgHqhoMN.js +755 -0
- package/dist/{ModuleGovernanceView-DsqR_Sj7.js → ModuleGovernanceView-C53RnUzc.js} +2994 -2994
- package/dist/{RequestErrorLogView-C4yH-TSX.js → RequestErrorLogView-Ba5p0hLE.js} +2 -2
- package/dist/{RoleDetailWorkspaceView-BpOoGUwS.js → RoleDetailWorkspaceView-C3TBqksY.js} +157 -157
- package/dist/{RuntimeLogView-CoKKpJ39.js → RuntimeLogView-BFEABm8G.js} +66 -66
- package/dist/WorkflowAdministrationView-BOHG2e-I.js +650 -0
- package/dist/WorkflowConfigurationView-A0m5tBX9.js +1097 -0
- package/dist/WorkflowWorkbenchView-DGpNDt5V.js +759 -0
- package/dist/index.css +1 -1
- package/dist/index.js +606 -590
- package/dist/moduleGovernanceWorkspaceView-DNKzYX0x.js +667 -0
- package/dist/{platform-components-Cl5ZZiuU.js → platform-components-BBfyINHa.js} +8858 -6085
- package/dist/{platform-workbench-CAHoriIf.js → platform-workbench-C1hmkOUD.js} +6546 -6637
- package/dist/types/app/CurrentUserProfileDialog.vue.d.ts +1 -1
- package/dist/types/app/useAssistantAvailability.d.ts +8 -0
- package/dist/types/app/useCurrentUserProfile.d.ts +12 -0
- package/dist/types/app/workbenchRouteSync.d.ts +2 -0
- package/dist/types/consumer/AppWorkbenchShell.vue.d.ts +4 -2
- package/dist/types/dynamic-page-runtime/ModulePageBusinessSession.d.ts +8 -8
- package/dist/types/dynamic-page-runtime/ModulePageHostRuntime.vue.d.ts +208 -92
- package/dist/types/dynamic-page-runtime/assistantQueryCapabilities.d.ts +1 -0
- package/dist/types/dynamic-page-runtime/composables/useManagedDetailRelationRuntime.d.ts +2 -2
- package/dist/types/dynamic-page-runtime/composables/useNavigatorRuntime.d.ts +2 -2
- package/dist/types/dynamic-page-runtime/useModulePageSession.d.ts +4 -4
- package/dist/types/dynamic-page-runtime/useModuleRecordDataChanges.d.ts +4 -0
- package/dist/types/main.d.ts +0 -1
- package/dist/types/platform-components/BusinessContentGenerationPanel.vue.d.ts +22 -0
- package/dist/types/platform-components/BusinessContentQueryNotice.vue.d.ts +17 -0
- package/dist/types/platform-components/CrudRecordListExplorer.vue.d.ts +2 -2
- package/dist/types/platform-components/DictionaryOptionDialog.vue.d.ts +4 -4
- package/dist/types/platform-components/DictionaryOptionDialogChoiceList.vue.d.ts +1 -1
- package/dist/types/platform-components/DictionaryPicker.vue.d.ts +4 -4
- package/dist/types/platform-components/ObjectPickerInput.vue.d.ts +2 -2
- package/dist/types/platform-components/QueryCriteriaGroupEditor.vue.d.ts +2 -2
- package/dist/types/platform-components/RecordContentSourceField.vue.d.ts +22 -0
- package/dist/types/platform-components/RecordContentTranslationField.vue.d.ts +26 -0
- package/dist/types/platform-components/RecordDataExchangeSurface.vue.d.ts +26 -0
- package/dist/types/platform-components/RecordDetailFields.vue.d.ts +3 -2
- package/dist/types/platform-components/RecordFormFields.vue.d.ts +3 -2
- package/dist/types/platform-components/RecordModeDrawer.vue.d.ts +1 -1
- package/dist/types/platform-components/RecordQueryListCell.vue.d.ts +1 -0
- package/dist/types/platform-components/RecordQueryListPanel.vue.d.ts +1 -1
- package/dist/types/platform-components/RecordQueryListSurface.vue.d.ts +1 -1
- package/dist/types/{dynamic-page-runtime/ModuleDataExchangeSurface.vue.d.ts → platform-components/RecordQuerySortSelector.vue.d.ts} +5 -9
- package/dist/types/platform-components/RecordRelationValue.vue.d.ts +2 -0
- package/dist/types/platform-components/StaticManagementLayout.vue.d.ts +7 -2
- package/dist/types/platform-components/WorkflowRecordPanel.vue.d.ts +2 -0
- package/dist/types/platform-components/WorkflowTimeline.vue.d.ts +4 -0
- package/dist/types/platform-components/crudRecordListModel.d.ts +1 -0
- package/dist/types/platform-components/index.d.ts +1 -0
- package/dist/types/platform-components/loadExplorerRecords.d.ts +3 -0
- package/dist/types/platform-components/recordDetailFieldModel.d.ts +2 -0
- package/dist/types/platform-components/recordFormFieldModel.d.ts +2 -0
- package/dist/types/platform-components/recordQueryListQueryController.d.ts +2 -0
- package/dist/types/platform-components/recordSurfaceActivity.d.ts +3 -0
- package/dist/types/platform-components/recycleBinState.d.ts +1 -0
- package/dist/types/platform-components/referencePickerModel.d.ts +6 -2
- package/dist/types/platform-components/scopedTreePickerModel.d.ts +4 -0
- package/dist/types/platform-workbench/Workbench.vue.d.ts +9 -4
- package/dist/types/platform-workbench/WorkbenchGlobalTools.vue.d.ts +16 -0
- package/dist/types/platform-workbench/WorkbenchLanguageSettings.vue.d.ts +11 -0
- package/dist/types/platform-workbench/WorkbenchPageTitle.vue.d.ts +10 -0
- package/dist/types/platform-workbench/menuGroupLayout.d.ts +5 -0
- package/dist/types/platform-workbench/menuTreeModel.d.ts +1 -2
- package/dist/types/platform-workbench/useAssistantConversation.d.ts +1 -1
- package/dist/types/platform-workbench/useAssistantConversationArchive.d.ts +1 -1
- package/dist/types/platform-workbench/useLanguagePreferenceSelection.d.ts +7 -0
- package/dist/types/views/PageQuerySummaryEditor.vue.d.ts +4 -4
- package/dist/types/views/WorkflowSelectionFields.vue.d.ts +28 -0
- package/dist/types/views/metadataEditorSession.d.ts +4 -0
- package/dist/types/views/metadataOrchestrationState.d.ts +3 -0
- package/dist/types/views/metadataWorkspace.d.ts +8 -0
- package/dist/types/vue-ui-antdv/components/UiDropdown.vue.d.ts +1 -0
- package/dist/types/vue-ui-antdv/components/UiIcon.vue.d.ts +1 -1
- package/dist/types/vue-ui-antdv/components/UiModal.vue.d.ts +9 -6
- package/dist/types/vue-ui-antdv/types.d.ts +2 -0
- package/dist/types/vue-ui-antdv/typography.d.ts +25 -0
- package/dist/types/web-contracts/index.d.ts +132 -1
- package/dist/types/web-contracts/workflow.d.ts +10 -0
- package/dist/types/web-core/assistantTurnClient.d.ts +2 -0
- package/dist/types/web-core/businessContent.d.ts +38 -0
- package/dist/types/web-core/businessContentLanguage.d.ts +18 -0
- package/dist/types/web-core/index.d.ts +5 -0
- package/dist/types/web-core/languagePreference.d.ts +2 -2
- package/dist/types/web-core/module/dataExchangeClient.d.ts +83 -1
- package/dist/types/web-core/module/staticModuleClient.d.ts +9 -3
- package/dist/types/web-core/presentationTexts.d.ts +5 -0
- package/dist/types/web-core/recordReadRefreshGuard.d.ts +7 -0
- package/dist/types/web-core/useBusinessContentGenerationBatch.d.ts +36 -0
- package/dist/types/web-core/useBusinessContentReading.d.ts +30 -0
- package/dist/types/web-core/workflow.d.ts +2 -1
- package/dist/{workspaceViews-BIYGPUAO.js → workspaceViews-BpH71LKQ.js} +542 -542
- package/package.json +1 -1
- package/dist/BusinessLogListDrawer-BciMLY9z.js +0 -864
- package/dist/ModuleActionManagementView-CJRNShGg.js +0 -755
- package/dist/WorkflowAdministrationView-DmUV6vWS.js +0 -650
- package/dist/WorkflowConfigurationView-pghDbWEh.js +0 -975
- package/dist/WorkflowWorkbenchView-BwWxyDen.js +0 -747
- package/dist/moduleGovernanceWorkspaceView-DGEV3ZyT.js +0 -667
|
@@ -108,7 +108,15 @@ export interface WorkflowTask {
|
|
|
108
108
|
decision?: string;
|
|
109
109
|
completedAt?: string;
|
|
110
110
|
}
|
|
111
|
+
export interface WorkflowRecordInstance {
|
|
112
|
+
id: string;
|
|
113
|
+
versionNo?: number;
|
|
114
|
+
instanceStatus: string;
|
|
115
|
+
approvalEnabled: boolean;
|
|
116
|
+
startedAt?: string;
|
|
117
|
+
}
|
|
111
118
|
export interface WorkflowEvent {
|
|
119
|
+
version?: number | null;
|
|
112
120
|
messageText?: TextPresentation;
|
|
113
121
|
id: string;
|
|
114
122
|
taskId?: string;
|
|
@@ -184,12 +192,14 @@ export interface WorkflowWorkbenchCard {
|
|
|
184
192
|
readable: boolean;
|
|
185
193
|
moduleTitleSource?: import('./index').TextReference;
|
|
186
194
|
moduleTitleText?: import('./index').TextPresentation;
|
|
195
|
+
titleContentText?: import('./index').BusinessContentTextPresentation;
|
|
187
196
|
};
|
|
188
197
|
instanceId: string;
|
|
189
198
|
moduleAlias: string;
|
|
190
199
|
recordId: string;
|
|
191
200
|
taskId?: string;
|
|
192
201
|
nodeTitle?: string;
|
|
202
|
+
taskKind?: string;
|
|
193
203
|
taskStatus?: string;
|
|
194
204
|
approvalStatus?: string;
|
|
195
205
|
instanceStatus: string;
|
|
@@ -12,5 +12,7 @@ export interface AssistantModelRequestObservation {
|
|
|
12
12
|
toolCallCount?: number;
|
|
13
13
|
}
|
|
14
14
|
export type AssistantTurnRequester = (input: AssistantTurnInput, signal: AbortSignal, progress?: AssistantTurnProgress) => Promise<AssistantTurnOutput>;
|
|
15
|
+
/** Reads only the current backend identity's configuration decision, without exposing route details. */
|
|
16
|
+
export declare function readAssistantAvailability(http: HttpClient, signal?: AbortSignal): Promise<boolean>;
|
|
15
17
|
/** Uses the supplied transport as-is so page-owned tenant scope remains authoritative. */
|
|
16
18
|
export declare function createAssistantTurnRequester(http: HttpClient): AssistantTurnRequester;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import type { HttpClient } from './http';
|
|
2
|
+
import type { BusinessContentGenerationSource, BusinessContentGenerationBatchCommand, BusinessContentGenerationBatchResult } from '../web-contracts/index';
|
|
3
|
+
import type { BusinessContentSources, BusinessContentRevision } from '../web-contracts/index';
|
|
4
|
+
import type { BusinessContentReading, BusinessContentGenerationStatus, BusinessContentTranslationMaintenance, BusinessContentTranslationChange, BusinessContentTranslationRevision } from '../web-contracts/index';
|
|
5
|
+
export type BusinessContentRelationScope = {
|
|
6
|
+
kind?: 'aggregate';
|
|
7
|
+
parentId: string;
|
|
8
|
+
relationCode: string;
|
|
9
|
+
workflowInstanceId?: never;
|
|
10
|
+
history?: never;
|
|
11
|
+
} | {
|
|
12
|
+
kind: 'workflowEvent';
|
|
13
|
+
workflowInstanceId: string;
|
|
14
|
+
history?: boolean;
|
|
15
|
+
parentId?: never;
|
|
16
|
+
relationCode?: never;
|
|
17
|
+
};
|
|
18
|
+
export declare function businessContentGenerationBatch(http: HttpClient, source: BusinessContentGenerationSource, command: BusinessContentGenerationBatchCommand, operation: 'status' | 'request', signal?: AbortSignal): Promise<BusinessContentGenerationBatchResult>;
|
|
19
|
+
/** The source belongs to the actual row, including an owned aggregate child. */
|
|
20
|
+
export declare function businessContentPath(moduleAlias: string, id: string, relation?: BusinessContentRelationScope): string;
|
|
21
|
+
export declare function loadBusinessContentSources(http: HttpClient, moduleAlias: string, id: string, relation?: BusinessContentRelationScope, snapshot?: object, sessionKey?: string | number): Promise<BusinessContentSources>;
|
|
22
|
+
export declare function loadBusinessContentHistory(http: HttpClient, moduleAlias: string, id: string, field: string, page: number, relation?: BusinessContentRelationScope): Promise<BusinessContentRevision[]>;
|
|
23
|
+
export declare function loadBusinessContentReading(http: HttpClient, moduleAlias: string, id: string, language: string, relation?: BusinessContentRelationScope, snapshot?: object, sessionKey?: string | number, refreshRevision?: number): Promise<BusinessContentReading>;
|
|
24
|
+
export declare function prepareBusinessContentTranslation(http: HttpClient, moduleAlias: string, id: string, field: string, language: string, access: 'edit' | 'confirm', relation?: BusinessContentRelationScope): Promise<BusinessContentTranslationMaintenance>;
|
|
25
|
+
export declare function changeBusinessContentTranslation(http: HttpClient, moduleAlias: string, id: string, field: string, language: string, operation: 'draft' | 'confirm' | 'remove', change: BusinessContentTranslationChange, relation?: BusinessContentRelationScope, snapshot?: object): Promise<BusinessContentTranslationMaintenance>;
|
|
26
|
+
export declare function loadBusinessContentTranslationHistory(http: HttpClient, moduleAlias: string, id: string, field: string, language: string, access: 'edit' | 'confirm', source: {
|
|
27
|
+
revisionId: string;
|
|
28
|
+
revision: number;
|
|
29
|
+
}, page: number, relation?: BusinessContentRelationScope): Promise<BusinessContentTranslationRevision[]>;
|
|
30
|
+
export interface BusinessContentGenerationOptions {
|
|
31
|
+
relation?: BusinessContentRelationScope;
|
|
32
|
+
snapshot?: object;
|
|
33
|
+
signal?: AbortSignal;
|
|
34
|
+
}
|
|
35
|
+
/** Read-only status. No enqueue, retry or model invocation. */
|
|
36
|
+
export declare function loadBusinessContentGeneration(http: HttpClient, moduleAlias: string, id: string, field: string, language: string, options?: BusinessContentGenerationOptions): Promise<BusinessContentGenerationStatus>;
|
|
37
|
+
/** Explicit reading generation or manual-field drafting; source, identity and route are resolved by the server. */
|
|
38
|
+
export declare function requestBusinessContentGeneration(http: HttpClient, moduleAlias: string, id: string, field: string, language: string, retry?: boolean, options?: BusinessContentGenerationOptions): Promise<BusinessContentGenerationStatus>;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { LanguageContext } from './language';
|
|
2
|
+
export declare const businessContentLanguages: readonly [{
|
|
3
|
+
readonly value: "zh-CN";
|
|
4
|
+
readonly label: "简体中文";
|
|
5
|
+
}, {
|
|
6
|
+
readonly value: "en";
|
|
7
|
+
readonly label: "English";
|
|
8
|
+
}, {
|
|
9
|
+
readonly value: "de";
|
|
10
|
+
readonly label: "Deutsch";
|
|
11
|
+
}];
|
|
12
|
+
export type BusinessContentLanguageContext = Pick<LanguageContext, 'languageTag' | 'requestedLanguageTag' | 'selectionRevision' | 'setLanguage'>;
|
|
13
|
+
/** Reading intent belongs to this interface scope; it never changes the interface or original language. */
|
|
14
|
+
export declare function businessContentLanguageContext(language: LanguageContext): BusinessContentLanguageContext;
|
|
15
|
+
/** A bounded reading snapshot lets language changes preserve local picker and form drafts. */
|
|
16
|
+
export declare function businessContentReadHeaders(options?: {
|
|
17
|
+
contentLanguage?: string;
|
|
18
|
+
}): Record<string, string>;
|
|
@@ -28,3 +28,8 @@ export type { WorkspaceUnsavedStateRegistrar } from './workspaceUnsavedState';
|
|
|
28
28
|
export * from './language';
|
|
29
29
|
export * from './languagePreference';
|
|
30
30
|
export * from './presentationTexts';
|
|
31
|
+
export * from './businessContent';
|
|
32
|
+
export * from './useBusinessContentGenerationBatch';
|
|
33
|
+
export * from './useBusinessContentReading';
|
|
34
|
+
export * from './businessContentLanguage';
|
|
35
|
+
export * from './recordReadRefreshGuard';
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { LanguageContext } from './language';
|
|
2
2
|
import { type UserPreferenceStore } from './userPreferences';
|
|
3
3
|
/** Scope changes and user selection invalidate delayed restores; queued writes never cross accounts. */
|
|
4
|
-
export declare function createLanguagePreferenceController(context: LanguageContext, store?: UserPreferenceStore): {
|
|
4
|
+
export declare function createLanguagePreferenceController(context: Pick<LanguageContext, 'setLanguage' | 'languageTag' | 'requestedLanguageTag' | 'selectionRevision'>, store?: UserPreferenceStore, preferenceKey?: string): {
|
|
5
5
|
restore(identity?: string): Promise<void>;
|
|
6
|
-
save(tag
|
|
6
|
+
save(tag?: string): Promise<void>;
|
|
7
7
|
dispose(): void;
|
|
8
8
|
};
|
|
@@ -1,5 +1,83 @@
|
|
|
1
1
|
import type { HttpClient } from '../http';
|
|
2
2
|
import type { TextPresentation, WebQueryRequest } from '../../web-contracts/index';
|
|
3
|
+
import type { RecordQueryRequestOptions } from './staticModuleClient';
|
|
4
|
+
export type ExchangePurpose = 'DATA' | 'TRANSLATIONS' | 'READING';
|
|
5
|
+
export interface ExchangeOptions {
|
|
6
|
+
purpose: ExchangePurpose;
|
|
7
|
+
language: string;
|
|
8
|
+
timeZone?: string;
|
|
9
|
+
}
|
|
10
|
+
export interface ExchangeCommand {
|
|
11
|
+
documentId?: string;
|
|
12
|
+
previewDigest?: string;
|
|
13
|
+
sourceLanguage?: string;
|
|
14
|
+
resolutionLanguage?: string;
|
|
15
|
+
sheets: Array<{
|
|
16
|
+
entityAlias: string;
|
|
17
|
+
matchField: string;
|
|
18
|
+
duplicateStrategy: ImportDuplicateStrategy;
|
|
19
|
+
}>;
|
|
20
|
+
confirmations: Array<{
|
|
21
|
+
row: string;
|
|
22
|
+
field: string;
|
|
23
|
+
input: string;
|
|
24
|
+
candidateId: string;
|
|
25
|
+
}>;
|
|
26
|
+
}
|
|
27
|
+
export interface ExchangeRow {
|
|
28
|
+
row: string;
|
|
29
|
+
entity: string;
|
|
30
|
+
relation: string;
|
|
31
|
+
operation: string;
|
|
32
|
+
recordId?: string;
|
|
33
|
+
currentValues: Record<string, unknown>;
|
|
34
|
+
changes: Record<string, unknown>;
|
|
35
|
+
languages: Record<string, {
|
|
36
|
+
languageTag?: string;
|
|
37
|
+
expectedRevision?: number;
|
|
38
|
+
}>;
|
|
39
|
+
choices: Array<{
|
|
40
|
+
field: string;
|
|
41
|
+
input: string;
|
|
42
|
+
candidates: Array<{
|
|
43
|
+
id: string;
|
|
44
|
+
title: string;
|
|
45
|
+
matchedText: string;
|
|
46
|
+
kind: string;
|
|
47
|
+
subtitle?: string | null;
|
|
48
|
+
}>;
|
|
49
|
+
}>;
|
|
50
|
+
problem?: string;
|
|
51
|
+
references?: Record<string, {
|
|
52
|
+
current?: string | null;
|
|
53
|
+
submitted?: string | null;
|
|
54
|
+
}>;
|
|
55
|
+
}
|
|
56
|
+
export interface ExchangePreview {
|
|
57
|
+
documentId: string;
|
|
58
|
+
previewDigest: string;
|
|
59
|
+
purpose: ExchangePurpose;
|
|
60
|
+
language?: string;
|
|
61
|
+
sheets: Array<{
|
|
62
|
+
entityAlias: string;
|
|
63
|
+
sheetName: string;
|
|
64
|
+
main: boolean;
|
|
65
|
+
rowCount: number;
|
|
66
|
+
matchFields: string[];
|
|
67
|
+
fieldTitles: Record<string, string>;
|
|
68
|
+
recommendedMatchField?: string | null;
|
|
69
|
+
}>;
|
|
70
|
+
rows: ExchangeRow[];
|
|
71
|
+
}
|
|
72
|
+
export interface ExchangeResult {
|
|
73
|
+
created: number;
|
|
74
|
+
updated: number;
|
|
75
|
+
skipped: number;
|
|
76
|
+
errorCount: number;
|
|
77
|
+
partialSuccess: boolean;
|
|
78
|
+
errorWorkbookBase64?: string;
|
|
79
|
+
rows: ExchangeRow[];
|
|
80
|
+
}
|
|
3
81
|
export type ImportDuplicateStrategy = 'ERROR' | 'SKIP' | 'OVERWRITE';
|
|
4
82
|
export interface ImportSheet {
|
|
5
83
|
sheetName: string;
|
|
@@ -44,8 +122,12 @@ export interface ImportExecutionResult {
|
|
|
44
122
|
errorFileName?: string;
|
|
45
123
|
errorFileToken?: string;
|
|
46
124
|
}
|
|
47
|
-
/**
|
|
125
|
+
/** Source-neutral file transport. The legacy v1 methods remain available while consumers migrate. */
|
|
48
126
|
export declare function createDataExchangeClient(http: HttpClient, moduleAlias: string): {
|
|
127
|
+
fileTemplate: (options: ExchangeOptions) => Promise<Blob>;
|
|
128
|
+
preview(file: File, command?: ExchangeCommand): Promise<ExchangePreview>;
|
|
129
|
+
importFile(file: File, command: ExchangeCommand): Promise<ExchangeResult>;
|
|
130
|
+
exportFile(query: WebQueryRequest | undefined, options: ExchangeOptions, ids?: string[], queryOptions?: RecordQueryRequestOptions): Promise<Blob>;
|
|
49
131
|
template: () => Promise<Blob>;
|
|
50
132
|
parse(file: File): Promise<ImportParseResult>;
|
|
51
133
|
execute(file: File, command: ImportExecutionCommand): Promise<ImportExecutionResult>;
|
|
@@ -11,6 +11,10 @@ export interface QuerySchemaRequestOptions {
|
|
|
11
11
|
uiConfigId?: string;
|
|
12
12
|
queryTemplateId?: string;
|
|
13
13
|
}
|
|
14
|
+
/** Display intent only, independent of original-content and interface languages. */
|
|
15
|
+
export interface RecordQueryRequestOptions {
|
|
16
|
+
contentLanguage?: string;
|
|
17
|
+
}
|
|
14
18
|
export interface RecordSaveRequestOptions {
|
|
15
19
|
requestId: string;
|
|
16
20
|
}
|
|
@@ -23,7 +27,7 @@ export interface RecordSaveReceipt {
|
|
|
23
27
|
/** Source-neutral client for a platform module's standard CRUD contract. */
|
|
24
28
|
export interface ModuleCrudClient<TRecord> {
|
|
25
29
|
querySchema(options?: QuerySchemaRequestOptions): Promise<QuerySchema>;
|
|
26
|
-
query(request?: WebQueryRequest): Promise<WebPageResponse<TRecord>>;
|
|
30
|
+
query(request?: WebQueryRequest, options?: RecordQueryRequestOptions): Promise<WebPageResponse<TRecord>>;
|
|
27
31
|
view(id: string): Promise<TRecord>;
|
|
28
32
|
insert(record: TRecord, options?: RecordSaveRequestOptions): Promise<StaticRecordMutationResult<TRecord>>;
|
|
29
33
|
update(id: string, record: TRecord, options?: RecordSaveRequestOptions): Promise<StaticRecordMutationResult<TRecord>>;
|
|
@@ -61,7 +65,7 @@ export interface ModuleEnableClient {
|
|
|
61
65
|
* server-issued relation code are the only routing facts a surface receives.
|
|
62
66
|
*/
|
|
63
67
|
export interface ManagedDetailRelationClient<TRecord> {
|
|
64
|
-
query(request?: WebQueryRequest): Promise<WebPageResponse<TRecord>>;
|
|
68
|
+
query(request?: WebQueryRequest, options?: RecordQueryRequestOptions): Promise<WebPageResponse<TRecord>>;
|
|
65
69
|
insert(record: TRecord): Promise<StaticRecordMutationResult<TRecord>>;
|
|
66
70
|
update(id: string, record: TRecord): Promise<StaticRecordMutationResult<TRecord>>;
|
|
67
71
|
delete(id: string, request: RecordActionRequest): Promise<StaticCountMutationResult>;
|
|
@@ -79,7 +83,7 @@ export interface NavigatorReferenceCrudClient<TRecord> extends ModuleCrudClient<
|
|
|
79
83
|
translate(ids: readonly string[]): Promise<WebPageResponse<TRecord>>;
|
|
80
84
|
}
|
|
81
85
|
/** The navigation-only read surface deliberately does not reuse the module query endpoint. */
|
|
82
|
-
export declare function createNavigatorReferenceCrudClient<TRecord>(http: HttpClient,
|
|
86
|
+
export declare function createNavigatorReferenceCrudClient<TRecord>(http: HttpClient, navigatorOptions: {
|
|
83
87
|
moduleAlias: string;
|
|
84
88
|
navigatorReference?: NavigatorReferenceRequestContext;
|
|
85
89
|
}): NavigatorReferenceCrudClient<TRecord>;
|
|
@@ -120,3 +124,5 @@ export declare function normalizeModuleRecord<TRecord>(record: TRecord): TRecord
|
|
|
120
124
|
* public lets those descriptor-driven surfaces reuse the one normalization rule.</p>
|
|
121
125
|
*/
|
|
122
126
|
export declare function normalizeModulePageResponse<TRecord>(response: WebPageResponse<TRecord>): WebPageResponse<TRecord>;
|
|
127
|
+
export declare function normalizeModuleListResponse<TRecord>(response: WebListResponse<TRecord>): WebListResponse<TRecord>;
|
|
128
|
+
export declare function normalizeModuleTreeResponse<TRecord>(response: WebListResponse<WebTreeNode<TRecord>>): WebListResponse<WebTreeNode<TRecord>>;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { BusinessContentTextPresentation } from '../web-contracts/index';
|
|
1
2
|
import type { TextReference, TextPresentation, TextPresentationDocument } from '../web-contracts/index';
|
|
2
3
|
import type { LanguageContext, TextResolution } from './language';
|
|
3
4
|
/** Snapshot a producer's concrete CODE original; arguments format deployed resources, never business values in the fallback. */
|
|
@@ -14,3 +15,7 @@ export declare function recordPresentationText(record: object | undefined, field
|
|
|
14
15
|
export declare function recordPresentationLabel(record: object, field: string, context: LanguageContext): string | undefined;
|
|
15
16
|
/** Removes only the record's read metadata; arbitrary nested JSON business values are preserved. */
|
|
16
17
|
export declare function withoutRecordPresentation<T>(record: T): T;
|
|
18
|
+
/** An edited original immediately invalidates its disposable reading snapshot. */
|
|
19
|
+
export declare function businessContentLabel(original: string, text: BusinessContentTextPresentation | undefined, context: LanguageContext): string | undefined;
|
|
20
|
+
export declare function recordBusinessContentText(record: object | undefined, field: string): BusinessContentTextPresentation | undefined;
|
|
21
|
+
export declare function recordBusinessContentArray(record: Record<string, unknown>, field: string, context: LanguageContext): unknown;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/** Nested record hosts share a guard so a read refresh cannot destroy an open maintenance session. */
|
|
2
|
+
export declare function provideRecordReadRefreshGuard(): {
|
|
3
|
+
blocked: import("vue").ComputedRef<boolean>;
|
|
4
|
+
invalidate: () => void;
|
|
5
|
+
};
|
|
6
|
+
export declare function useRecordReadRefreshRevision(): import("vue").ComputedRef<number>;
|
|
7
|
+
export declare function useRecordReadRefreshGuard(held: () => boolean): void;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type { BusinessContentGenerationBatchResult, BusinessContentGenerationSource } from '../web-contracts/index';
|
|
2
|
+
import type { HttpClient } from './http';
|
|
3
|
+
interface Selection {
|
|
4
|
+
active: boolean;
|
|
5
|
+
http?: HttpClient;
|
|
6
|
+
source?: BusinessContentGenerationSource | null;
|
|
7
|
+
records: readonly {
|
|
8
|
+
id: string;
|
|
9
|
+
version?: unknown;
|
|
10
|
+
}[];
|
|
11
|
+
language: string;
|
|
12
|
+
includeChildren: boolean;
|
|
13
|
+
sessionKey?: unknown;
|
|
14
|
+
}
|
|
15
|
+
/** A topic-specific selection session: previews never enqueue; polling never retries generation. */
|
|
16
|
+
export declare function useBusinessContentGenerationBatch(options: () => Selection): {
|
|
17
|
+
result: import("vue").Ref<BusinessContentGenerationBatchResult | undefined, BusinessContentGenerationBatchResult | undefined>;
|
|
18
|
+
items: import("vue").ComputedRef<{
|
|
19
|
+
recordId: string;
|
|
20
|
+
ownerId: string;
|
|
21
|
+
relationCode: string | null;
|
|
22
|
+
childId: string | null;
|
|
23
|
+
field: string | null;
|
|
24
|
+
status: import("../web-contracts/index").BusinessContentGenerationStatus;
|
|
25
|
+
}[]>;
|
|
26
|
+
loading: import("vue").Ref<boolean, boolean>;
|
|
27
|
+
failed: import("vue").Ref<boolean, boolean>;
|
|
28
|
+
error: import("vue").Ref<unknown, unknown>;
|
|
29
|
+
pollingPaused: import("vue").Ref<boolean, boolean>;
|
|
30
|
+
pending: import("vue").ComputedRef<boolean>;
|
|
31
|
+
canGenerate: import("vue").ComputedRef<boolean>;
|
|
32
|
+
canRetry: import("vue").ComputedRef<boolean>;
|
|
33
|
+
preview: () => Promise<void>;
|
|
34
|
+
request: (retry?: boolean) => Promise<void>;
|
|
35
|
+
};
|
|
36
|
+
export {};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { BusinessContentField, BusinessContentGenerationStatus, BusinessContentReadingField } from '../web-contracts/index';
|
|
2
|
+
import type { HttpClient } from './http';
|
|
3
|
+
import { type BusinessContentRelationScope } from './businessContent';
|
|
4
|
+
interface ReadingOptions {
|
|
5
|
+
active?: boolean;
|
|
6
|
+
http?: HttpClient;
|
|
7
|
+
moduleAlias?: string;
|
|
8
|
+
record: Record<string, unknown>;
|
|
9
|
+
fieldName: string;
|
|
10
|
+
content: BusinessContentField;
|
|
11
|
+
language: string;
|
|
12
|
+
mode: 'create' | 'edit' | 'view';
|
|
13
|
+
relation?: BusinessContentRelationScope;
|
|
14
|
+
sessionKey?: string | number;
|
|
15
|
+
}
|
|
16
|
+
/** Shared saved-record reading. Translation work never mutates the caller's business draft. */
|
|
17
|
+
export declare function useBusinessContentReading(options: () => ReadingOptions): {
|
|
18
|
+
reading: import("vue").Ref<BusinessContentReadingField | undefined, BusinessContentReadingField | undefined>;
|
|
19
|
+
loading: import("vue").Ref<boolean, boolean>;
|
|
20
|
+
failed: import("vue").Ref<boolean, boolean>;
|
|
21
|
+
matches: import("vue").ComputedRef<boolean>;
|
|
22
|
+
status: import("vue").Ref<BusinessContentGenerationStatus | undefined, BusinessContentGenerationStatus | undefined>;
|
|
23
|
+
generationBusy: import("vue").Ref<boolean, boolean>;
|
|
24
|
+
generationFailed: import("vue").Ref<boolean, boolean>;
|
|
25
|
+
pollingPaused: import("vue").Ref<boolean, boolean>;
|
|
26
|
+
canRetry: import("vue").ComputedRef<boolean>;
|
|
27
|
+
load: () => Promise<void>;
|
|
28
|
+
retry: () => Promise<void>;
|
|
29
|
+
};
|
|
30
|
+
export {};
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import type { WorkflowDefinition, WorkflowVersion, WorkflowTaskPreparation, WorkflowConfigurationCatalog, WorkflowDefinitionSelection, WorkflowDefinitionCreate, WorkflowAdminInstance, WorkflowAdminTask, WorkflowAdminInstanceQuery, WorkflowAdminHistoryQuery, WorkflowAction, WorkflowAddSignExplanation, WorkflowBranch, WorkflowDesign, WorkflowEvent, WorkflowHistoryInstance, WorkflowRenderBundle, WorkflowStatus, WorkflowTask, WorkflowWorkbenchCard, WorkflowWorkbenchFilters, WebPageResponse } from '../web-contracts/index';
|
|
1
|
+
import type { WorkflowDefinition, WorkflowVersion, WorkflowTaskPreparation, WorkflowConfigurationCatalog, WorkflowDefinitionSelection, WorkflowDefinitionCreate, WorkflowAdminInstance, WorkflowAdminTask, WorkflowAdminInstanceQuery, WorkflowAdminHistoryQuery, WorkflowAction, WorkflowAddSignExplanation, WorkflowBranch, WorkflowDesign, WorkflowEvent, WorkflowHistoryInstance, WorkflowRenderBundle, WorkflowStatus, WorkflowTask, WorkflowRecordInstance, WorkflowWorkbenchCard, WorkflowWorkbenchFilters, WebPageResponse } from '../web-contracts/index';
|
|
2
2
|
import type { HttpClient } from './http';
|
|
3
3
|
import type { ModuleContext } from './module/moduleContext';
|
|
4
4
|
/** Workflow mutations change ordinary record rights as well as the record itself. */
|
|
5
5
|
export declare function refreshWorkflowRecordActions(context: Pick<ModuleContext<unknown>, 'invalidateRecordActions' | 'recordActions'>, recordId: string): Promise<void>;
|
|
6
6
|
/** All operation rights remain server decisions. The client only carries typed intent. */
|
|
7
7
|
export declare function createWorkflowClient(http: HttpClient): {
|
|
8
|
+
recordInstances: (moduleAlias: string, recordId: string, page?: number, size?: number) => Promise<WebPageResponse<WorkflowRecordInstance>>;
|
|
8
9
|
history: (moduleAlias: string, recordId: string) => Promise<WorkflowHistoryInstance[]>;
|
|
9
10
|
historyBundle: (id: string) => Promise<WorkflowRenderBundle>;
|
|
10
11
|
historyTasks: (id: string) => Promise<WorkflowTask[]>;
|