@openfin/workspace 22.5.0 → 22.5.1

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.
@@ -1,4 +1,5 @@
1
1
  import type OpenFin from '@openfin/core';
2
- import { ShowQuitPlatformDialogRequest, ShowUpdateVersionModalRequest } from '../../../../client-api-platform/src/shapes';
2
+ import { IntentResolverResponse, ShowIntentsResolverModalRequest, ShowQuitPlatformDialogRequest, ShowUpdateVersionModalRequest } from '../../../../client-api-platform/src/shapes';
3
3
  export declare const showQuitPlatformDialogInternal: (req: ShowQuitPlatformDialogRequest, identity: OpenFin.ProviderIdentity | OpenFin.ClientIdentity) => Promise<void>;
4
4
  export declare const showUpdateVersionModalInternal: (req: ShowUpdateVersionModalRequest, identity: OpenFin.ProviderIdentity | OpenFin.ClientIdentity) => Promise<void>;
5
+ export declare const showIntentsResolverModalInternal: (req: ShowIntentsResolverModalRequest) => Promise<IntentResolverResponse>;
@@ -2928,3 +2928,104 @@ export type AboutPageConfig = {
2928
2928
  rvmVersion: string;
2929
2929
  copyrightMessage?: string;
2930
2930
  };
2931
+ /**
2932
+ * FDC3 2.0 Context object -> https://fdc3.finos.org/docs/context/spec
2933
+ * @internal
2934
+ */
2935
+ export interface FDC3Context {
2936
+ type: string;
2937
+ name?: string;
2938
+ id?: Record<string, string>;
2939
+ [key: string]: any;
2940
+ }
2941
+ /**
2942
+ * Application instance information for intent resolution -> https://fdc3.finos.org/docs/api/ref/Types
2943
+ * @internal
2944
+ */
2945
+ export interface AppInstance {
2946
+ /** Unique identifier for this instance */
2947
+ instanceId: string;
2948
+ /** Display name for this instance */
2949
+ instanceName: string;
2950
+ /** Whether this is a new instance that would be created */
2951
+ isNewInstance?: boolean;
2952
+ /** Icon URL for the instance */
2953
+ icon?: string;
2954
+ }
2955
+ /**
2956
+ * Application metadata for intent resolution
2957
+ * @internal
2958
+ */
2959
+ export interface IntentResolverApp {
2960
+ /** Application identifier */
2961
+ appId: string;
2962
+ /** Display name of the application */
2963
+ name: string;
2964
+ /** Optional tooltip or description */
2965
+ tooltip?: string;
2966
+ /** Icon URL for the application */
2967
+ icon?: string;
2968
+ /** Available instances of this application */
2969
+ instances?: AppInstance[];
2970
+ }
2971
+ /**
2972
+ * Intent information for resolution
2973
+ * @internal
2974
+ */
2975
+ export interface IntentResolverIntent {
2976
+ /** Intent name -> ViewContact, StartCall */
2977
+ name: string;
2978
+ /** Display name for the intent -> View Contact, Start a Call, Start a Chat */
2979
+ displayName: string;
2980
+ }
2981
+ /**
2982
+ * Response from the intents resolver modal
2983
+ * @internal
2984
+ */
2985
+ export type IntentResolverResponse = {
2986
+ /** Returned when user selects desired intent destination and presses Open */
2987
+ type: 'open';
2988
+ data: {
2989
+ /** Selected application ID */
2990
+ appId?: string;
2991
+ /** Selected instance ID */
2992
+ instanceId?: string;
2993
+ /** Selected intent name */
2994
+ intentName?: string;
2995
+ /** Whether user chose to remember this selection */
2996
+ rememberSelection?: boolean;
2997
+ /** Whether user cancelled the selection */
2998
+ cancelled?: boolean;
2999
+ };
3000
+ } | {
3001
+ /** Returned when user cancels the modal or modal timeout */
3002
+ type: 'cancel';
3003
+ } | {
3004
+ /** Returned when there are no open browser windows */
3005
+ type: 'no-target-available';
3006
+ };
3007
+ /**
3008
+ * Payload for showing the intents resolver modal
3009
+ * @internal
3010
+ */
3011
+ export interface ShowIntentsResolverModalRequest {
3012
+ /** The title for the intents resolver modal */
3013
+ title: string;
3014
+ /** Available applications that can handle the intent */
3015
+ apps: IntentResolverApp[];
3016
+ /** Available intents (if multiple intents are possible) */
3017
+ intents?: IntentResolverIntent[];
3018
+ /** The context data being passed */
3019
+ context?: FDC3Context;
3020
+ /** Timeout in milliseconds for user interaction (default: 45000) */
3021
+ timeoutMs?: number;
3022
+ /** Pre-selected values */
3023
+ preselected?: {
3024
+ appId?: string;
3025
+ intentName?: string;
3026
+ instanceId?: string;
3027
+ };
3028
+ }
3029
+ export interface ShowIntentsResolverModalRequestInternal extends ShowIntentsResolverModalRequest {
3030
+ identity: OpenFin.Identity;
3031
+ }
@@ -83,7 +83,8 @@ export declare enum CompanionDockChannelAction {
83
83
  * @internal
84
84
  */
85
85
  export declare enum EnterpriseRequestModalChannelAction {
86
- SendUpdateVersionModalResponse = "send-update-version-modal-response"
86
+ SendUpdateVersionModalResponse = "send-update-version-modal-response",
87
+ SendIntentResolverModalResponse = "send-intent-resolver-modal-response"
87
88
  }
88
89
  export declare const BrowserChannelAction: {
89
90
  UpdateFavoriteEntries: CompanionDockChannelAction.UpdateFavoriteEntries;
@@ -16,8 +16,8 @@ export declare const getCenterOfParentWindowMonitor: (parentWindowIdentity?: Ope
16
16
  * @param centerOnMonitor whether the modal should be centered on the monitor
17
17
  * @returns the bounds for where the modal is to be displayed
18
18
  */
19
- export declare const getResponseModalBounds: (modalOptions: ResponseModalConfig['windowOptions'], parentWindowIdentity?: OpenFin.Identity, centerOnMonitor?: boolean) => Promise<OpenFin.Bounds>;
20
- export declare function getResponseModalBoundsAndCenterParentIfModalOffScreen(modalOptions: ResponseModalConfig['windowOptions'], parentWindowIdentity?: OpenFin.Identity, centerOnMonitor?: boolean): Promise<OpenFin.Bounds>;
19
+ export declare const getResponseModalBounds: (modalOptions: Pick<ResponseModalConfig['windowOptions'], 'defaultWidth' | 'defaultHeight'>, parentWindowIdentity?: OpenFin.Identity, centerOnMonitor?: boolean) => Promise<OpenFin.Bounds>;
20
+ export declare function getResponseModalBoundsAndCenterParentIfModalOffScreen(modalOptions: Parameters<typeof getResponseModalBounds>[0], parentWindowIdentity?: OpenFin.Identity, centerOnMonitor?: boolean, relativeBounds?: boolean): Promise<OpenFin.Bounds>;
21
21
  /**
22
22
  * Adjusts the given bounds to be within the closest monitor's available bounds if they are offscreen.
23
23
  *
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Constants for modal timeouts and configuration
3
+ */
4
+ /**
5
+ * Default timeout for intents resolver modal in milliseconds
6
+ * Set to 45 seconds to allow sufficient time for user selection
7
+ */
8
+ export declare const INTENTS_RESOLVER_MODAL_TIMEOUT_MS = 45000;
@@ -32,7 +32,8 @@ declare enum BrowserRoute {
32
32
  DropdownMenu = "/dropdown-menu/",
33
33
  EnterpriseDock = "/dock/",
34
34
  ZoomControlsDialog = "/zoom-controls-dialog/",
35
- DesktopSignalsModal = "/popup-menu/desktop-signals-modal/"
35
+ DesktopSignalsModal = "/popup-menu/desktop-signals-modal/",
36
+ IntentsResolverModal = "/popup-menu/intents-resolver-modal/"
36
37
  }
37
38
  declare const PageRoute: {
38
39
  Browser: BrowserRoute.Browser;
@@ -53,6 +54,7 @@ declare const PageRoute: {
53
54
  EnterpriseDock: BrowserRoute.EnterpriseDock;
54
55
  ZoomControlsDialog: BrowserRoute.ZoomControlsDialog;
55
56
  DesktopSignalsModal: BrowserRoute.DesktopSignalsModal;
57
+ IntentsResolverModal: BrowserRoute.IntentsResolverModal;
56
58
  Home: WorkspaceRoute.Home;
57
59
  HomeSearch: WorkspaceRoute.HomeSearch;
58
60
  HomePagesRename: WorkspaceRoute.HomePagesRename;
@@ -20,7 +20,8 @@ export declare enum WindowName {
20
20
  UpdateVersionModal = "here-update-version-modal",
21
21
  ZoomControlsDialog = "here-zoom-controls-dialog",
22
22
  AboutPageWindow = "here-about-page",
23
- DesktopSignalsModal = "here-desktop-signals-modal"
23
+ DesktopSignalsModal = "here-desktop-signals-modal",
24
+ IntentsResolverModal = "here-intents-resolver-modal"
24
25
  }
25
26
  export interface WindowIdentity {
26
27
  uuid: ApplicationUUID | string;
@@ -1,5 +1,6 @@
1
1
  import type OpenFin from '@openfin/core';
2
2
  import { ResponseModalConfig } from '../../../common/src/utils/menu-config';
3
+ import { IntentResolverResponse, ShowIntentsResolverModalRequestInternal } from '../../../client-api-platform/src/shapes';
3
4
  import { ModalResponseEvent } from './menu-window-provider';
4
5
  export type DeleteWorkspaceMenuPayload = {
5
6
  workspaceTitle: string;
@@ -33,3 +34,9 @@ export declare const showUpdateVersionModal: ({ identity, title, description }:
33
34
  title: string;
34
35
  description: string;
35
36
  }) => Promise<ModalResponseEvent['data']>;
37
+ /**
38
+ * Shows the intents resolver modal and returns the user's selection
39
+ * @param request - The request containing modal configuration
40
+ * @returns Promise resolving to the user's intent resolution response
41
+ */
42
+ export declare const showIntentsResolverModal: (request: ShowIntentsResolverModalRequestInternal) => Promise<IntentResolverResponse>;
@@ -5,6 +5,14 @@
5
5
  "issuer": "client-api/src/notifications.ts"
6
6
  }
7
7
  ],
8
+ "@openfin/microsoft365": [
9
+ {
10
+ "type": "explicit",
11
+ "version": "^1.0.1",
12
+ "packageName": "client-api/package.json",
13
+ "issuer": "client-api/src/integrations/microsoft.ts"
14
+ }
15
+ ],
8
16
  "title-case": [
9
17
  {
10
18
  "type": "explicit",
@@ -19,14 +27,6 @@
19
27
  "issuer": "common/src/utils/color-linking.ts"
20
28
  }
21
29
  ],
22
- "@openfin/microsoft365": [
23
- {
24
- "type": "explicit",
25
- "version": "^1.0.1",
26
- "packageName": "client-api/package.json",
27
- "issuer": "client-api/src/integrations/microsoft.ts"
28
- }
29
- ],
30
30
  "lodash.debounce": [
31
31
  {
32
32
  "type": "explicit",
@@ -74,13 +74,13 @@
74
74
  "type": "root-implicit",
75
75
  "version": "^4.0.11",
76
76
  "packageName": "common/package.json",
77
- "issuer": "common/src/utils/create-and-migrate-ibd-store.ts"
77
+ "issuer": "common/src/api/pages/idb.ts"
78
78
  },
79
79
  {
80
80
  "type": "root-implicit",
81
81
  "version": "^4.0.11",
82
82
  "packageName": "common/package.json",
83
- "issuer": "common/src/api/pages/idb.ts"
83
+ "issuer": "common/src/utils/create-and-migrate-ibd-store.ts"
84
84
  }
85
85
  ]
86
86
  }