@orchestrator-ui/orchestrator-ui-components 6.3.2 → 6.5.0

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 (38) hide show
  1. package/.turbo/turbo-build.log +8 -8
  2. package/.turbo/turbo-lint.log +2 -2
  3. package/.turbo/turbo-test.log +8 -8
  4. package/CHANGELOG.md +12 -0
  5. package/dist/index.d.ts +19 -93
  6. package/dist/index.js +670 -325
  7. package/dist/index.js.map +1 -1
  8. package/package.json +1 -1
  9. package/src/components/WfoAgent/ExportButton/ExportButton.tsx +96 -0
  10. package/src/components/WfoAgent/ExportButton/index.ts +1 -0
  11. package/src/components/WfoAgent/ExportButton/styles.ts +69 -0
  12. package/src/components/WfoAgent/ToolProgress/DiscoverFilterPathsDisplay.tsx +114 -0
  13. package/src/components/WfoAgent/ToolProgress/RunSearchDisplay.tsx +34 -0
  14. package/src/components/WfoAgent/{FilterDisplay/FilterDisplay.tsx → ToolProgress/SetFilterTreeDisplay.tsx} +25 -72
  15. package/src/components/WfoAgent/ToolProgress/StartNewSearchDisplay.tsx +62 -0
  16. package/src/components/WfoAgent/ToolProgress/ToolProgress.tsx +138 -0
  17. package/src/components/WfoAgent/ToolProgress/index.ts +1 -0
  18. package/src/components/WfoAgent/ToolProgress/styles.ts +50 -0
  19. package/src/components/WfoAgent/WfoAgent/WfoAgent.tsx +78 -51
  20. package/src/components/WfoAgent/index.ts +0 -1
  21. package/src/components/WfoAuth/WfoAuth.tsx +2 -2
  22. package/src/components/WfoLogoSpinner/WfoLogoSpinner.tsx +36 -0
  23. package/src/components/WfoLogoSpinner/index.ts +1 -0
  24. package/src/components/WfoLogoSpinner/styles.ts +39 -0
  25. package/src/components/WfoSearchPage/WfoSearch/WfoSearch.tsx +6 -10
  26. package/src/components/WfoSearchPage/WfoSearchResults/WfoSearchResultItem.tsx +4 -4
  27. package/src/components/WfoSearchPage/WfoSearchResults/WfoSearchResults.tsx +18 -34
  28. package/src/components/WfoSearchPage/WfoSearchResults/index.ts +0 -1
  29. package/src/components/WfoSearchPage/utils.ts +12 -112
  30. package/src/components/index.ts +1 -0
  31. package/src/configuration/version.ts +1 -1
  32. package/src/hooks/useSearchPagination.ts +2 -2
  33. package/src/messages/en-GB.json +1 -3
  34. package/src/rtk/endpoints/agentExport.ts +23 -0
  35. package/src/types/search.ts +8 -70
  36. package/src/components/WfoAgent/FilterDisplay/index.ts +0 -1
  37. package/src/components/WfoSearchPage/WfoSearchResults/WfoSubscriptionDetailModal.tsx +0 -55
  38. /package/src/components/WfoAgent/{FilterDisplay/styles.ts → ToolProgress/SetFilterTreeDisplay.styles.ts} +0 -0
@@ -475,7 +475,6 @@
475
475
  "title": "Search results",
476
476
  "page": {
477
477
  "filledParameters": "Filled parameters",
478
- "results": "Results",
479
478
  "emptyGroup": "Empty group",
480
479
  "searchQuery": "Search query",
481
480
  "activeFilters": "Active filters",
@@ -484,7 +483,7 @@
484
483
  "action": "Action",
485
484
  "copilot": {
486
485
  "title": "Database assistant",
487
- "initial": "Ask me things such as:\n• *Find active subscriptions for Surf*\n• *Show terminated workflows”*\n\nThe filled template and results will appear on the left."
486
+ "initial": "Ask me things such as:\n• *Find active subscriptions*\n• *Show terminated workflows”*\n\nThe filled template and results will appear on the left."
488
487
  }
489
488
  }
490
489
  },
@@ -521,7 +520,6 @@
521
520
  "resultsOnPage": "{resultCount} result(s) on this page",
522
521
  "searchResultsPagination": "Search results pagination",
523
522
  "viewDetails": "View details",
524
- "closeButton": "Close",
525
523
  "selectOrEnterValue": "Select or type value",
526
524
  "enterValue": "Enter value",
527
525
  "fromNumber": "From",
@@ -0,0 +1,23 @@
1
+ import { BaseQueryTypes, orchestratorApi } from '@/rtk';
2
+ import { GraphQLPageInfo } from '@/types';
3
+
4
+ export type AgentExportResponse = {
5
+ page: object[];
6
+ pageInfo?: GraphQLPageInfo;
7
+ };
8
+
9
+ const agentExportApi = orchestratorApi.injectEndpoints({
10
+ endpoints: (builder) => ({
11
+ getAgentExport: builder.query<AgentExportResponse, string>({
12
+ query: (downloadUrl) => ({
13
+ url: downloadUrl,
14
+ method: 'GET',
15
+ }),
16
+ extraOptions: {
17
+ baseQueryType: BaseQueryTypes.fetch,
18
+ },
19
+ }),
20
+ }),
21
+ });
22
+
23
+ export const { useLazyGetAgentExportQuery } = agentExportApi;
@@ -1,85 +1,23 @@
1
1
  export type EntityKind = 'SUBSCRIPTION' | 'PRODUCT' | 'WORKFLOW' | 'PROCESS';
2
2
 
3
- export interface SubscriptionMatchingField {
3
+ export interface MatchingField {
4
4
  text: string;
5
5
  path: string;
6
6
  highlight_indices: [number, number][];
7
7
  }
8
8
 
9
- export interface SubscriptionSearchResult {
9
+ export interface SearchResult {
10
+ entity_id: string;
11
+ entity_type: EntityKind;
12
+ entity_title: string;
10
13
  score: number;
11
14
  perfect_match: number;
12
- matching_field?: SubscriptionMatchingField | null;
13
- subscription: {
14
- subscription_id: string;
15
- description: string;
16
- product: {
17
- name: string;
18
- description: string;
19
- };
20
- };
15
+ matching_field?: MatchingField | null;
21
16
  }
22
17
 
23
- export interface ProcessSearchResult {
24
- score: number;
25
- perfect_match: number;
26
- matching_field?: SubscriptionMatchingField | null;
27
- process: {
28
- processId: string;
29
- workflowName: string;
30
- workflowId: string;
31
- status: string;
32
- isTask: boolean;
33
- createdBy?: string | null;
34
- startedAt: string;
35
- lastModifiedAt: string;
36
- lastStep?: string | null;
37
- failedReason?: string | null;
38
- subscriptionIds?: string[] | null;
39
- };
40
- }
41
-
42
- export interface ProductSearchResult {
43
- score: number;
44
- perfect_match: number;
45
- matching_field?: SubscriptionMatchingField | null;
46
- product: {
47
- product_id: string;
48
- name: string;
49
- product_type: string;
50
- tag?: string | null;
51
- description?: string | null;
52
- status?: string | null;
53
- created_at?: string | null;
54
- };
55
- }
56
-
57
- export interface WorkflowSearchResult {
58
- score: number;
59
- perfect_match: number;
60
- matching_field?: SubscriptionMatchingField | null;
61
- workflow: {
62
- name: string;
63
- products: {
64
- product_type: string;
65
- product_id: string;
66
- name: string;
67
- }[];
68
- description?: string | null;
69
- created_at?: string | null;
70
- };
71
- }
72
-
73
- /** Union of all search results */
74
- export type AnySearchResult =
75
- | SubscriptionSearchResult
76
- | ProcessSearchResult
77
- | ProductSearchResult
78
- | WorkflowSearchResult;
79
-
80
18
  /** Paginated search results */
81
19
  export type PaginatedSearchResults = {
82
- data: AnySearchResult[];
20
+ data: SearchResult[];
83
21
  page_info: {
84
22
  has_next_page: boolean;
85
23
  next_page_cursor: number | null;
@@ -138,7 +76,7 @@ type ActionType = 'select';
138
76
  type BaseSearchParameters = {
139
77
  query?: string | null;
140
78
 
141
- filters?: PathFilter[] | null;
79
+ filters?: PathFilter[] | Group | null;
142
80
 
143
81
  action: ActionType;
144
82
  };
@@ -1 +0,0 @@
1
- export * from './FilterDisplay';
@@ -1,55 +0,0 @@
1
- import React, { FC } from 'react';
2
-
3
- import { useTranslations } from 'next-intl';
4
-
5
- import {
6
- EuiButton,
7
- EuiModal,
8
- EuiModalBody,
9
- EuiModalFooter,
10
- EuiModalHeader,
11
- EuiModalHeaderTitle,
12
- } from '@elastic/eui';
13
-
14
- import { WfoSubscription } from '@/components';
15
- import { TreeProvider } from '@/contexts';
16
-
17
- interface WfoSubscriptionDetailModalProps {
18
- isVisible: boolean;
19
- onClose: () => void;
20
- subscriptionData: unknown | null;
21
- matchingField?: unknown;
22
- }
23
-
24
- export const WfoSubscriptionDetailModal: FC<
25
- WfoSubscriptionDetailModalProps
26
- > = ({ isVisible, onClose, subscriptionData }) => {
27
- const t = useTranslations('search.page');
28
- if (!isVisible || !subscriptionData) return null;
29
-
30
- const subscriptionId =
31
- subscriptionData &&
32
- (subscriptionData as { subscription_id: string }).subscription_id;
33
-
34
- return (
35
- <EuiModal onClose={onClose} maxWidth={800}>
36
- <EuiModalHeader>
37
- <EuiModalHeaderTitle>
38
- {t('subscriptionDetails')}
39
- </EuiModalHeaderTitle>
40
- </EuiModalHeader>
41
-
42
- <EuiModalBody>
43
- <TreeProvider>
44
- <WfoSubscription subscriptionId={subscriptionId} />
45
- </TreeProvider>
46
- </EuiModalBody>
47
-
48
- <EuiModalFooter>
49
- <EuiButton onClick={onClose} fill>
50
- {t('closeButton')}
51
- </EuiButton>
52
- </EuiModalFooter>
53
- </EuiModal>
54
- );
55
- };