@ximatai/muyun-web-app 0.26.13 → 0.26.15

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 (186) hide show
  1. package/dist/{BusinessActivityLogView-UC4rH4Fn.js → BusinessActivityLogView-DVzrZW1X.js} +1 -1
  2. package/dist/BusinessLogListDrawer-D-R3wnWr.js +825 -0
  3. package/dist/{LoginAuditLogView-Cjrp8MKX.js → LoginAuditLogView-BP1eaEPw.js} +1 -1
  4. package/dist/{ModuleActionManagementView-Dkb35QXc.js → ModuleActionManagementView-D17iKVQv.js} +214 -196
  5. package/dist/{ModuleGovernanceView-Dx43QvGf.js → ModuleGovernanceView-LkWCtops.js} +13509 -8472
  6. package/dist/{RequestErrorLogView-WnGvMWiF.js → RequestErrorLogView-LzN94-Tk.js} +1 -1
  7. package/dist/{RoleDetailWorkspaceView-DPDb_QOn.js → RoleDetailWorkspaceView-BXA-bzFu.js} +173 -164
  8. package/dist/{RuntimeLogView-BRl4ZDkU.js → RuntimeLogView-DUpu2q2w.js} +48 -81
  9. package/dist/index.css +1 -1
  10. package/dist/index.js +562 -497
  11. package/dist/moduleGovernanceWorkspaceView-COjWtJMr.js +639 -0
  12. package/dist/{platform-components-1cvOeHmo.js → platform-components-Hs3DrTqE.js} +5260 -3344
  13. package/dist/platform-workbench-C-kE-Yqq.js +19755 -0
  14. package/dist/{http-B0TC0pJB.js → sse-Q1wa3p_k.js} +34 -4
  15. package/dist/types/app/CurrentUserProfileDialog.vue.d.ts +1 -1
  16. package/dist/types/app/useWorkbenchMenuRefresh.d.ts +4 -0
  17. package/dist/types/app/workbenchMenuRefresh.d.ts +14 -0
  18. package/dist/types/consumer/AppWorkbenchShell.vue.d.ts +4 -2
  19. package/dist/types/dynamic-page-runtime/ManagedDetailRelationInlineSurface.vue.d.ts +3 -3
  20. package/dist/types/dynamic-page-runtime/ModuleDataExchangeSurface.vue.d.ts +17 -0
  21. package/dist/types/dynamic-page-runtime/ModulePageBusinessSession.d.ts +712 -22
  22. package/dist/types/dynamic-page-runtime/ModulePageDetailRelations.vue.d.ts +3 -2
  23. package/dist/types/dynamic-page-runtime/ModulePageHostRuntime.vue.d.ts +782 -60
  24. package/dist/types/dynamic-page-runtime/ModulePageListExpansionSurface.vue.d.ts +1 -0
  25. package/dist/types/dynamic-page-runtime/ModulePageListRelationExpansion.vue.d.ts +1 -0
  26. package/dist/types/dynamic-page-runtime/ModulePageListRelationExpansions.vue.d.ts +1 -0
  27. package/dist/types/dynamic-page-runtime/ModulePageRecordContent.vue.d.ts +5 -2
  28. package/dist/types/dynamic-page-runtime/ModuleRecordDetailActions.vue.d.ts +6 -0
  29. package/dist/types/dynamic-page-runtime/PageNavigatorExplorer.vue.d.ts +9 -7
  30. package/dist/types/dynamic-page-runtime/RecordFormSurface.vue.d.ts +2 -0
  31. package/dist/types/dynamic-page-runtime/assistantBusinessScope.d.ts +3 -0
  32. package/dist/types/dynamic-page-runtime/assistantQueryCapabilities.d.ts +34 -0
  33. package/dist/types/dynamic-page-runtime/assistantRecordEditorPolicy.d.ts +6 -0
  34. package/dist/types/dynamic-page-runtime/composables/useModulePageFormContributionRuntime.d.ts +2 -0
  35. package/dist/types/dynamic-page-runtime/composables/useModulePageListSession.d.ts +1 -0
  36. package/dist/types/dynamic-page-runtime/composables/useNavigatorRuntime.d.ts +94 -4
  37. package/dist/types/dynamic-page-runtime/composables/useRecordEditingSession.d.ts +2 -0
  38. package/dist/types/dynamic-page-runtime/formComputeCoordinator.d.ts +2 -0
  39. package/dist/types/dynamic-page-runtime/index.d.ts +1 -0
  40. package/dist/types/dynamic-page-runtime/modulePageAssistantScope.d.ts +20 -0
  41. package/dist/types/dynamic-page-runtime/modulePageAssistantSurface.d.ts +6 -0
  42. package/dist/types/dynamic-page-runtime/recordCreationReadiness.d.ts +17 -0
  43. package/dist/types/dynamic-page-runtime/recordDisplayProjection.d.ts +59 -0
  44. package/dist/types/dynamic-page-runtime/recordFormAssistantCapabilities.d.ts +59 -0
  45. package/dist/types/dynamic-page-runtime/recordFormDraftAccess.d.ts +33 -0
  46. package/dist/types/dynamic-page-runtime/recordMutationPayload.d.ts +2 -2
  47. package/dist/types/dynamic-page-runtime/recordReferenceDisplay.d.ts +8 -0
  48. package/dist/types/dynamic-page-runtime/recordSaveRecovery.d.ts +12 -0
  49. package/dist/types/dynamic-page-runtime/relationDraftAssistantCapabilities.d.ts +9 -0
  50. package/dist/types/dynamic-page-runtime/relationDraftController.d.ts +23 -0
  51. package/dist/types/dynamic-page-runtime/relationFormComputeCoordinator.d.ts +1 -0
  52. package/dist/types/dynamic-page-runtime/useModulePageSession.d.ts +404 -12
  53. package/dist/types/dynamic-page-runtime/useTenantScopeController.d.ts +1 -0
  54. package/dist/types/formula/FormulaRuntime.d.ts +3 -1
  55. package/dist/types/platform-admin-runtime/backendHttp.d.ts +5 -1
  56. package/dist/types/platform-admin-runtime/module-menu/ModuleMenuEditor.vue.d.ts +17 -0
  57. package/dist/types/platform-admin-runtime/module-menu/ModuleMenuGovernanceSurface.vue.d.ts +6 -0
  58. package/dist/types/platform-admin-runtime/module-menu/moduleMenuClient.d.ts +6 -2
  59. package/dist/types/platform-admin-runtime/module-menu/moduleMenuReceiptStore.d.ts +5 -0
  60. package/dist/types/platform-admin-runtime/module-menu/moduleMenuSession.d.ts +61 -0
  61. package/dist/types/platform-admin-runtime/module-menu/moduleMenuWorkspace.d.ts +180 -0
  62. package/dist/types/platform-admin-runtime/workspaceViewSessions.d.ts +1 -1
  63. package/dist/types/platform-components/CrudRecordListExplorer.vue.d.ts +11 -7
  64. package/dist/types/platform-components/DictionaryPicker.vue.d.ts +2 -0
  65. package/dist/types/platform-components/FileTransferUploader.vue.d.ts +1 -1
  66. package/dist/types/platform-components/ManagementPanelHeader.vue.d.ts +6 -4
  67. package/dist/types/platform-components/ManagementTabs.vue.d.ts +20 -0
  68. package/dist/types/platform-components/ObjectPickerInput.vue.d.ts +2 -0
  69. package/dist/types/platform-components/QueryValueEditor.vue.d.ts +1 -1
  70. package/dist/types/platform-components/RecordDetailFields.vue.d.ts +1 -1
  71. package/dist/types/platform-components/RecordExplorerPanel.vue.d.ts +15 -9
  72. package/dist/types/platform-components/RecordExplorerTools.vue.d.ts +27 -0
  73. package/dist/types/platform-components/RecordFormFields.vue.d.ts +5 -1
  74. package/dist/types/platform-components/RecordModeDrawer.vue.d.ts +2 -2
  75. package/dist/types/platform-components/RecordMultiPicker.vue.d.ts +2 -0
  76. package/dist/types/platform-components/RecordPicker.vue.d.ts +2 -0
  77. package/dist/types/platform-components/RecordQueryListCell.vue.d.ts +1 -1
  78. package/dist/types/platform-components/RecordQueryListPanel.vue.d.ts +9 -1
  79. package/dist/types/platform-components/RecordQueryListSurface.vue.d.ts +1 -1
  80. package/dist/types/platform-components/RecordRelationTabs.vue.d.ts +1 -0
  81. package/dist/types/platform-components/ReferencePicker.vue.d.ts +2 -0
  82. package/dist/types/platform-components/StaticManagementLayout.vue.d.ts +2 -0
  83. package/dist/types/platform-components/TreeRecordExplorer.vue.d.ts +5 -2
  84. package/dist/types/platform-components/index.d.ts +9 -1
  85. package/dist/types/platform-components/optionFieldOptionCache.d.ts +1 -1
  86. package/dist/types/platform-components/queryNumericValue.d.ts +3 -0
  87. package/dist/types/platform-components/querySettlementController.d.ts +5 -0
  88. package/dist/types/platform-components/recordDetailFieldModel.d.ts +2 -0
  89. package/dist/types/platform-components/recordFormFieldModel.d.ts +22 -0
  90. package/dist/types/platform-components/recordQueryListColumnModel.d.ts +8 -0
  91. package/dist/types/platform-components/recordQueryListQueryController.d.ts +53 -0
  92. package/dist/types/platform-components/recordQueryListStandardQuery.d.ts +3 -0
  93. package/dist/types/platform-components/recordTreeQueryController.d.ts +18 -0
  94. package/dist/types/platform-components/recycleBinState.d.ts +17 -0
  95. package/dist/types/platform-components/referencePickerModel.d.ts +3 -0
  96. package/dist/types/platform-workbench/AssistantMarkdownContent.vue.d.ts +6 -0
  97. package/dist/types/platform-workbench/AssistantSelectionCard.vue.d.ts +15 -0
  98. package/dist/types/platform-workbench/ConstructionPlanCard.vue.d.ts +8 -0
  99. package/dist/types/platform-workbench/Workbench.vue.d.ts +12 -2
  100. package/dist/types/platform-workbench/WorkbenchAssistantPanel.vue.d.ts +18 -0
  101. package/dist/types/platform-workbench/assistantMarkdown.d.ts +1 -0
  102. package/dist/types/platform-workbench/configurationCollaboration.d.ts +23 -0
  103. package/dist/types/platform-workbench/constructionDelivery.d.ts +3 -0
  104. package/dist/types/platform-workbench/constructionFields.d.ts +5 -0
  105. package/dist/types/platform-workbench/constructionInitialization.d.ts +4 -0
  106. package/dist/types/platform-workbench/constructionPlanGuard.d.ts +21 -0
  107. package/dist/types/platform-workbench/constructionPlanSession.d.ts +95 -0
  108. package/dist/types/platform-workbench/constructionReferenceDiscovery.d.ts +3 -0
  109. package/dist/types/platform-workbench/index.d.ts +1 -0
  110. package/dist/types/platform-workbench/useAssistantConversation.d.ts +360 -0
  111. package/dist/types/platform-workbench/useAssistantConversationArchive.d.ts +47 -0
  112. package/dist/types/platform-workbench/workbenchAssistantCapabilities.d.ts +22 -0
  113. package/dist/types/views/BusinessLogRetentionControl.vue.d.ts +7 -0
  114. package/dist/types/views/MetadataSourceTree.vue.d.ts +7 -3
  115. package/dist/types/views/ModuleRuntimeActivationStatus.vue.d.ts +11 -0
  116. package/dist/types/views/PageCompositionDescriptorPreview.vue.d.ts +8 -8
  117. package/dist/types/views/PageCompositionEditor.vue.d.ts +10 -0
  118. package/dist/types/views/PageCompositionTree.vue.d.ts +19 -13
  119. package/dist/types/views/businessLogClient.d.ts +3 -0
  120. package/dist/types/views/businessLogRetentionClient.d.ts +25 -0
  121. package/dist/types/views/businessRuleAssistantSurface.d.ts +7 -0
  122. package/dist/types/views/businessRuleEditor.d.ts +22 -0
  123. package/dist/types/views/businessRuleGovernance.d.ts +7 -1
  124. package/dist/types/views/businessRuleSession.d.ts +63 -0
  125. package/dist/types/views/businessRuleWorkspace.d.ts +144 -0
  126. package/dist/types/views/configurationEditorNavigation.d.ts +2 -0
  127. package/dist/types/views/metadataChangeSetSubmission.d.ts +10 -0
  128. package/dist/types/views/metadataEditorSession.d.ts +652 -0
  129. package/dist/types/views/metadataGovernanceAssistantSurface.d.ts +4 -0
  130. package/dist/types/views/metadataGovernanceEditor.d.ts +220 -0
  131. package/dist/types/views/metadataModelChangeSetClient.d.ts +36 -0
  132. package/dist/types/views/metadataModelEditSession.d.ts +26 -1
  133. package/dist/types/views/metadataNaming.d.ts +11 -1
  134. package/dist/types/views/metadataOrchestrationState.d.ts +22 -0
  135. package/dist/types/views/metadataWorkspace.d.ts +1316 -0
  136. package/dist/types/views/moduleGovernanceWorkspaceView.d.ts +1 -1
  137. package/dist/types/views/moduleRuntimeActivation.d.ts +11 -0
  138. package/dist/types/views/pageCompositionAssistantSurface.d.ts +27 -0
  139. package/dist/types/views/pageCompositionCandidate.d.ts +47 -0
  140. package/dist/types/views/pageCompositionComponents.d.ts +42 -0
  141. package/dist/types/views/pageCompositionDraftState.d.ts +277 -8
  142. package/dist/types/views/pageCompositionDragPayload.d.ts +7 -1
  143. package/dist/types/views/pageCompositionMode.d.ts +1 -1
  144. package/dist/types/views/pageCompositionPlacement.d.ts +6 -1
  145. package/dist/types/views/pageCompositionPublication.d.ts +37 -0
  146. package/dist/types/views/pageCompositionSession.d.ts +1341 -0
  147. package/dist/types/views/pageCompositionWorkspace.d.ts +2555 -0
  148. package/dist/types/views/roleAuthorizationWorkspaceSession.d.ts +1 -1
  149. package/dist/types/views/roleDetailWorkspaceSession.d.ts +1 -1
  150. package/dist/types/views/runtimeLogSse.d.ts +3 -13
  151. package/dist/types/views/usePageCompositionComponents.d.ts +68 -0
  152. package/dist/types/vue-ui-antdv/components/UiInput.vue.d.ts +1 -0
  153. package/dist/types/vue-ui-antdv/components/UiSearchInput.vue.d.ts +2 -0
  154. package/dist/types/vue-ui-antdv/components/UiSelect.vue.d.ts +2 -0
  155. package/dist/types/vue-ui-antdv/components/UiTextArea.vue.d.ts +4 -0
  156. package/dist/types/vue-ui-antdv/components/UiTreeSelect.vue.d.ts +2 -0
  157. package/dist/types/vue-ui-antdv/types.d.ts +4 -0
  158. package/dist/types/web-contracts/assistant.d.ts +87 -0
  159. package/dist/types/web-contracts/constructionPlan.d.ts +212 -0
  160. package/dist/types/web-contracts/index.d.ts +33 -0
  161. package/dist/types/web-contracts/operation.d.ts +33 -0
  162. package/dist/types/web-contracts/referenceTarget.d.ts +13 -0
  163. package/dist/types/web-core/assistantCapabilityCatalog.d.ts +22 -0
  164. package/dist/types/web-core/assistantCatalogPage.d.ts +12 -0
  165. package/dist/types/web-core/assistantConfirmation.d.ts +23 -0
  166. package/dist/types/web-core/assistantConversationClient.d.ts +42 -0
  167. package/dist/types/web-core/assistantRuntime.d.ts +123 -0
  168. package/dist/types/web-core/assistantSurface.d.ts +162 -0
  169. package/dist/types/web-core/assistantTurnClient.d.ts +16 -0
  170. package/dist/types/web-core/constructionPlanClient.d.ts +55 -0
  171. package/dist/types/web-core/errors.d.ts +2 -0
  172. package/dist/types/web-core/http.d.ts +1 -0
  173. package/dist/types/web-core/index.d.ts +12 -0
  174. package/dist/types/web-core/module/dataExchangeClient.d.ts +53 -0
  175. package/dist/types/web-core/module/index.d.ts +1 -0
  176. package/dist/types/web-core/module/staticModuleClient.d.ts +12 -2
  177. package/dist/types/web-core/operationConfirmation.d.ts +28 -0
  178. package/dist/types/web-core/operationErrors.d.ts +9 -0
  179. package/dist/types/web-core/operationReceipt.d.ts +10 -0
  180. package/dist/types/web-core/sse.d.ts +9 -0
  181. package/dist/types/web-core/uuid.d.ts +2 -0
  182. package/dist/{workspaceViews-CCg6V0pr.js → workspaceViews-CHsgLFwY.js} +783 -1189
  183. package/package.json +1 -1
  184. package/dist/BusinessLogListDrawer-BtaXVJKz.js +0 -564
  185. package/dist/moduleGovernanceWorkspaceView-4V_UW-Bt.js +0 -40
  186. package/dist/platform-workbench-Cu14Xd9d.js +0 -10299
@@ -11,6 +11,7 @@ type __VLS_Props = {
11
11
  crossModuleHttp?: HttpClient;
12
12
  uiDescriptor: ResolvedModuleUiDescriptor;
13
13
  record: QueryListRecord;
14
+ retained?: boolean;
14
15
  relationEntries: readonly RelationExpansionEntry[];
15
16
  extension?: ModulePageListRowExpansion;
16
17
  extensionContext?: ModulePageListRowExpansionContext;
@@ -6,6 +6,7 @@ type __VLS_Props = {
6
6
  crossModuleHttp?: HttpClient;
7
7
  uiDescriptor: ResolvedModuleUiDescriptor;
8
8
  record: QueryListRecord;
9
+ retained?: boolean;
9
10
  relation: ResolvedDetailRelationDescriptor;
10
11
  expansion: ResolvedPageListRelationExpansionDescriptor;
11
12
  };
@@ -10,6 +10,7 @@ type __VLS_Props = {
10
10
  crossModuleHttp?: HttpClient;
11
11
  uiDescriptor: ResolvedModuleUiDescriptor;
12
12
  record: QueryListRecord;
13
+ retained?: boolean;
13
14
  entries: readonly RelationExpansionEntry[];
14
15
  };
15
16
  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>;
@@ -1,3 +1,4 @@
1
+ import type { OptionItemDescriptor } from '../web-contracts/index';
1
2
  import { type QueryListRecord, type RecordFormFieldPickerConfig, type RecordFormFieldValue, type RecordFormFieldDescriptor } from '../platform-components/index';
2
3
  import type { HttpClient, ModuleContext } from '../web-core/index';
3
4
  import type { ResolvedDetailRelationDescriptor, ResolvedModuleUiDescriptor } from '../web-contracts/index';
@@ -30,14 +31,16 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {
30
31
  valid: boolean;
31
32
  }) => any;
32
33
  "update:field": (fieldName: string, value: RecordFormFieldValue) => any;
33
- "children-change": (relationField: string, records: QueryListRecord[]) => any;
34
+ "reference-display-change": (fieldName: string, candidates: readonly import("../platform-components/index").ReferencePickerCandidate[]) => any;
35
+ "children-change": (relationField: string, records: QueryListRecord[], displayRecords: QueryListRecord[], options: Record<string, OptionItemDescriptor[]>) => any;
34
36
  "relations-validity-change": (valid: boolean) => any;
35
37
  }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
36
38
  "onValidity-change"?: ((validity: {
37
39
  valid: boolean;
38
40
  }) => any) | undefined;
39
41
  "onUpdate:field"?: ((fieldName: string, value: RecordFormFieldValue) => any) | undefined;
40
- "onChildren-change"?: ((relationField: string, records: QueryListRecord[]) => any) | undefined;
42
+ "onReference-display-change"?: ((fieldName: string, candidates: readonly import("../platform-components/index").ReferencePickerCandidate[]) => any) | undefined;
43
+ "onChildren-change"?: ((relationField: string, records: QueryListRecord[], displayRecords: QueryListRecord[], options: Record<string, OptionItemDescriptor[]>) => any) | undefined;
41
44
  "onRelations-validity-change"?: ((valid: boolean) => any) | undefined;
42
45
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
43
46
  declare const _default: typeof __VLS_export;
@@ -6,6 +6,8 @@ type __VLS_Props = {
6
6
  record?: QueryListRecord;
7
7
  mode: 'create' | 'edit' | 'view';
8
8
  saving?: boolean;
9
+ saveNeedsCheck?: boolean;
10
+ checkingSave?: boolean;
9
11
  /** The action currently owning the shared detail-operation session. */
10
12
  activeActionKey?: string;
11
13
  detailLoading?: boolean;
@@ -30,6 +32,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {
30
32
  edit: () => any;
31
33
  save: () => any;
32
34
  cancel: () => any;
35
+ checkSave: () => any;
33
36
  openWorkspace: () => any;
34
37
  createChild: () => any;
35
38
  detailAction: (action: RecordActionItem) => any;
@@ -38,6 +41,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {
38
41
  onEdit?: (() => any) | undefined;
39
42
  onSave?: (() => any) | undefined;
40
43
  onCancel?: (() => any) | undefined;
44
+ onCheckSave?: (() => any) | undefined;
41
45
  onOpenWorkspace?: (() => any) | undefined;
42
46
  onCreateChild?: (() => any) | undefined;
43
47
  onDetailAction?: ((action: RecordActionItem) => any) | undefined;
@@ -45,6 +49,8 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {
45
49
  record: QueryListRecord;
46
50
  actions: ModulePageRecordActionContribution[];
47
51
  saving: boolean;
52
+ saveNeedsCheck: boolean;
53
+ checkingSave: boolean;
48
54
  activeActionKey: string;
49
55
  detailLoading: boolean;
50
56
  detailLoadFailed: boolean;
@@ -1,4 +1,4 @@
1
- import { type QueryListRecord } from '../platform-components/index';
1
+ import { type QueryListRecord, type RecordQueryListQueryController, type RecordTreeQueryController } from '../platform-components/index';
2
2
  import type { RecordInlineAction } from '../web-contracts/index';
3
3
  import type { NavigatorLevelRuntime, NavigatorSortViewState } from './composables/useNavigatorRuntime';
4
4
  import type { ModulePageNavigatorTreeParentPolicy } from './modulePageEnhancements';
@@ -22,28 +22,30 @@ type __VLS_Props = {
22
22
  id?: string;
23
23
  }) => RecordInlineAction[];
24
24
  };
25
- declare var __VLS_46: {};
25
+ declare var __VLS_48: {};
26
26
  type __VLS_Slots = {} & {
27
- editor?: (props: typeof __VLS_46) => any;
27
+ editor?: (props: typeof __VLS_48) => any;
28
28
  };
29
29
  declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
30
30
  action: (action: RecordInlineAction, record: QueryListRecord) => any;
31
31
  select: (record: QueryListRecord) => any;
32
32
  create: () => any;
33
33
  refresh: () => any;
34
- loaded: (records: QueryListRecord[]) => any;
34
+ loaded: (records: QueryListRecord[], completeUnfilteredResult: boolean) => any;
35
35
  deselect: () => any;
36
- "toggle-sorting": () => any;
37
36
  "update:keyword": (value: string) => any;
37
+ queryControllerChange: (levelKey: string, controller: RecordQueryListQueryController | RecordTreeQueryController | undefined) => any;
38
+ "toggle-sorting": () => any;
38
39
  }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
39
40
  onAction?: ((action: RecordInlineAction, record: QueryListRecord) => any) | undefined;
40
41
  onSelect?: ((record: QueryListRecord) => any) | undefined;
41
42
  onCreate?: (() => any) | undefined;
42
43
  onRefresh?: (() => any) | undefined;
43
- onLoaded?: ((records: QueryListRecord[]) => any) | undefined;
44
+ onLoaded?: ((records: QueryListRecord[], completeUnfilteredResult: boolean) => any) | undefined;
44
45
  onDeselect?: (() => any) | undefined;
45
- "onToggle-sorting"?: (() => any) | undefined;
46
46
  "onUpdate:keyword"?: ((value: string) => any) | undefined;
47
+ onQueryControllerChange?: ((levelKey: string, controller: RecordQueryListQueryController | RecordTreeQueryController | undefined) => any) | undefined;
48
+ "onToggle-sorting"?: (() => any) | undefined;
47
49
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
48
50
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
49
51
  declare const _default: typeof __VLS_export;
@@ -21,11 +21,13 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {
21
21
  valid: boolean;
22
22
  }) => any;
23
23
  "update:field": (fieldName: string, value: RecordFormFieldValue) => any;
24
+ "reference-display-change": (fieldName: string, candidates: readonly import("../platform-components/index").ReferencePickerCandidate[]) => any;
24
25
  }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
25
26
  "onValidity-change"?: ((validity: {
26
27
  valid: boolean;
27
28
  }) => any) | undefined;
28
29
  "onUpdate:field"?: ((fieldName: string, value: RecordFormFieldValue) => any) | undefined;
30
+ "onReference-display-change"?: ((fieldName: string, candidates: readonly import("../platform-components/index").ReferencePickerCandidate[]) => any) | undefined;
29
31
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
30
32
  declare const _default: typeof __VLS_export;
31
33
  export default _default;
@@ -0,0 +1,3 @@
1
+ import type { ComputedRef, InjectionKey } from 'vue';
2
+ /** Reference drawers inherit the business scope of the page that owns their transport. */
3
+ export declare const assistantBusinessScopeKey: InjectionKey<ComputedRef<string>>;
@@ -0,0 +1,34 @@
1
+ import { type RecordQueryListQueryController, type RecordQueryListQuerySnapshot } from '../platform-components/index';
2
+ import type { AssistantCapability } from '../web-core/index';
3
+ /** Adapts only list-owned query ports; custom explorers may omit this capability. */
4
+ export declare function createAssistantQueryCapabilities(controller: RecordQueryListQueryController): AssistantCapability[];
5
+ /** Column metadata is shared once per result, not repeated in every record. */
6
+ export declare function assistantQueryResult(snapshot: RecordQueryListQuerySnapshot): {
7
+ columns: {
8
+ fieldName: string;
9
+ title: string;
10
+ }[];
11
+ rows: {
12
+ values: unknown[];
13
+ id?: string | undefined;
14
+ }[];
15
+ standardQuery?: {
16
+ fields: import("../platform-components/index").RecordQueryListFilterField[];
17
+ sorts: import("../web-contracts").WebSort[];
18
+ conditions: import("../web-contracts").QueryCriteriaCondition[];
19
+ } | {
20
+ conditions: import("../web-contracts").QueryCriteriaCondition[];
21
+ sorts: import("../web-contracts").WebSort[];
22
+ } | undefined;
23
+ request?: import("../web-contracts").WebQueryRequest;
24
+ mode: "normal" | "recycleBin";
25
+ status: "waiting" | "loading" | "ready" | "error";
26
+ quickSearchEnabled: boolean;
27
+ quickSearchFields: import("../platform-components/index").RecordQueryListQueryField[];
28
+ appliedQuickSearch?: string;
29
+ pageNum: number;
30
+ pageSize: number;
31
+ total: number;
32
+ totalKnown: boolean;
33
+ truncated: boolean;
34
+ };
@@ -0,0 +1,6 @@
1
+ import type { RecordQueryListQuerySnapshot } from '../platform-components/index';
2
+ import type { ModuleRecordActionAvailability } from '../web-core/index';
3
+ export declare function hasActiveRecordEditor(mode: string, draft: unknown): boolean;
4
+ export declare function assistantVisibleRecordIds(selectedRecordId: unknown, querySnapshot: RecordQueryListQuerySnapshot | undefined): string[];
5
+ export declare function hasAvailableRecordAction(availability: ModuleRecordActionAvailability, actionCode: 'view' | 'update'): boolean;
6
+ export declare function assistantEditCancelDestination(detailOpen: boolean, selectedRecordId: unknown, targetRecordId: string): "close" | "restore-view";
@@ -21,4 +21,6 @@ export declare function useModulePageFormContributionRuntime(options: UseModuleP
21
21
  contextFor: (contribution: ModulePageFormContribution, field?: Readonly<RecordFormFieldState>) => ModulePageFormContributionContext;
22
22
  stateSnapshot: () => ModulePageFormContributionState;
23
23
  };
24
+ /** One read projection for form presentation policies and controlled editor adapters. */
25
+ export declare function createModulePageFormState(mode: 'create' | 'edit' | 'view', draft: RecordFormRecord, fields: Map<string, RecordFormFieldDescriptor>, formSessionKey: number): ModulePageFormContributionState;
24
26
  export {};
@@ -8,6 +8,7 @@ export interface ModulePageListSessionOptions {
8
8
  resetTreeSelection(): void;
9
9
  openRecord(record: QueryListRecord): void;
10
10
  openRecycleBinRecord(record: QueryListRecord): void;
11
+ markUserInteraction(): void;
11
12
  }
12
13
  /**
13
14
  * Owns list-side state and record selection policy for one module-page session.
@@ -33,6 +33,7 @@ interface NavigatorEntrySelectionResolution {
33
33
  */
34
34
  export declare function useNavigatorRuntime(context: ModuleContext<QueryListRecord>, crossModuleHttp?: HttpClient): {
35
35
  formFields: Ref<Map<string, {
36
+ assistantPolicy?: import("../../web-contracts/index").AssistantFieldPolicy | undefined;
36
37
  fieldRef: {
37
38
  relationCode?: string | undefined;
38
39
  fieldName: string;
@@ -111,6 +112,16 @@ export declare function useNavigatorRuntime(context: ModuleContext<QueryListReco
111
112
  maxDisplayLines?: number | undefined;
112
113
  treeRootTitle?: string | undefined;
113
114
  overrideOf?: string | undefined;
115
+ inputRequirements?: {
116
+ requiredOnInsert: boolean;
117
+ requiredOnUpdate: boolean;
118
+ maxLength?: number | null | undefined;
119
+ validationRegex?: string | null | undefined;
120
+ textNormalization?: "NONE" | "TRIM" | "TRIM_TO_NULL" | null | undefined;
121
+ precision?: number | null | undefined;
122
+ scale?: number | null | undefined;
123
+ } | undefined;
124
+ calculationTiming?: "IMMEDIATE" | "ON_SAVE" | null | undefined;
114
125
  fieldControl?: {
115
126
  alias: string;
116
127
  rendererType: string;
@@ -181,6 +192,17 @@ export declare function useNavigatorRuntime(context: ModuleContext<QueryListReco
181
192
  } | undefined;
182
193
  valueType?: import("../../web-contracts/index").ViewFieldValueType | undefined;
183
194
  } | {
195
+ calculationTiming?: "IMMEDIATE" | "ON_SAVE" | null | undefined;
196
+ inputRequirements?: {
197
+ requiredOnInsert: boolean;
198
+ requiredOnUpdate: boolean;
199
+ maxLength?: number | null | undefined;
200
+ validationRegex?: string | null | undefined;
201
+ textNormalization?: "NONE" | "TRIM" | "TRIM_TO_NULL" | null | undefined;
202
+ precision?: number | null | undefined;
203
+ scale?: number | null | undefined;
204
+ } | undefined;
205
+ assistantPolicy?: import("../../web-contracts/index").AssistantFieldPolicy | undefined;
184
206
  fieldRef: {
185
207
  relationCode?: string | undefined;
186
208
  fieldName: string;
@@ -335,6 +357,7 @@ export declare function useNavigatorRuntime(context: ModuleContext<QueryListReco
335
357
  }[];
336
358
  } | undefined;
337
359
  }> & Omit<Map<string, RecordFormFieldDescriptor>, keyof Map<any, any>>, Map<string, RecordFormFieldDescriptor> | (Map<string, {
360
+ assistantPolicy?: import("../../web-contracts/index").AssistantFieldPolicy | undefined;
338
361
  fieldRef: {
339
362
  relationCode?: string | undefined;
340
363
  fieldName: string;
@@ -413,6 +436,16 @@ export declare function useNavigatorRuntime(context: ModuleContext<QueryListReco
413
436
  maxDisplayLines?: number | undefined;
414
437
  treeRootTitle?: string | undefined;
415
438
  overrideOf?: string | undefined;
439
+ inputRequirements?: {
440
+ requiredOnInsert: boolean;
441
+ requiredOnUpdate: boolean;
442
+ maxLength?: number | null | undefined;
443
+ validationRegex?: string | null | undefined;
444
+ textNormalization?: "NONE" | "TRIM" | "TRIM_TO_NULL" | null | undefined;
445
+ precision?: number | null | undefined;
446
+ scale?: number | null | undefined;
447
+ } | undefined;
448
+ calculationTiming?: "IMMEDIATE" | "ON_SAVE" | null | undefined;
416
449
  fieldControl?: {
417
450
  alias: string;
418
451
  rendererType: string;
@@ -483,6 +516,17 @@ export declare function useNavigatorRuntime(context: ModuleContext<QueryListReco
483
516
  } | undefined;
484
517
  valueType?: import("../../web-contracts/index").ViewFieldValueType | undefined;
485
518
  } | {
519
+ calculationTiming?: "IMMEDIATE" | "ON_SAVE" | null | undefined;
520
+ inputRequirements?: {
521
+ requiredOnInsert: boolean;
522
+ requiredOnUpdate: boolean;
523
+ maxLength?: number | null | undefined;
524
+ validationRegex?: string | null | undefined;
525
+ textNormalization?: "NONE" | "TRIM" | "TRIM_TO_NULL" | null | undefined;
526
+ precision?: number | null | undefined;
527
+ scale?: number | null | undefined;
528
+ } | undefined;
529
+ assistantPolicy?: import("../../web-contracts/index").AssistantFieldPolicy | undefined;
486
530
  fieldRef: {
487
531
  relationCode?: string | undefined;
488
532
  fieldName: string;
@@ -638,6 +682,7 @@ export declare function useNavigatorRuntime(context: ModuleContext<QueryListReco
638
682
  } | undefined;
639
683
  }> & Omit<Map<string, RecordFormFieldDescriptor>, keyof Map<any, any>>)>;
640
684
  detailDisplayFields: Ref<Map<string, {
685
+ assistantPolicy?: import("../../web-contracts/index").AssistantFieldPolicy | undefined;
641
686
  fieldRef: {
642
687
  relationCode?: string | undefined;
643
688
  fieldName: string;
@@ -716,6 +761,16 @@ export declare function useNavigatorRuntime(context: ModuleContext<QueryListReco
716
761
  maxDisplayLines?: number | undefined;
717
762
  treeRootTitle?: string | undefined;
718
763
  overrideOf?: string | undefined;
764
+ inputRequirements?: {
765
+ requiredOnInsert: boolean;
766
+ requiredOnUpdate: boolean;
767
+ maxLength?: number | null | undefined;
768
+ validationRegex?: string | null | undefined;
769
+ textNormalization?: "NONE" | "TRIM" | "TRIM_TO_NULL" | null | undefined;
770
+ precision?: number | null | undefined;
771
+ scale?: number | null | undefined;
772
+ } | undefined;
773
+ calculationTiming?: "IMMEDIATE" | "ON_SAVE" | null | undefined;
719
774
  fieldControl?: {
720
775
  alias: string;
721
776
  rendererType: string;
@@ -786,6 +841,17 @@ export declare function useNavigatorRuntime(context: ModuleContext<QueryListReco
786
841
  } | undefined;
787
842
  valueType?: import("../../web-contracts/index").ViewFieldValueType | undefined;
788
843
  } | {
844
+ calculationTiming?: "IMMEDIATE" | "ON_SAVE" | null | undefined;
845
+ inputRequirements?: {
846
+ requiredOnInsert: boolean;
847
+ requiredOnUpdate: boolean;
848
+ maxLength?: number | null | undefined;
849
+ validationRegex?: string | null | undefined;
850
+ textNormalization?: "NONE" | "TRIM" | "TRIM_TO_NULL" | null | undefined;
851
+ precision?: number | null | undefined;
852
+ scale?: number | null | undefined;
853
+ } | undefined;
854
+ assistantPolicy?: import("../../web-contracts/index").AssistantFieldPolicy | undefined;
789
855
  fieldRef: {
790
856
  relationCode?: string | undefined;
791
857
  fieldName: string;
@@ -940,6 +1006,7 @@ export declare function useNavigatorRuntime(context: ModuleContext<QueryListReco
940
1006
  }[];
941
1007
  } | undefined;
942
1008
  }> & Omit<Map<string, RecordFormFieldDescriptor>, keyof Map<any, any>>, Map<string, RecordFormFieldDescriptor> | (Map<string, {
1009
+ assistantPolicy?: import("../../web-contracts/index").AssistantFieldPolicy | undefined;
943
1010
  fieldRef: {
944
1011
  relationCode?: string | undefined;
945
1012
  fieldName: string;
@@ -1018,6 +1085,16 @@ export declare function useNavigatorRuntime(context: ModuleContext<QueryListReco
1018
1085
  maxDisplayLines?: number | undefined;
1019
1086
  treeRootTitle?: string | undefined;
1020
1087
  overrideOf?: string | undefined;
1088
+ inputRequirements?: {
1089
+ requiredOnInsert: boolean;
1090
+ requiredOnUpdate: boolean;
1091
+ maxLength?: number | null | undefined;
1092
+ validationRegex?: string | null | undefined;
1093
+ textNormalization?: "NONE" | "TRIM" | "TRIM_TO_NULL" | null | undefined;
1094
+ precision?: number | null | undefined;
1095
+ scale?: number | null | undefined;
1096
+ } | undefined;
1097
+ calculationTiming?: "IMMEDIATE" | "ON_SAVE" | null | undefined;
1021
1098
  fieldControl?: {
1022
1099
  alias: string;
1023
1100
  rendererType: string;
@@ -1088,6 +1165,17 @@ export declare function useNavigatorRuntime(context: ModuleContext<QueryListReco
1088
1165
  } | undefined;
1089
1166
  valueType?: import("../../web-contracts/index").ViewFieldValueType | undefined;
1090
1167
  } | {
1168
+ calculationTiming?: "IMMEDIATE" | "ON_SAVE" | null | undefined;
1169
+ inputRequirements?: {
1170
+ requiredOnInsert: boolean;
1171
+ requiredOnUpdate: boolean;
1172
+ maxLength?: number | null | undefined;
1173
+ validationRegex?: string | null | undefined;
1174
+ textNormalization?: "NONE" | "TRIM" | "TRIM_TO_NULL" | null | undefined;
1175
+ precision?: number | null | undefined;
1176
+ scale?: number | null | undefined;
1177
+ } | undefined;
1178
+ assistantPolicy?: import("../../web-contracts/index").AssistantFieldPolicy | undefined;
1091
1179
  fieldRef: {
1092
1180
  relationCode?: string | undefined;
1093
1181
  fieldName: string;
@@ -1270,8 +1358,9 @@ export declare function useNavigatorRuntime(context: ModuleContext<QueryListReco
1270
1358
  querySchema: (options?: import("../../web-core/index").QuerySchemaRequestOptions) => Promise<import("../../web-contracts/index").QuerySchema>;
1271
1359
  query: (request?: import("../../web-contracts/index").WebQueryRequest) => Promise<import("../../web-contracts/index").WebPageResponse<QueryListRecord>>;
1272
1360
  view: (id: string) => Promise<QueryListRecord>;
1273
- insert: (record: QueryListRecord) => Promise<import("../../web-core/index").StaticRecordMutationResult<QueryListRecord>>;
1274
- update: (id: string, record: QueryListRecord) => Promise<import("../../web-core/index").StaticRecordMutationResult<QueryListRecord>>;
1361
+ insert: (record: QueryListRecord, options?: import("../../web-core/index").RecordSaveRequestOptions) => Promise<import("../../web-core/index").StaticRecordMutationResult<QueryListRecord>>;
1362
+ update: (id: string, record: QueryListRecord, options?: import("../../web-core/index").RecordSaveRequestOptions) => Promise<import("../../web-core/index").StaticRecordMutationResult<QueryListRecord>>;
1363
+ saveReceipt?: ((requestId: string) => Promise<import("../../web-core/index").RecordSaveReceipt>) | undefined;
1275
1364
  delete: (id: string, request: import("../../web-core/index").RecordActionRequest) => Promise<import("../../web-core/index").StaticCountMutationResult>;
1276
1365
  enable: (id: string, request: import("../../web-core/index").RecordActionRequest) => Promise<import("../../web-core/index").StaticCountMutationResult>;
1277
1366
  disable: (id: string, request: import("../../web-core/index").RecordActionRequest) => Promise<import("../../web-core/index").StaticCountMutationResult>;
@@ -1347,8 +1436,9 @@ export declare function useNavigatorRuntime(context: ModuleContext<QueryListReco
1347
1436
  querySchema: (options?: import("../../web-core/index").QuerySchemaRequestOptions) => Promise<import("../../web-contracts/index").QuerySchema>;
1348
1437
  query: (request?: import("../../web-contracts/index").WebQueryRequest) => Promise<import("../../web-contracts/index").WebPageResponse<QueryListRecord>>;
1349
1438
  view: (id: string) => Promise<QueryListRecord>;
1350
- insert: (record: QueryListRecord) => Promise<import("../../web-core/index").StaticRecordMutationResult<QueryListRecord>>;
1351
- update: (id: string, record: QueryListRecord) => Promise<import("../../web-core/index").StaticRecordMutationResult<QueryListRecord>>;
1439
+ insert: (record: QueryListRecord, options?: import("../../web-core/index").RecordSaveRequestOptions) => Promise<import("../../web-core/index").StaticRecordMutationResult<QueryListRecord>>;
1440
+ update: (id: string, record: QueryListRecord, options?: import("../../web-core/index").RecordSaveRequestOptions) => Promise<import("../../web-core/index").StaticRecordMutationResult<QueryListRecord>>;
1441
+ saveReceipt?: ((requestId: string) => Promise<import("../../web-core/index").RecordSaveReceipt>) | undefined;
1352
1442
  delete: (id: string, request: import("../../web-core/index").RecordActionRequest) => Promise<import("../../web-core/index").StaticCountMutationResult>;
1353
1443
  enable: (id: string, request: import("../../web-core/index").RecordActionRequest) => Promise<import("../../web-core/index").StaticCountMutationResult>;
1354
1444
  disable: (id: string, request: import("../../web-core/index").RecordActionRequest) => Promise<import("../../web-core/index").StaticCountMutationResult>;
@@ -17,7 +17,9 @@ export declare function useRecordEditingSession<TRecord extends {
17
17
  id?: unknown;
18
18
  }>(context: ModuleContext<TRecord>, detail: DetailController<TRecord>, onLoaded: () => void): {
19
19
  invalidatePendingRequests: () => void;
20
+ commitLoadedRecord: (record: TRecord, mode: "edit" | "view", options?: RecordDetailTransitionOptions) => void;
20
21
  openRecord: (record: TRecord, mode: "edit" | "view", options?: RecordDetailTransitionOptions, skipLoad?: boolean, onLoadError?: (cause: unknown) => void) => Promise<void>;
21
22
  openRecycleBinRecord: (record: TRecord) => Promise<void>;
23
+ settlePendingRecord: (signal?: AbortSignal) => Promise<void>;
22
24
  };
23
25
  export {};
@@ -19,3 +19,5 @@ export declare class FormComputeCoordinator {
19
19
  applyOnCreate<TDraft extends FormulaRecord>(draft: TDraft, childAggregateRows?: FormulaRecord): TDraft;
20
20
  private evaluate;
21
21
  }
22
+ /** Includes platform effects such as cleared dependent references in the calculation trigger set. */
23
+ export declare function formComputeChangedFields(previous: FormulaRecord, current: FormulaRecord, explicitFields: readonly string[]): string[];
@@ -1,4 +1,5 @@
1
1
  export { default as ModulePageHost } from './ModulePageHost.vue';
2
+ export { createModulePageAssistantSurface, modulePageAssistantContextRevision, modulePageAssistantInteractionRevision, } from './modulePageAssistantSurface';
2
3
  export { default as DynamicModulePage } from './DynamicModulePage.vue';
3
4
  export { default as DynamicModuleWorkspaceDetailView } from './DynamicModuleWorkspaceDetailView.vue';
4
5
  export { default as ModuleReferenceRecordDetailBrowser } from './ModuleReferenceRecordDetailBrowser.vue';
@@ -0,0 +1,20 @@
1
+ import type { AssistantCapability, AssistantInvocationToken } from '../web-core/index';
2
+ import { type QueryListRecord } from '../platform-components/index';
3
+ import type { ModulePageSessionView } from './useModulePageSession';
4
+ import type { TenantScopeController } from './useTenantScopeController';
5
+ export type ModulePageAssistantTenantScope = Pick<TenantScopeController, 'blocked' | 'changeTenantScope' | 'selected' | 'tenantScopeContext' | 'tenantScopeExplorerVisible'> & {
6
+ settleTenantScopeChange(record: QueryListRecord, signal: AbortSignal): Promise<void | AssistantInvocationToken>;
7
+ };
8
+ export interface AssistantScopeCandidate {
9
+ scopeKey: string;
10
+ record: QueryListRecord;
11
+ revision: string;
12
+ }
13
+ /** Keep live, authorized search choices available across the user's clarification turn. */
14
+ export declare function modulePageScopeCandidateFacts(view: ModulePageSessionView, tenantScope: ModulePageAssistantTenantScope | undefined, candidates: Map<string, AssistantScopeCandidate>): {
15
+ scopeKey: string;
16
+ selectionKey: string;
17
+ title: string | undefined;
18
+ label: string | undefined;
19
+ }[];
20
+ export declare function modulePageScopeCapabilities(view: ModulePageSessionView, tenantScope: ModulePageAssistantTenantScope | undefined, candidates: Map<string, AssistantScopeCandidate>): AssistantCapability[];
@@ -0,0 +1,6 @@
1
+ import { type AssistantCapability, type AssistantSurface, type AssistantTurnRequester } from '../web-core/index';
2
+ import type { ModulePageSessionView } from './useModulePageSession';
3
+ import { type ModulePageAssistantTenantScope } from './modulePageAssistantScope';
4
+ export declare function modulePageAssistantContextRevision(view: ModulePageSessionView): string;
5
+ export declare function modulePageAssistantInteractionRevision(view: ModulePageSessionView): string;
6
+ export declare function createModulePageAssistantSurface(view: ModulePageSessionView, requestTurn: AssistantTurnRequester, contributedCapabilities?: () => AssistantCapability[], tenantScope?: ModulePageAssistantTenantScope): AssistantSurface;
@@ -0,0 +1,17 @@
1
+ /** Shared page preconditions; absence of an executable tool is not evidence of missing permission. */
2
+ export declare function recordCreationReadiness(state: {
3
+ tenantReady: boolean;
4
+ pageReady: boolean;
5
+ permitted: boolean;
6
+ editing: boolean;
7
+ busy: boolean;
8
+ scopeReady: boolean;
9
+ }): {
10
+ ready: boolean;
11
+ reason: string;
12
+ message: string;
13
+ } | {
14
+ ready: boolean;
15
+ reason?: undefined;
16
+ message?: undefined;
17
+ };
@@ -0,0 +1,59 @@
1
+ import type { ResolvedDetailRelationDescriptor, ResolvedModuleUiDescriptor, OptionItemDescriptor } from '../web-contracts/index';
2
+ import { type RecordFormFieldState, type RecordFormRecord } from '../platform-components/index';
3
+ /** Read the same authorized display facts as the form; never expose a reference ID as its label. */
4
+ export declare function recordFieldDisplay(field: RecordFormFieldState, record: RecordFormRecord, optionItems?: OptionItemDescriptor[], draft?: boolean): string;
5
+ /** Resolve display labels through the same authorized provider used by the picker. */
6
+ export declare function resolvedRecordFieldDisplay(field: RecordFormFieldState, record: RecordFormRecord, optionItems?: OptionItemDescriptor[]): Promise<string>;
7
+ export declare function assistantReadableField(field: RecordFormFieldState): boolean;
8
+ /** Embedded aggregate facts only; no additional queries or inferred independent-relation rows. */
9
+ export declare function recordRelationProjection(descriptor: ResolvedModuleUiDescriptor | undefined, relations: ResolvedDetailRelationDescriptor[], record: RecordFormRecord, { baseline, purpose, draft, relationOptions, editableRelations, draftRowKeys, includeDescribedValues, includeBaseline, }?: {
10
+ draft?: boolean;
11
+ editableRelations?: ReadonlySet<string>;
12
+ /** Keys issued by mounted editors; never inferred from row position or record IDs. */
13
+ draftRowKeys?: ReadonlyMap<string, ReadonlySet<string>>;
14
+ includeDescribedValues?: boolean;
15
+ includeBaseline?: boolean;
16
+ baseline?: RecordFormRecord;
17
+ purpose?: 'context' | 'confirmation' | 'observation';
18
+ relationOptions?: Record<string, Record<string, OptionItemDescriptor[]>>;
19
+ }): {
20
+ savedCount?: number | null | undefined;
21
+ savedRows?: {
22
+ values: {
23
+ truncated?: boolean | undefined;
24
+ value: string;
25
+ assistantPolicy?: import("../web-contracts/index").AssistantFieldPolicy | undefined;
26
+ label: string;
27
+ }[];
28
+ rowKey?: string | undefined;
29
+ row: number;
30
+ }[] | undefined;
31
+ relationCode: string;
32
+ title: string;
33
+ editable: boolean;
34
+ source: string;
35
+ loaded: boolean;
36
+ count: number | null;
37
+ removedCount: number;
38
+ truncated: boolean;
39
+ rows: {
40
+ values: {
41
+ truncated?: boolean | undefined;
42
+ value: string;
43
+ assistantPolicy?: import("../web-contracts/index").AssistantFieldPolicy | undefined;
44
+ label: string;
45
+ }[];
46
+ rowKey?: string | undefined;
47
+ row: number;
48
+ }[];
49
+ removedRows: {
50
+ values: {
51
+ truncated?: boolean | undefined;
52
+ value: string;
53
+ assistantPolicy?: import("../web-contracts/index").AssistantFieldPolicy | undefined;
54
+ label: string;
55
+ }[];
56
+ rowKey?: string | undefined;
57
+ row: number;
58
+ }[];
59
+ }[];
@@ -0,0 +1,59 @@
1
+ import type { RecordFormDraftAccess } from './recordFormDraftAccess';
2
+ import { type AssistantCapability } from '../web-core/index';
3
+ import { type RecordFormFieldState } from '../platform-components/index';
4
+ export declare function createRecordFormAssistantCapabilities(view: RecordFormDraftAccess, { resolveReferenceNames, canReadDetail, schemaDiscovery, }?: {
5
+ resolveReferenceNames?: boolean;
6
+ canReadDetail?: () => boolean;
7
+ schemaDiscovery?: AssistantCapability['schemaDiscovery'];
8
+ }): () => {
9
+ schemaDiscovery?: "eager";
10
+ descriptor: import("../web-contracts").AssistantCapabilityDescriptor;
11
+ effect: "read" | "page" | "draft" | "configuration-draft";
12
+ changesReadState?: boolean;
13
+ present?(output: unknown): import("../web-contracts").AssistantResultPresentation;
14
+ propose?(output: unknown): import("../web-core/index").AssistantOperationProposal;
15
+ parseInput(input: unknown): unknown;
16
+ execute(input: unknown, context: import("../web-core/index").AssistantCapabilityExecutionContext): Promise<unknown>;
17
+ }[];
18
+ /** Same field projection for live context and explicit reads; never queries reference sources. */
19
+ export declare function recordFormAssistantFacts(view: RecordFormDraftAccess, resolved?: Map<string, {
20
+ display: string;
21
+ unavailable?: boolean;
22
+ }>, referencesTruncated?: boolean): {
23
+ editorMode: "edit" | "view" | "create";
24
+ editable: boolean;
25
+ currentValuesTruncated: boolean;
26
+ fields: {
27
+ options: {
28
+ value: import("../web-contracts").OptionValue;
29
+ label: string;
30
+ }[];
31
+ currentValueUnavailable?: boolean | undefined;
32
+ currentValueTruncated?: boolean | undefined;
33
+ currentValue?: string | number | boolean | (string | number | boolean)[] | null | undefined;
34
+ referenceCardinality?: "ONE" | "MANY" | undefined;
35
+ referenceTargetModuleAlias?: string | undefined;
36
+ assistantWriteMode?: "value" | "referenceSelection" | undefined;
37
+ controlType: import("../platform-components/recordFormFieldModel").RecordFormFieldControlType;
38
+ assistantWritable: boolean;
39
+ valueHint?: string | undefined;
40
+ inputRequirements?: {
41
+ requiredOnInsert: boolean;
42
+ requiredOnUpdate: boolean;
43
+ maxLength?: number | null;
44
+ validationRegex?: string | null;
45
+ textNormalization?: "NONE" | "TRIM" | "TRIM_TO_NULL" | null;
46
+ precision?: number | null;
47
+ scale?: number | null;
48
+ } | undefined;
49
+ valueType: import("../web-contracts").ViewFieldValueType | undefined;
50
+ calculationPending?: boolean | undefined;
51
+ fieldName: string;
52
+ label: string;
53
+ required: boolean;
54
+ readOnly: boolean;
55
+ }[];
56
+ };
57
+ export declare function isSensitiveField(field: RecordFormFieldState): boolean;
58
+ export declare function formFieldState(view: Pick<RecordFormDraftAccess, 'formFields' | 'referencePickerConfigs' | 'editingRecord' | 'selectedRecord' | 'editorMode'>, fieldName: string): RecordFormFieldState | undefined;
59
+ export declare function isRecord(value: unknown): value is Record<string, unknown>;
@@ -0,0 +1,33 @@
1
+ import type { RecordFormFieldDescriptor, RecordFormFieldPickerConfig, RecordFormFieldValue, RecordFormRecord, ReferencePickerCandidate } from '../platform-components/index';
2
+ /** Controlled access to an existing editor, including a row of an aggregate draft. */
3
+ export interface RecordFormDraftAccess {
4
+ readonly editorMode: 'view' | 'create' | 'edit';
5
+ readonly editingRecord?: RecordFormRecord;
6
+ readonly selectedRecord?: RecordFormRecord;
7
+ readonly formFields: Map<string, RecordFormFieldDescriptor>;
8
+ readonly referencePickerConfigs: Record<string, RecordFormFieldPickerConfig>;
9
+ /** Current source-resolved display, separate from mutation data. */
10
+ referenceDisplay?(fieldName: string): string | undefined;
11
+ contextRevision(): string;
12
+ relations?(): unknown[];
13
+ updateDraftFields(changes: Array<{
14
+ fieldName: string;
15
+ value: RecordFormFieldValue;
16
+ }>, source?: 'user' | 'assistant'): void;
17
+ updateDraftReference(fieldName: string, candidate: ReferencePickerCandidate, source?: 'user' | 'assistant', changes?: Array<{
18
+ fieldName: string;
19
+ value: RecordFormFieldValue;
20
+ }>,
21
+ /** Pure check of the staged record, before publishing draft or display changes. */
22
+ validate?: (record: RecordFormRecord) => void): void;
23
+ }
24
+ /** Called only by the standard editor while its complete update is still staged. */
25
+ export declare function validateStagedDraft(record: RecordFormRecord, validate?: (record: RecordFormRecord) => void): void;
26
+ /** One standard draft update: reference mappings, then explicit ordinary values. */
27
+ export declare function referenceDraftChanges(fieldName: string, candidate: ReferencePickerCandidate, changes?: Array<{
28
+ fieldName: string;
29
+ value: RecordFormFieldValue;
30
+ }>): {
31
+ fieldName: string;
32
+ value: RecordFormFieldValue;
33
+ }[];