@ximatai/muyun-web-app 0.26.13 → 0.26.14

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 (64) hide show
  1. package/dist/{BusinessActivityLogView-UC4rH4Fn.js → BusinessActivityLogView-BUg5WTm-.js} +1 -1
  2. package/dist/BusinessLogListDrawer-BOTE_7aT.js +825 -0
  3. package/dist/{LoginAuditLogView-Cjrp8MKX.js → LoginAuditLogView-DBNtvmIy.js} +1 -1
  4. package/dist/{ModuleActionManagementView-Dkb35QXc.js → ModuleActionManagementView-Bq1VO51Y.js} +165 -165
  5. package/dist/{ModuleGovernanceView-Dx43QvGf.js → ModuleGovernanceView-B8u4_erd.js} +3570 -2877
  6. package/dist/{RequestErrorLogView-WnGvMWiF.js → RequestErrorLogView-BrtH3ptj.js} +1 -1
  7. package/dist/{RoleDetailWorkspaceView-DPDb_QOn.js → RoleDetailWorkspaceView-6LW3tLA1.js} +276 -276
  8. package/dist/{RuntimeLogView-BRl4ZDkU.js → RuntimeLogView-s3X5CdHB.js} +47 -80
  9. package/dist/index.css +1 -1
  10. package/dist/index.js +400 -400
  11. package/dist/{moduleGovernanceWorkspaceView-4V_UW-Bt.js → moduleGovernanceWorkspaceView-BRgJbUjJ.js} +2 -2
  12. package/dist/{platform-components-1cvOeHmo.js → platform-components-Dt859Hbr.js} +3449 -2676
  13. package/dist/platform-workbench-DfqFnlm-.js +14701 -0
  14. package/dist/{http-B0TC0pJB.js → sse-mGbuCAax.js} +41 -11
  15. package/dist/types/dynamic-page-runtime/ModulePageBusinessSession.d.ts +218 -8
  16. package/dist/types/dynamic-page-runtime/ModulePageHostRuntime.vue.d.ts +230 -18
  17. package/dist/types/dynamic-page-runtime/PageNavigatorExplorer.vue.d.ts +2 -2
  18. package/dist/types/dynamic-page-runtime/assistantRecordEditorPolicy.d.ts +6 -0
  19. package/dist/types/dynamic-page-runtime/composables/useModulePageListSession.d.ts +1 -0
  20. package/dist/types/dynamic-page-runtime/composables/useRecordEditingSession.d.ts +2 -0
  21. package/dist/types/dynamic-page-runtime/index.d.ts +1 -0
  22. package/dist/types/dynamic-page-runtime/modulePageAssistantScope.d.ts +8 -0
  23. package/dist/types/dynamic-page-runtime/modulePageAssistantSurface.d.ts +6 -0
  24. package/dist/types/dynamic-page-runtime/useModulePageSession.d.ts +110 -5
  25. package/dist/types/dynamic-page-runtime/useTenantScopeController.d.ts +1 -0
  26. package/dist/types/platform-components/CrudRecordListExplorer.vue.d.ts +8 -0
  27. package/dist/types/platform-components/QueryValueEditor.vue.d.ts +1 -1
  28. package/dist/types/platform-components/RecordDetailFields.vue.d.ts +1 -1
  29. package/dist/types/platform-components/RecordFormFields.vue.d.ts +1 -1
  30. package/dist/types/platform-components/RecordQueryListCell.vue.d.ts +1 -1
  31. package/dist/types/platform-components/RecordQueryListPanel.vue.d.ts +8 -0
  32. package/dist/types/platform-components/TreeRecordExplorer.vue.d.ts +5 -2
  33. package/dist/types/platform-components/index.d.ts +4 -1
  34. package/dist/types/platform-components/querySettlementController.d.ts +5 -0
  35. package/dist/types/platform-components/recordQueryListColumnModel.d.ts +7 -0
  36. package/dist/types/platform-components/recordQueryListQueryController.d.ts +36 -0
  37. package/dist/types/platform-components/recordTreeQueryController.d.ts +18 -0
  38. package/dist/types/platform-components/referencePickerModel.d.ts +2 -0
  39. package/dist/types/platform-workbench/AssistantMarkdownContent.vue.d.ts +6 -0
  40. package/dist/types/platform-workbench/AssistantSelectionCard.vue.d.ts +15 -0
  41. package/dist/types/platform-workbench/Workbench.vue.d.ts +7 -2
  42. package/dist/types/platform-workbench/WorkbenchAssistantPanel.vue.d.ts +12 -0
  43. package/dist/types/platform-workbench/assistantMarkdown.d.ts +1 -0
  44. package/dist/types/platform-workbench/index.d.ts +1 -0
  45. package/dist/types/platform-workbench/workbenchAssistantCapabilities.d.ts +3 -0
  46. package/dist/types/views/BusinessLogRetentionControl.vue.d.ts +7 -0
  47. package/dist/types/views/businessLogClient.d.ts +3 -0
  48. package/dist/types/views/businessLogRetentionClient.d.ts +25 -0
  49. package/dist/types/views/metadataGovernanceAssistantSurface.d.ts +122 -0
  50. package/dist/types/views/metadataModelChangeSetClient.d.ts +36 -0
  51. package/dist/types/views/metadataNaming.d.ts +4 -0
  52. package/dist/types/views/runtimeLogSse.d.ts +3 -13
  53. package/dist/types/vue-ui-antdv/components/UiTextArea.vue.d.ts +2 -0
  54. package/dist/types/web-contracts/assistant.d.ts +59 -0
  55. package/dist/types/web-contracts/index.d.ts +1 -0
  56. package/dist/types/web-core/assistantRuntime.d.ts +77 -0
  57. package/dist/types/web-core/assistantSurface.d.ts +92 -0
  58. package/dist/types/web-core/assistantTurnClient.d.ts +8 -0
  59. package/dist/types/web-core/index.d.ts +4 -0
  60. package/dist/types/web-core/sse.d.ts +9 -0
  61. package/dist/{workspaceViews-CCg6V0pr.js → workspaceViews-DijY4n32.js} +554 -554
  62. package/package.json +1 -1
  63. package/dist/BusinessLogListDrawer-BtaXVJKz.js +0 -564
  64. package/dist/platform-workbench-Cu14Xd9d.js +0 -10299
@@ -1,4 +1,4 @@
1
- import { type RecordFormFieldPickerConfig, type CrudRecordListBase, type RecordExplorerItemDescriptor, type RecordActionItem, type RecordQueryListCellComponent, type ReferenceRecordDetailMutation, type StandardCrudRowActionKey, type QueryListRecord, type RecordFormRecord } from '../platform-components/index';
1
+ import { type RecordFormFieldPickerConfig, type CrudRecordListBase, type RecordExplorerItemDescriptor, type RecordActionItem, type RecordQueryListCellComponent, type RecordQueryListQueryController, type RecordTreeQueryController, type ReferenceRecordDetailMutation, type StandardCrudRowActionKey, type QueryListRecord, type RecordFormRecord, type ReferencePickerCandidate } from '../platform-components/index';
2
2
  import type { StandardModulePageDescriptor, ResolvedDetailRelationDescriptor, ResolvedModuleUiDescriptor, ResolvedPageListRelationExpansionDescriptor, RecordInlineAction } from '../web-contracts/index';
3
3
  import { AppError, type HttpClient, type ModuleContext, type ModuleRecordActionAvailability, type ModuleTreeClient } from '../web-core/index';
4
4
  import { type ModulePageActionContribution, type ModulePageBatchActionContribution, type ModulePageColumnContribution, type ModulePageDetailDrawer, type ModulePageDetailSection, type ModulePageCardAssistantContext, type ModulePageFormContribution, type ModulePageFormFieldPolicy, type ModulePageNavigatorExtensionContext, type ModulePageListRowExpansionContext, type ModulePageRecordActionContribution } from './modulePageEnhancements';
@@ -176,7 +176,7 @@ export declare function useModulePageSession(props: ModulePageSessionProps, emit
176
176
  }>) => void;
177
177
  selectNavigatorRecord: (levelKey: string, record: {
178
178
  id?: string;
179
- }, source?: "user" | "entry") => void;
179
+ }, source?: "user" | "assistant" | "entry") => void;
180
180
  clearNavigatorRecord: (levelKey: string) => void;
181
181
  handleNavigatorInlineAction: (level: NavigatorLevelRuntime, action: RecordInlineAction, record: {
182
182
  id?: string;
@@ -216,7 +216,7 @@ export declare function useModulePageSession(props: ModulePageSessionProps, emit
216
216
  navigatorManagementEnabledDisabled: import("vue").ComputedRef<boolean>;
217
217
  navigatorManagementEnabledDisabledReason: import("vue").ComputedRef<string | undefined>;
218
218
  navigatorManagementTogglingEnabled: import("vue").Ref<boolean, boolean>;
219
- closeNavigatorManagementEditor: () => void;
219
+ closeNavigatorManagementEditor: (source?: "user" | "background") => void;
220
220
  saveNavigatorRecord: () => Promise<void>;
221
221
  toggleNavigatorManagementEnabled: (enabled: boolean) => Promise<void>;
222
222
  updateNavigatorManagementDraft: (fieldName: string, value: import("../platform-components/index").RecordFormFieldValue) => void;
@@ -243,6 +243,11 @@ export declare function useModulePageSession(props: ModulePageSessionProps, emit
243
243
  detailDirty: import("vue").ComputedRef<boolean>;
244
244
  sessionDirty: import("vue").ComputedRef<boolean>;
245
245
  updateDraftField: (fieldName: string, value: import("../platform-components/index").RecordFormFieldValue) => void;
246
+ updateDraftFields: (changes: Array<{
247
+ fieldName: string;
248
+ value: import("../platform-components/index").RecordFormFieldValue;
249
+ }>, source?: "user" | "assistant") => void;
250
+ updateDraftReference: (fieldName: string, candidate: ReferencePickerCandidate, source?: "user" | "assistant") => void;
246
251
  showStatusSwitch: import("vue").ComputedRef<boolean>;
247
252
  canToggleEnabled: import("vue").ComputedRef<boolean>;
248
253
  toggleEnabledDisabledReason: import("vue").ComputedRef<string | undefined>;
@@ -1463,6 +1468,12 @@ export declare function useModulePageSession(props: ModulePageSessionProps, emit
1463
1468
  } | undefined;
1464
1469
  }> & Omit<Map<string, import("../platform-components/index").RecordFormFieldDescriptor>, keyof Map<any, any>>)>;
1465
1470
  formSessionKey: import("vue").Ref<number, number>;
1471
+ assistantContextRevision: import("vue").Ref<number, number>;
1472
+ assistantInteractionRevision: import("vue").Ref<number, number>;
1473
+ listQueryController: import("vue").ShallowRef<RecordQueryListQueryController | undefined, RecordQueryListQueryController | undefined>;
1474
+ treeQueryController: import("vue").ShallowRef<RecordTreeQueryController | undefined, RecordTreeQueryController | undefined>;
1475
+ bindListQueryController: (controller: RecordQueryListQueryController | undefined) => void;
1476
+ bindTreeQueryController: (controller: RecordTreeQueryController | undefined) => void;
1466
1477
  formValidationRequestKey: import("vue").Ref<number, number>;
1467
1478
  referencePickerConfigs: import("vue").ComputedRef<Record<string, RecordFormFieldPickerConfig>>;
1468
1479
  runtimeUiDescriptor: import("vue").Ref<ResolvedModuleUiDescriptor | undefined, ResolvedModuleUiDescriptor | undefined>;
@@ -1484,7 +1495,101 @@ export declare function useModulePageSession(props: ModulePageSessionProps, emit
1484
1495
  key?: string;
1485
1496
  actionCode?: string;
1486
1497
  }) => void;
1487
- createRootRecord: () => void;
1498
+ createRootRecord: () => Promise<boolean>;
1499
+ assistantRecordCreationReady: () => boolean;
1500
+ prepareAssistantCreate: () => Promise<() => {
1501
+ editorMode: import("./recordDetailController").RecordDetailMode;
1502
+ recordId: string | undefined;
1503
+ editable: boolean;
1504
+ dirty: boolean;
1505
+ }>;
1506
+ prepareAssistantEdit: (recordId: string) => Promise<() => {
1507
+ editorMode: import("./recordDetailController").RecordDetailMode;
1508
+ recordId: string | undefined;
1509
+ editable: boolean;
1510
+ dirty: boolean;
1511
+ }>;
1512
+ assistantNavigatorScopes: () => {
1513
+ descriptor: {
1514
+ key: string;
1515
+ kind: "TREE" | "MICRO_LIST";
1516
+ sourceModuleAlias: string;
1517
+ title: string;
1518
+ searchPlaceholder: string;
1519
+ secondaryField?: string | undefined;
1520
+ singleResultPolicy?: "NONE" | "AUTO_SELECT" | "AUTO_SELECT_AND_HIDE" | undefined;
1521
+ initialSelectionPolicy?: "NONE" | "FIRST_RECORD" | undefined;
1522
+ sourceScope?: "NONE" | "CURRENT_TENANT" | undefined;
1523
+ management?: {
1524
+ editorSurface?: string | undefined;
1525
+ } | null | undefined;
1526
+ };
1527
+ context: {
1528
+ moduleAlias: string;
1529
+ http: {
1530
+ request: <T>(options: import("../web-core/index").HttpRequestOptions) => Promise<T>;
1531
+ };
1532
+ crud: {
1533
+ querySchema: (options?: import("../web-core/index").QuerySchemaRequestOptions) => Promise<import("../web-contracts/index").QuerySchema>;
1534
+ query: (request?: import("../web-contracts/index").WebQueryRequest) => Promise<import("../web-contracts/index").WebPageResponse<QueryListRecord>>;
1535
+ view: (id: string) => Promise<QueryListRecord>;
1536
+ insert: (record: QueryListRecord) => Promise<import("../web-core/index").StaticRecordMutationResult<QueryListRecord>>;
1537
+ update: (id: string, record: QueryListRecord) => Promise<import("../web-core/index").StaticRecordMutationResult<QueryListRecord>>;
1538
+ delete: (id: string, request: import("../web-core/index").RecordActionRequest) => Promise<import("../web-core/index").StaticCountMutationResult>;
1539
+ enable: (id: string, request: import("../web-core/index").RecordActionRequest) => Promise<import("../web-core/index").StaticCountMutationResult>;
1540
+ disable: (id: string, request: import("../web-core/index").RecordActionRequest) => Promise<import("../web-core/index").StaticCountMutationResult>;
1541
+ sort?: ((id: string, request: import("../web-contracts/index").SortRequest) => Promise<import("../web-core/index").StaticCountMutationResult>) | undefined;
1542
+ };
1543
+ runtime: {
1544
+ ready: {
1545
+ then: <TResult1 = import("../web-core/index").ModuleRuntimeContext, TResult2 = never>(onfulfilled?: ((value: import("../web-core/index").ModuleRuntimeContext) => TResult1 | PromiseLike<TResult1>) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | null | undefined) => Promise<TResult1 | TResult2>;
1546
+ catch: <TResult = never>(onrejected?: ((reason: any) => TResult | PromiseLike<TResult>) | null | undefined) => Promise<import("../web-core/index").ModuleRuntimeContext | TResult>;
1547
+ finally: (onfinally?: (() => void) | null | undefined) => Promise<import("../web-core/index").ModuleRuntimeContext>;
1548
+ readonly [Symbol.toStringTag]: string;
1549
+ };
1550
+ load: () => Promise<import("../web-core/index").ModuleRuntimeContext>;
1551
+ snapshot: () => import("../web-core/index").ModuleRuntimeContext | undefined;
1552
+ error: () => AppError | undefined;
1553
+ hasAbility: (ability: import("../web-core/index").ModuleAbilityCode | string) => boolean | undefined;
1554
+ action: (actionCode: string, recordId?: string) => import("../web-core/index").ModuleActionState | undefined;
1555
+ runtimeAction: (actionCode: string) => import("../web-core/index").ModuleRuntimeAction | undefined;
1556
+ can: (actionCode: string, recordId?: string) => boolean | undefined;
1557
+ recordActions: (recordId: string) => Promise<ModuleRecordActionAvailability>;
1558
+ recordActionsBatch?: ((recordIds: string[]) => Promise<ModuleRecordActionAvailability[]>) | undefined;
1559
+ recordActionsSnapshot: (recordId: string) => ModuleRecordActionAvailability | undefined;
1560
+ invalidateRecordActions?: ((recordIds?: string[]) => void) | undefined;
1561
+ };
1562
+ abilities: {
1563
+ crud: () => import("../web-core/index").ModuleCrudClient<QueryListRecord>;
1564
+ tree: () => ModuleTreeClient<QueryListRecord>;
1565
+ enable: () => import("../web-core/index").ModuleEnableClient;
1566
+ tryCrud: () => import("../web-core/index").ModuleCrudClient<QueryListRecord> | undefined;
1567
+ tryTree: () => ModuleTreeClient<QueryListRecord> | undefined;
1568
+ tryEnable: () => import("../web-core/index").ModuleEnableClient | undefined;
1569
+ has: (ability: import("../web-core/index").ModuleAbilityCode | string) => boolean | undefined;
1570
+ hasCrud: () => boolean | undefined;
1571
+ hasTree: () => boolean | undefined;
1572
+ hasEnable: () => boolean | undefined;
1573
+ };
1574
+ action: (actionCode: string, recordId?: string) => import("../web-core/index").ModuleActionState | undefined;
1575
+ runtimeAction: (actionCode: string) => import("../web-core/index").ModuleRuntimeAction | undefined;
1576
+ can: (actionCode: string, recordId?: string) => boolean | undefined;
1577
+ recordActions: (recordId: string) => Promise<ModuleRecordActionAvailability>;
1578
+ recordActionsBatch?: ((recordIds: string[]) => Promise<ModuleRecordActionAvailability[]>) | undefined;
1579
+ recordActionsSnapshot: (recordId: string) => ModuleRecordActionAvailability | undefined;
1580
+ invalidateRecordActions?: ((recordIds?: string[]) => void) | undefined;
1581
+ };
1582
+ tree: boolean;
1583
+ sort: {
1584
+ visible: boolean;
1585
+ enabled: boolean;
1586
+ active?: boolean | undefined;
1587
+ disabledReason?: string | undefined;
1588
+ };
1589
+ }[];
1590
+ assistantNavigatorScopeRevision: (levelKey: string) => string;
1591
+ applyAssistantNavigatorSelection: (levelKey: string, record: QueryListRecord, expectedRevision: string) => boolean;
1592
+ settleAssistantPageState: (signal: AbortSignal) => Promise<void>;
1488
1593
  hasCardAssistantAt: (boundary: "inside" | "outside", position: "top" | "bottom") => boolean;
1489
1594
  enhancementCardAssistant: import("vue").ComputedRef<import("./modulePageEnhancements").ModulePageCardAssistant | undefined>;
1490
1595
  cardAssistantContext: import("vue").ComputedRef<ModulePageCardAssistantContext | undefined>;
@@ -1661,7 +1766,7 @@ export declare function useModulePageSession(props: ModulePageSessionProps, emit
1661
1766
  selectedTreeRecord: import("vue").Ref<QueryListRecord | undefined, QueryListRecord | undefined>;
1662
1767
  mainTreeTitle: (record: object) => string;
1663
1768
  mainTreeSecondary: (record: object) => string | undefined;
1664
- selectTreeRecord: (record: unknown) => void;
1769
+ selectTreeRecord: (record: unknown, source?: "user" | "assistant" | "background") => void;
1665
1770
  clearTreeRecordSelection: () => void;
1666
1771
  handleTreeLoaded: (records: unknown[]) => void;
1667
1772
  handleTreeSorted: () => void;
@@ -13,6 +13,7 @@ export declare function useTenantScopeController(context: ModuleContext<QueryLis
13
13
  tenantScopeExplorerCount: import("vue").ComputedRef<0 | 1>;
14
14
  changeTenantScope: (record: QueryListRecord | undefined) => void;
15
15
  handleTenantScopeLoaded: (records: QueryListRecord[], initialFullResult?: boolean, total?: number) => void;
16
+ waitForInitialScope: (signal: AbortSignal) => Promise<void>;
16
17
  setRequired: (next: boolean) => void;
17
18
  };
18
19
  export type TenantScopeController = ReturnType<typeof useTenantScopeController>;
@@ -2,6 +2,7 @@ import { type UiRecordInlineAction } from '../vue-ui-antdv/index';
2
2
  import { type ModuleContext } from '../web-core/index';
3
3
  import type { RecordExplorerItemDescriptor } from './recordExplorerItemModel';
4
4
  import { type CrudRecordListBase } from './crudRecordListModel';
5
+ import type { RecordQueryListQueryController } from './recordQueryListQueryController';
5
6
  export type CrudRecordListMode = 'normal' | 'recycleBin';
6
7
  type __VLS_Props = {
7
8
  context: ModuleContext<CrudRecordListBase>;
@@ -30,6 +31,8 @@ type __VLS_Props = {
30
31
  mode?: CrudRecordListMode;
31
32
  /** Enables standard flat-list drag ordering when the result is unfiltered. */
32
33
  sorting?: boolean;
34
+ /** Exposes the rendered explorer search through the standard assistant query port. */
35
+ queryQuickSearchEnabled?: boolean;
33
36
  };
34
37
  declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
35
38
  action: (action: import("../web-contracts/index.ts").RecordInlineAction, record: CrudRecordListBase) => any;
@@ -39,6 +42,8 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {
39
42
  restored: () => any;
40
43
  recycleBinSummary: (total: number | undefined) => any;
41
44
  sorted: () => any;
45
+ "update:keyword": (value: string) => any;
46
+ queryControllerChange: (controller: RecordQueryListQueryController | undefined) => any;
42
47
  }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
43
48
  onAction?: ((action: import("../web-contracts/index.ts").RecordInlineAction, record: CrudRecordListBase) => any) | undefined;
44
49
  onSelect?: ((record: CrudRecordListBase) => any) | undefined;
@@ -47,6 +52,8 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {
47
52
  onRestored?: (() => any) | undefined;
48
53
  onRecycleBinSummary?: ((total: number | undefined) => any) | undefined;
49
54
  onSorted?: (() => any) | undefined;
55
+ "onUpdate:keyword"?: ((value: string) => any) | undefined;
56
+ onQueryControllerChange?: ((controller: RecordQueryListQueryController | undefined) => any) | undefined;
50
57
  }>, {
51
58
  mode: CrudRecordListMode;
52
59
  filterOption: (record: CrudRecordListBase, normalizedKeyword: string) => boolean;
@@ -67,6 +74,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {
67
74
  loadingTip: string;
68
75
  fallbackTitle: string;
69
76
  subtitleOf: (record: CrudRecordListBase) => string | undefined;
77
+ queryQuickSearchEnabled: boolean;
70
78
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
71
79
  declare const _default: typeof __VLS_export;
72
80
  export default _default;
@@ -22,10 +22,10 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {
22
22
  "onValidity-change"?: ((validity: ReferencePickerValidity) => any) | undefined;
23
23
  "onUpdate:values"?: ((values: unknown[]) => any) | undefined;
24
24
  }>, {
25
+ options: Option[];
25
26
  disabled: boolean;
26
27
  values: unknown[];
27
28
  loading: boolean;
28
- options: Option[];
29
29
  referenceContext: ModuleContext<RecordPickerRecord>;
30
30
  referencePicker: ReferencePickerConfig;
31
31
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
@@ -46,8 +46,8 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {},
46
46
  emptyText: string;
47
47
  fieldNames: string[];
48
48
  fields: Map<string, RecordFormFieldDescriptor>;
49
- excludeFieldNames: string[];
50
49
  fallback: Record<string, RecordFormFieldFallback>;
50
+ excludeFieldNames: string[];
51
51
  optionContext: ModuleContext<unknown>;
52
52
  fileTransferContext: ModuleContext<unknown>;
53
53
  displayOf: RecordDetailDisplayResolver;
@@ -61,9 +61,9 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {},
61
61
  compact: boolean;
62
62
  fieldNames: string[];
63
63
  fields: Map<string, RecordFormFieldDescriptor>;
64
+ fallback: Record<string, RecordFormFieldFallback>;
64
65
  formSessionKey: string | number;
65
66
  excludeFieldNames: string[];
66
- fallback: Record<string, RecordFormFieldFallback>;
67
67
  optionContext: ModuleContext<unknown>;
68
68
  fileTransferContext: ModuleContext<unknown>;
69
69
  layoutTransitionPrefix: string;
@@ -1,4 +1,4 @@
1
- import type { QueryListRecord, RecordQueryListColumn } from './recordQueryListColumnModel';
1
+ import { type QueryListRecord, type RecordQueryListColumn } from './recordQueryListColumnModel';
2
2
  type __VLS_Props = {
3
3
  record: QueryListRecord;
4
4
  column: RecordQueryListColumn;
@@ -3,6 +3,7 @@ import { type ModuleContext } from '../web-core/index';
3
3
  import type { ReferencePickerConfig } from './referencePickerModel';
4
4
  import { type RecordActionItem, type ResolvedRecordActionItem } from './recordActionBarModel';
5
5
  import { type QueryListRecord, type RecordQueryListCellComponent, type RecordQueryListColumn, type RecordQueryListMode, type StandardCrudRowActionKey } from './recordQueryListColumnModel';
6
+ import type { RecordQueryListQueryController } from './recordQueryListQueryController';
6
7
  export type { QueryListRecord, RecordQueryListCellComponent, RecordQueryListColumn, RecordQueryListMode, StandardCrudRowActionKey, } from './recordQueryListColumnModel';
7
8
  declare const _default: typeof __VLS_export;
8
9
  export default _default;
@@ -87,6 +88,7 @@ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<{
87
88
  rowDblclick: (record: QueryListRecord, event: MouseEvent) => any;
88
89
  rowExpand: (record: QueryListRecord, expanded: boolean) => any;
89
90
  restored: () => any;
91
+ queryControllerChange: (controller: RecordQueryListQueryController | undefined) => any;
90
92
  pageSizeChange: (pageSize: number) => any;
91
93
  recordActivate: (record: QueryListRecord, event: MouseEvent) => any;
92
94
  batchAction: (action: RecordActionItem, records: QueryListRecord[], event: MouseEvent, clearSelection: () => void) => any;
@@ -171,6 +173,7 @@ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<{
171
173
  onRowDblclick?: ((record: QueryListRecord, event: MouseEvent) => any) | undefined;
172
174
  onRowExpand?: ((record: QueryListRecord, expanded: boolean) => any) | undefined;
173
175
  onRestored?: (() => any) | undefined;
176
+ onQueryControllerChange?: ((controller: RecordQueryListQueryController | undefined) => any) | undefined;
174
177
  onPageSizeChange?: ((pageSize: number) => any) | undefined;
175
178
  onRecordActivate?: ((record: QueryListRecord, event: MouseEvent) => any) | undefined;
176
179
  onBatchAction?: ((action: RecordActionItem, records: QueryListRecord[], event: MouseEvent, clearSelection: () => void) => any) | undefined;
@@ -227,6 +230,11 @@ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<{
227
230
  requiredExternalCriteriaKeys: string[];
228
231
  waitingDescription: string;
229
232
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
233
+ /** Page/list operations rendered left of query controls. */
234
+ operations?: (props: {
235
+ refresh: () => void;
236
+ }) => unknown;
237
+ /** @deprecated Use operations so the slot names the semantic region instead of its visual container. */
230
238
  toolbarActions?: (props: {
231
239
  refresh: () => void;
232
240
  }) => unknown;
@@ -2,6 +2,7 @@ import { type UiRecordInlineAction } from '../vue-ui-antdv/index';
2
2
  import type { ModuleContext } from '../web-core/index';
3
3
  import type { RecordExplorerItemDescriptor } from './recordExplorerItemModel';
4
4
  import { type TreeRecordBase } from './treeRecordModel';
5
+ import type { RecordTreeQueryController } from './recordTreeQueryController';
5
6
  type TreeRecordSearchMode = 'always' | 'collapsible' | 'none';
6
7
  type __VLS_Props = {
7
8
  context: ModuleContext<TreeRecordBase>;
@@ -39,16 +40,18 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {
39
40
  toggleSearch: typeof toggleSearch;
40
41
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
41
42
  action: (action: import("../web-contracts/index").RecordInlineAction, record: TreeRecordBase) => any;
42
- select: (record: TreeRecordBase) => any;
43
+ select: (record: TreeRecordBase, source?: "assistant" | undefined) => any;
43
44
  loaded: (records: TreeRecordBase[]) => any;
44
45
  deselect: () => any;
45
46
  sorted: () => any;
47
+ queryControllerChange: (controller: RecordTreeQueryController | undefined) => any;
46
48
  }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
47
49
  onAction?: ((action: import("../web-contracts/index").RecordInlineAction, record: TreeRecordBase) => any) | undefined;
48
- onSelect?: ((record: TreeRecordBase) => any) | undefined;
50
+ onSelect?: ((record: TreeRecordBase, source?: "assistant" | undefined) => any) | undefined;
49
51
  onLoaded?: ((records: TreeRecordBase[]) => any) | undefined;
50
52
  onDeselect?: (() => any) | undefined;
51
53
  onSorted?: (() => any) | undefined;
54
+ onQueryControllerChange?: ((controller: RecordTreeQueryController | undefined) => any) | undefined;
52
55
  }>, {
53
56
  sortPartitionFields: string[];
54
57
  filterOption: (record: TreeRecordBase, normalizedKeyword: string) => boolean;
@@ -1,4 +1,5 @@
1
1
  export {};
2
+ export type { QuerySettlementController } from './querySettlementController';
2
3
  export { default as FormulaExpressionEditor } from './FormulaExpressionEditor.vue';
3
4
  export type { FormulaExpressionField, FormulaExpressionFunction } from './formulaExpressionTokens';
4
5
  export { default as ApplicationScopeSwitcher } from './ApplicationScopeSwitcher.vue';
@@ -107,6 +108,8 @@ export type { RecordDetailDisplayResolver, RecordDetailDisplayValue } from './re
107
108
  export type { RecordListExplorerRecord } from './RecordListExplorer.vue';
108
109
  export type { QueryListRecord, RecordQueryListCellComponent, RecordQueryListColumn, RecordQueryListMode, StandardCrudRowActionKey, } from './RecordQueryListPanel.vue';
109
110
  export { resolveRecordQueryListColumns } from './recordQueryListColumnModel';
111
+ export type { RecordQueryListQueryController, RecordQueryListQueryField, RecordQueryListQuerySnapshot, RecordQueryListResultRow, } from './recordQueryListQueryController';
112
+ export type { RecordTreeQueryController, RecordTreeQueryNode, RecordTreeQuerySnapshot, } from './recordTreeQueryController';
110
113
  export type { RecordFormFieldDescriptor, RecordFormFieldFallback, RecordFormFieldPickerConfig, RecordFormFieldState, RecordFieldRenderer, RecordFormFieldValue, RecordFormRecord, } from './recordFormFieldModel';
111
114
  export type { CrudRecordListBase } from './crudRecordListModel';
112
115
  export { defaultCrudRecordListMatches, defaultCrudRecordListSubtitle, defaultCrudRecordListTitle, } from './crudRecordListModel';
@@ -120,7 +123,7 @@ export { formatPlatformFileSize } from './platformFileSize';
120
123
  export type { PlatformFileSizeDisplay, PlatformFileSizeOptions } from './platformFileSize';
121
124
  export { providePlatformTimeZoneContext, usePlatformTimeZoneContext } from './platformTimeZoneContext';
122
125
  export type { PlatformDateTimeDisplay, PlatformDateTimeOptions, PlatformDateTimePrecision, } from './platformDateTime';
123
- export { applyReferenceDependencyClears, childResourceDefaultFormViewCode, resolveRecordDetailFields, resolveRecordFormFieldNames, resolveRecordBooleanStatusValue, resolveRecordFormFieldState, resolveRecordFormFields, evaluateUiFormula, recordFieldRendererRegistry, } from './recordFormFieldModel';
126
+ export { applyReferenceDependencyClears, childResourceDefaultFormViewCode, decodeDateTimeLocalEditorValue, decodeNumberEditorValue, resolveRecordDetailFields, resolveRecordFormFieldNames, resolveRecordBooleanStatusValue, resolveRecordFormFieldState, resolveRecordFormFields, evaluateUiFormula, recordFieldRendererRegistry, } from './recordFormFieldModel';
124
127
  export { createQueryScopedTreeModuleContext, createScopedTreeClient, createScopedTreeModuleContext, } from './scopedTreeModuleContext';
125
128
  export { createEmptyStaticTreeClient, createStaticTreeResourceModuleContext, } from './staticTreeResourceModuleContext';
126
129
  export { presentPlatformError, presentPlatformMessage, presentPlatformSuccess, } from './platformErrorFeedback';
@@ -0,0 +1,5 @@
1
+ /** Shared settlement boundary for query-backed UI surfaces used by orchestration adapters. */
2
+ export interface QuerySettlementController<T = void> {
3
+ revision(): number;
4
+ settle(signal?: AbortSignal): Promise<T>;
5
+ }
@@ -29,11 +29,16 @@ export interface RecordQueryListColumn {
29
29
  /** Maximum visible lines for text cells. Defaults to one line. */
30
30
  maxDisplayLines?: number;
31
31
  render?: (record: QueryListRecord) => string;
32
+ /** Explicit list-presentation policy for excluding a visible column from assistant projection. */
33
+ assistantReadable?: boolean;
32
34
  }
33
35
  export interface RecordQueryListCellComponent {
34
36
  key: string;
35
37
  component: Component;
36
38
  }
39
+ export interface RecordQueryListDisplayContext {
40
+ timeZone?: string;
41
+ }
37
42
  /**
38
43
  * Compiles the source-neutral resolved list descriptor into the standard table's presentation model.
39
44
  *
@@ -42,3 +47,5 @@ export interface RecordQueryListCellComponent {
42
47
  * query schema for timestamp and option-title information.
43
48
  */
44
49
  export declare function resolveRecordQueryListColumns(view: ResolvedViewDescriptor | undefined, queryFields?: readonly QuerySchemaField[]): RecordQueryListColumn[];
50
+ /** Pure standard-cell projection shared by the rendered list and assistant-visible result summary. */
51
+ export declare function resolveRecordQueryListDisplayValue(record: QueryListRecord, column: RecordQueryListColumn, cellRenderers?: Record<string, (record: QueryListRecord) => string>, context?: RecordQueryListDisplayContext): string;
@@ -0,0 +1,36 @@
1
+ import type { QueryValueType } from '../web-contracts/index';
2
+ import type { QuerySettlementController } from './querySettlementController';
3
+ export interface RecordQueryListQueryField {
4
+ name: string;
5
+ title: string;
6
+ valueType: QueryValueType;
7
+ }
8
+ export interface RecordQueryListResultRow {
9
+ id?: string;
10
+ cells: Array<{
11
+ fieldName: string;
12
+ title: string;
13
+ value: unknown;
14
+ }>;
15
+ }
16
+ export interface RecordQueryListQuerySnapshot {
17
+ mode: 'normal' | 'recycleBin';
18
+ status: 'waiting' | 'loading' | 'ready' | 'error';
19
+ quickSearchEnabled: boolean;
20
+ quickSearchFields: RecordQueryListQueryField[];
21
+ appliedQuickSearch?: string;
22
+ pageNum: number;
23
+ pageSize: number;
24
+ total: number;
25
+ totalKnown: boolean;
26
+ rows: RecordQueryListResultRow[];
27
+ truncated: boolean;
28
+ }
29
+ /** Public list-query port used by orchestration adapters without owning list state. */
30
+ export interface RecordQueryListQueryController extends QuerySettlementController<RecordQueryListQuerySnapshot> {
31
+ /** Stable signature of user-controlled scope, filters, sorting and pagination. */
32
+ interactionRevision?(): string;
33
+ snapshot(): RecordQueryListQuerySnapshot;
34
+ /** Waits until the current reactive query transition and any active load have settled. */
35
+ applyQuickSearch(keyword: string): Promise<RecordQueryListQuerySnapshot>;
36
+ }
@@ -0,0 +1,18 @@
1
+ import type { QuerySettlementController } from './querySettlementController';
2
+ export interface RecordTreeQueryNode {
3
+ selectionKey: string;
4
+ title: string;
5
+ secondary?: string;
6
+ }
7
+ export interface RecordTreeQuerySnapshot {
8
+ status: 'loading' | 'ready' | 'error';
9
+ selectedTitle?: string;
10
+ nodes: RecordTreeQueryNode[];
11
+ truncated: boolean;
12
+ }
13
+ /** Public tree-query port used by orchestration adapters without owning tree state. */
14
+ export interface RecordTreeQueryController extends QuerySettlementController<void> {
15
+ snapshot(): RecordTreeQuerySnapshot;
16
+ /** Selects one node through an opaque key from the current snapshot. */
17
+ select(selectionKey: string): RecordTreeQueryNode;
18
+ }
@@ -22,6 +22,8 @@ export interface ReferencePickerSourceIdentity {
22
22
  export interface ReferencePickerCandidate {
23
23
  id: ReferencePickerId;
24
24
  title: string;
25
+ /** The UI is displaying the persisted identifier because no business title was available. */
26
+ identifierFallback?: boolean;
25
27
  subtitle?: string;
26
28
  disabled?: boolean;
27
29
  unavailable?: boolean;
@@ -0,0 +1,6 @@
1
+ type __VLS_Props = {
2
+ content: string;
3
+ };
4
+ 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>;
5
+ declare const _default: typeof __VLS_export;
6
+ export default _default;
@@ -0,0 +1,15 @@
1
+ import type { AssistantSelectionInteraction, AssistantSelectionOption } from '../web-contracts/index';
2
+ type __VLS_Props = {
3
+ selection: AssistantSelectionInteraction;
4
+ state: 'open' | 'submitting' | 'answered' | 'superseded';
5
+ selectedOptionId?: string;
6
+ };
7
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
8
+ select: (option: AssistantSelectionOption) => any;
9
+ abandon: () => any;
10
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
11
+ onSelect?: ((option: AssistantSelectionOption) => any) | undefined;
12
+ onAbandon?: (() => any) | undefined;
13
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
14
+ declare const _default: typeof __VLS_export;
15
+ export default _default;
@@ -1,4 +1,5 @@
1
1
  import type { MenuNavigationTarget, MenuRecord, MenuTab, PageDescriptor, WorkbenchStartupState } from '../web-contracts/index';
2
+ import { type AssistantTurnRequester } from '../web-core/index';
2
3
  import type { WorkbenchRealtimeStatus } from './realtimeStatus';
3
4
  type __VLS_Props = {
4
5
  startup?: WorkbenchStartupState;
@@ -8,14 +9,16 @@ type __VLS_Props = {
8
9
  lockedTabKeys?: string[];
9
10
  realtimeStatus?: WorkbenchRealtimeStatus;
10
11
  themeAppearance?: 'light' | 'dark';
12
+ assistantRequestTurn?: AssistantTurnRequester;
13
+ assistantWaitForPageReady?: () => Promise<string>;
11
14
  };
12
- declare var __VLS_82: {
15
+ declare var __VLS_90: {
13
16
  activeTab: MenuTab;
14
17
  target: MenuNavigationTarget | undefined;
15
18
  pageDescriptor: PageDescriptor | undefined;
16
19
  };
17
20
  type __VLS_Slots = {} & {
18
- default?: (props: typeof __VLS_82) => any;
21
+ default?: (props: typeof __VLS_90) => any;
19
22
  };
20
23
  declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
21
24
  closeTabs: (keys: string[]) => any;
@@ -47,6 +50,8 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {},
47
50
  activeTabKey: string;
48
51
  lockedTabKeys: string[];
49
52
  themeAppearance: "light" | "dark";
53
+ assistantRequestTurn: AssistantTurnRequester;
54
+ assistantWaitForPageReady: () => Promise<string>;
50
55
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
51
56
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
52
57
  declare const _default: typeof __VLS_export;
@@ -0,0 +1,12 @@
1
+ import { type AssistantSurfaceRegistry } from '../web-core/index';
2
+ type __VLS_Props = {
3
+ open: boolean;
4
+ registry: AssistantSurfaceRegistry;
5
+ };
6
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
7
+ close: () => any;
8
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
9
+ onClose?: (() => any) | undefined;
10
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
11
+ declare const _default: typeof __VLS_export;
12
+ export default _default;
@@ -0,0 +1 @@
1
+ export declare function renderAssistantMarkdown(content: string): string;
@@ -1,4 +1,5 @@
1
1
  export { default as Workbench } from './Workbench.vue';
2
+ export { default as WorkbenchAssistantPanel } from './WorkbenchAssistantPanel.vue';
2
3
  export { default as WorkbenchMenu } from './WorkbenchMenu.vue';
3
4
  export { default as WorkbenchOutlet } from './WorkbenchOutlet.vue';
4
5
  export { default as WorkspaceViewOutlet } from './WorkspaceViewOutlet.vue';
@@ -0,0 +1,3 @@
1
+ import type { MenuRecord, MenuTreeNode } from '../web-contracts/index';
2
+ import type { AssistantCapability, AssistantInvocationToken } from '../web-core/index';
3
+ export declare function createWorkbenchAssistantCapabilities(menus: () => MenuTreeNode[], openMenu: (menu: MenuRecord) => boolean, settleNavigation?: (signal?: AbortSignal) => Promise<void | AssistantInvocationToken>): AssistantCapability[];
@@ -0,0 +1,7 @@
1
+ import { type BusinessLogEventType } from './businessLogRetentionClient';
2
+ type __VLS_Props = {
3
+ eventTypes: BusinessLogEventType[];
4
+ };
5
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
6
+ declare const _default: typeof __VLS_export;
7
+ export default _default;
@@ -21,6 +21,9 @@ export interface BusinessLogEventView {
21
21
  operatorIdentity?: BusinessLogOperatorIdentity;
22
22
  moduleAlias?: string;
23
23
  actionCode?: string;
24
+ entityAlias?: string;
25
+ recordId?: string;
26
+ mutationSource?: string;
24
27
  outcome?: string;
25
28
  /** The authentication account, independent from the event's authenticated operator identity. */
26
29
  loginAccount?: string;
@@ -0,0 +1,25 @@
1
+ import type { HttpClient } from '../web-core/index';
2
+ export type BusinessLogEventType = 'LOGIN' | 'ACTION' | 'REQUEST_ERROR' | 'PAGE_ACCESS';
3
+ export interface BusinessLogRetentionPolicy {
4
+ eventType: BusinessLogEventType;
5
+ automaticCleanupEnabled: boolean;
6
+ retentionDays: number;
7
+ version: number;
8
+ updatedAt?: string;
9
+ updatedBy?: string;
10
+ }
11
+ export interface BusinessLogRetentionRunResult {
12
+ eventType: BusinessLogEventType;
13
+ retentionDays: number;
14
+ result: {
15
+ occurredBefore: string;
16
+ deletedCount: number;
17
+ executedBatches: number;
18
+ status: 'COMPLETE' | 'BATCH_LIMIT_REACHED' | 'ALREADY_RUNNING';
19
+ };
20
+ }
21
+ export declare function createBusinessLogRetentionClient(http: HttpClient): {
22
+ policies(): Promise<BusinessLogRetentionPolicy[]>;
23
+ update(policy: BusinessLogRetentionPolicy): Promise<BusinessLogRetentionPolicy>;
24
+ purge(eventType: BusinessLogEventType, retentionDays: number): Promise<BusinessLogRetentionRunResult>;
25
+ };