@openfin/fdc3-api 42.100.91 → 42.100.94

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.
@@ -5912,6 +5912,7 @@ declare interface FinApi<MeType extends OpenFin.EntityType> {
5912
5912
  readonly Platform: PlatformModule;
5913
5913
  readonly Interop: InteropModule;
5914
5914
  readonly SnapshotSource: SnapshotSourceModule;
5915
+ readonly NotificationManager: NotificationManagerModule;
5915
5916
  /**
5916
5917
  * Provides access to the OpenFin representation of the current code context (usually an entity
5917
5918
  * such as a {@link OpenFin.View} or {@link OpenFin.Window}), as well as to the current `Interop` context.
@@ -9003,19 +9004,74 @@ declare type LogInfo = {
9003
9004
  */
9004
9005
  declare type LogLevel = 'verbose' | 'info' | 'warning' | 'error' | 'fatal';
9005
9006
 
9007
+ /**
9008
+ * Options for the Log Uploader.
9009
+ */
9010
+ declare type LogUploaderOptions = LogUploadOptions & {
9011
+ ui?: LogUploaderUIOptions & {
9012
+ /**
9013
+ * Whether the Log Uploader UI should be shown.
9014
+ * @defaultValue true
9015
+ */
9016
+ show?: boolean;
9017
+ };
9018
+ };
9019
+
9020
+ /**
9021
+ * Options for the Log Uploader UI.
9022
+ * @interface
9023
+ */
9006
9024
  declare type LogUploaderUIOptions = {
9025
+ /**
9026
+ * Title for the Log Uploader window.
9027
+ * @defaultValue 'Here Log Uploader'
9028
+ */
9007
9029
  title?: string;
9030
+ /**
9031
+ * URL of an icon to use for the Log Uploader tool. The default is the Here logo.
9032
+ */
9008
9033
  icon?: string;
9034
+ /**
9035
+ * Name of the organization displayed in the Uploader window.
9036
+ * @defaultValue 'Here'
9037
+ */
9009
9038
  header?: string;
9039
+ /**
9040
+ * An explanation for the user of the purpose of the tool.
9041
+ * @defaultValue 'The following logs are being requested'
9042
+ */
9010
9043
  description?: string;
9044
+ /**
9045
+ * An email address that the user can contact with questions.
9046
+ * @defaultValue 'support@here.io'
9047
+ */
9011
9048
  email?: string;
9049
+ /**
9050
+ * URL of a webpage where the user can find more information about log uploading.
9051
+ * @defaultValue 'https://resources.here.io/docs/core/manage/security/'
9052
+ */
9012
9053
  website?: string;
9054
+ /**
9055
+ * Description of the webpage where the user can find more information.
9056
+ * @defaultValue 'Here Security'
9057
+ */
9013
9058
  websiteDescription?: string;
9014
9059
  };
9015
9060
 
9016
9061
  declare type LogUploadOptions = {
9062
+ /**
9063
+ * The URL where log files are to be uploaded.
9064
+ */
9017
9065
  endpoint: string;
9066
+ /**
9067
+ * An array of URL match patterns to define the manifests of the programs that the Log Uploader should upload logs for.
9068
+ * @defaultValue []
9069
+ */
9018
9070
  manifests?: string[];
9071
+ /**
9072
+ * An array of strings that specifies which logs should be uploaded.
9073
+ * @defaultValue ['app', 'rvm', 'debug']
9074
+ */
9019
9075
  logs?: string[];
9020
9076
  ui?: LogUploaderUIOptions;
9021
9077
  };
@@ -9801,6 +9857,29 @@ declare type NonPropagatedWindowEvent = never;
9801
9857
 
9802
9858
  /* Excluded from this release type: NotCloseRequested */
9803
9859
 
9860
+ declare type NotificationEvent = {
9861
+ type: 'close' | 'click' | 'show';
9862
+ notificationId: string;
9863
+ };
9864
+
9865
+ declare class NotificationManagerInstance {
9866
+ #private;
9867
+ constructor(wire: Transport, id: string);
9868
+ setNotificationHandler: (handler: NotificiationHandler) => Promise<void>;
9869
+ destroy: () => Promise<void>;
9870
+ dispatch: (event: NotificationEvent) => Promise<void>;
9871
+ }
9872
+
9873
+ declare class NotificationManagerModule extends Base {
9874
+ init: () => Promise<NotificationManagerInstance>;
9875
+ }
9876
+
9877
+ declare type NotificationManagerPermissions = {
9878
+ init: boolean;
9879
+ };
9880
+
9881
+ declare type NotificiationHandler = (event: WebNotificationInfo) => void;
9882
+
9804
9883
  /* Excluded from this release type: NotRequested */
9805
9884
 
9806
9885
  /**
@@ -9973,6 +10052,7 @@ declare namespace OpenFin {
9973
10052
  ApplicationPermissions,
9974
10053
  LaunchExternalProcessRule,
9975
10054
  SystemPermissions,
10055
+ NotificationManagerPermissions,
9976
10056
  DevicePermissionName,
9977
10057
  WebPermissionName,
9978
10058
  WebPermission,
@@ -9986,6 +10066,7 @@ declare namespace OpenFin {
9986
10066
  PlatformViewCreationOptions,
9987
10067
  ProcessAffinityStrategy,
9988
10068
  PlatformOptions,
10069
+ LogUploaderOptions,
9989
10070
  LogUploaderUIOptions,
9990
10071
  LogUploadOptions,
9991
10072
  Manifest,
@@ -10209,6 +10290,11 @@ declare namespace OpenFin {
10209
10290
  RoutingInfo,
10210
10291
  DownloadShelfOptions,
10211
10292
  ViewShowAtOptions,
10293
+ NotificationEvent,
10294
+ NotificationManagerInstance,
10295
+ NotificationManagerModule,
10296
+ WebNotificationInfo,
10297
+ WebNotificationProperties,
10212
10298
  ExtensionInfo,
10213
10299
  ServeRequest,
10214
10300
  AppAssetServeRequest,
@@ -10503,6 +10589,7 @@ declare type Permissions_2 = {
10503
10589
  Clipboard?: Partial<ClipboardApiPermissions>;
10504
10590
  webAPIs?: WebPermission[];
10505
10591
  devices?: DeviceInfo[];
10592
+ NotificationManager?: Partial<NotificationManagerPermissions>;
10506
10593
  };
10507
10594
 
10508
10595
  declare type PermissionState_2 = 'granted' | 'denied' | 'unavailable';
@@ -12671,6 +12758,10 @@ declare type ProtocolMap = ExternalAdapterOnlyCallsMap & AnalyticsProtocolMap &
12671
12758
  transitions: OpenFin.Transition;
12672
12759
  options: OpenFin.TransitionOptions;
12673
12760
  }>;
12761
+ 'activate-window-and-focus': ApiCall<{
12762
+ winIdentity: OpenFin.Identity;
12763
+ focusIdentity: OpenFin.Identity;
12764
+ }, boolean>;
12674
12765
  'get-all-frames': IdentityCall<{}, OpenFin.FrameInfo[]>;
12675
12766
  'get-window-bounds': IdentityCall<{
12676
12767
  options?: OpenFin.GetBoundsOptions;
@@ -13293,6 +13384,34 @@ declare type ProtocolMap = ExternalAdapterOnlyCallsMap & AnalyticsProtocolMap &
13293
13384
  };
13294
13385
  response: void;
13295
13386
  };
13387
+ 'launch-log-uploader': ApiCall<{
13388
+ options: OpenFin.LogUploaderOptions;
13389
+ }, void> & {
13390
+ apiPath: '.launchLogUploader';
13391
+ namespace: 'System';
13392
+ };
13393
+ 'dispatch-notification-event': {
13394
+ request: {
13395
+ notificationId: string;
13396
+ type: 'close' | 'show' | 'click';
13397
+ };
13398
+ response: void;
13399
+ };
13400
+ 'init-notification-manager': {
13401
+ request: {};
13402
+ response: {
13403
+ managerId: string;
13404
+ };
13405
+ apiPath: '.init';
13406
+ secure: true;
13407
+ namespace: 'NotificationManager';
13408
+ };
13409
+ 'destroy-notification-manager': {
13410
+ request: {
13411
+ managerId: string;
13412
+ };
13413
+ response: void;
13414
+ };
13296
13415
  };
13297
13416
 
13298
13417
  declare type ProtocolOffer = ClassicProtocolOffer | RTCProtocolOffer;
@@ -15817,6 +15936,10 @@ declare class System extends EmitterBase<OpenFin.SystemEvent> {
15817
15936
  * Not indended for general use, will be used by the `@openfin/workspace-platform` package.
15818
15937
  */
15819
15938
  serveAsset(options: OpenFin.ServeAssetOptions): Promise<OpenFin.ServedAssetInfo>;
15939
+ /**
15940
+ * Launches the Log Uploader. Full documentation can be found [here](https://resources.here.io/docs/core/develop/debug/log-uploader/).
15941
+ */
15942
+ launchLogUploader(options: OpenFin.LogUploaderOptions): Promise<void>;
15820
15943
  }
15821
15944
 
15822
15945
  /**
@@ -18267,6 +18390,19 @@ declare namespace WebContentsEvents {
18267
18390
  }
18268
18391
  }
18269
18392
 
18393
+ declare type WebNotificationInfo = {
18394
+ notificationId: string;
18395
+ properties: WebNotificationProperties;
18396
+ url: string;
18397
+ images: {
18398
+ icon?: string;
18399
+ badge?: string;
18400
+ image?: string;
18401
+ };
18402
+ };
18403
+
18404
+ declare type WebNotificationProperties = Pick<Notification, 'tag' | 'body' | 'data' | 'dir' | 'icon' | 'lang' | 'title'>;
18405
+
18270
18406
  /**
18271
18407
  * Defines the type of requested web APIs permission.
18272
18408
  *
@@ -18409,6 +18545,30 @@ declare class _Window extends WebContents<OpenFin.WindowEvent> {
18409
18545
  * ```
18410
18546
  */
18411
18547
  getAllFrames(): Promise<Array<OpenFin.FrameInfo>>;
18548
+ /**
18549
+ * Activates the current window and focuses the child entity if it exists. If this does
18550
+ * not succeed - say the child does not belong to this window, or the identity does not exist -
18551
+ * it will return false.
18552
+ *
18553
+ * @example
18554
+ * ```js
18555
+ * const win = fin.Window.wrapSync({ uuid: 'myApp', name: 'myOtherWindow' });
18556
+ *
18557
+ * win.getCurrentViews()
18558
+ * .then(([view1]) => {
18559
+ * return win.activateAndFocus(view1.identity);
18560
+ * })
18561
+ * .then(success => {
18562
+ * if (success) {
18563
+ * console.log('Window activated and child focused');
18564
+ * } else {
18565
+ * console.log('Window activation failed, focus state unchanged');
18566
+ * }
18567
+ * })
18568
+ * .catch(console.error);
18569
+ * ```
18570
+ */
18571
+ activateAndFocus(childIdentityToFocus: OpenFin.Identity): Promise<boolean>;
18412
18572
  /**
18413
18573
  * Gets the current bounds (top, bottom, right, left, width, height) of the window.
18414
18574
  *
@@ -5912,6 +5912,7 @@ declare interface FinApi<MeType extends OpenFin.EntityType> {
5912
5912
  readonly Platform: PlatformModule;
5913
5913
  readonly Interop: InteropModule;
5914
5914
  readonly SnapshotSource: SnapshotSourceModule;
5915
+ readonly NotificationManager: NotificationManagerModule;
5915
5916
  /**
5916
5917
  * Provides access to the OpenFin representation of the current code context (usually an entity
5917
5918
  * such as a {@link OpenFin.View} or {@link OpenFin.Window}), as well as to the current `Interop` context.
@@ -9003,19 +9004,74 @@ declare type LogInfo = {
9003
9004
  */
9004
9005
  declare type LogLevel = 'verbose' | 'info' | 'warning' | 'error' | 'fatal';
9005
9006
 
9007
+ /**
9008
+ * Options for the Log Uploader.
9009
+ */
9010
+ declare type LogUploaderOptions = LogUploadOptions & {
9011
+ ui?: LogUploaderUIOptions & {
9012
+ /**
9013
+ * Whether the Log Uploader UI should be shown.
9014
+ * @defaultValue true
9015
+ */
9016
+ show?: boolean;
9017
+ };
9018
+ };
9019
+
9020
+ /**
9021
+ * Options for the Log Uploader UI.
9022
+ * @interface
9023
+ */
9006
9024
  declare type LogUploaderUIOptions = {
9025
+ /**
9026
+ * Title for the Log Uploader window.
9027
+ * @defaultValue 'Here Log Uploader'
9028
+ */
9007
9029
  title?: string;
9030
+ /**
9031
+ * URL of an icon to use for the Log Uploader tool. The default is the Here logo.
9032
+ */
9008
9033
  icon?: string;
9034
+ /**
9035
+ * Name of the organization displayed in the Uploader window.
9036
+ * @defaultValue 'Here'
9037
+ */
9009
9038
  header?: string;
9039
+ /**
9040
+ * An explanation for the user of the purpose of the tool.
9041
+ * @defaultValue 'The following logs are being requested'
9042
+ */
9010
9043
  description?: string;
9044
+ /**
9045
+ * An email address that the user can contact with questions.
9046
+ * @defaultValue 'support@here.io'
9047
+ */
9011
9048
  email?: string;
9049
+ /**
9050
+ * URL of a webpage where the user can find more information about log uploading.
9051
+ * @defaultValue 'https://resources.here.io/docs/core/manage/security/'
9052
+ */
9012
9053
  website?: string;
9054
+ /**
9055
+ * Description of the webpage where the user can find more information.
9056
+ * @defaultValue 'Here Security'
9057
+ */
9013
9058
  websiteDescription?: string;
9014
9059
  };
9015
9060
 
9016
9061
  declare type LogUploadOptions = {
9062
+ /**
9063
+ * The URL where log files are to be uploaded.
9064
+ */
9017
9065
  endpoint: string;
9066
+ /**
9067
+ * An array of URL match patterns to define the manifests of the programs that the Log Uploader should upload logs for.
9068
+ * @defaultValue []
9069
+ */
9018
9070
  manifests?: string[];
9071
+ /**
9072
+ * An array of strings that specifies which logs should be uploaded.
9073
+ * @defaultValue ['app', 'rvm', 'debug']
9074
+ */
9019
9075
  logs?: string[];
9020
9076
  ui?: LogUploaderUIOptions;
9021
9077
  };
@@ -9801,6 +9857,29 @@ declare type NonPropagatedWindowEvent = never;
9801
9857
 
9802
9858
  /* Excluded from this release type: NotCloseRequested */
9803
9859
 
9860
+ declare type NotificationEvent = {
9861
+ type: 'close' | 'click' | 'show';
9862
+ notificationId: string;
9863
+ };
9864
+
9865
+ declare class NotificationManagerInstance {
9866
+ #private;
9867
+ constructor(wire: Transport, id: string);
9868
+ setNotificationHandler: (handler: NotificiationHandler) => Promise<void>;
9869
+ destroy: () => Promise<void>;
9870
+ dispatch: (event: NotificationEvent) => Promise<void>;
9871
+ }
9872
+
9873
+ declare class NotificationManagerModule extends Base {
9874
+ init: () => Promise<NotificationManagerInstance>;
9875
+ }
9876
+
9877
+ declare type NotificationManagerPermissions = {
9878
+ init: boolean;
9879
+ };
9880
+
9881
+ declare type NotificiationHandler = (event: WebNotificationInfo) => void;
9882
+
9804
9883
  /* Excluded from this release type: NotRequested */
9805
9884
 
9806
9885
  /**
@@ -9973,6 +10052,7 @@ declare namespace OpenFin {
9973
10052
  ApplicationPermissions,
9974
10053
  LaunchExternalProcessRule,
9975
10054
  SystemPermissions,
10055
+ NotificationManagerPermissions,
9976
10056
  DevicePermissionName,
9977
10057
  WebPermissionName,
9978
10058
  WebPermission,
@@ -9986,6 +10066,7 @@ declare namespace OpenFin {
9986
10066
  PlatformViewCreationOptions,
9987
10067
  ProcessAffinityStrategy,
9988
10068
  PlatformOptions,
10069
+ LogUploaderOptions,
9989
10070
  LogUploaderUIOptions,
9990
10071
  LogUploadOptions,
9991
10072
  Manifest,
@@ -10209,6 +10290,11 @@ declare namespace OpenFin {
10209
10290
  RoutingInfo,
10210
10291
  DownloadShelfOptions,
10211
10292
  ViewShowAtOptions,
10293
+ NotificationEvent,
10294
+ NotificationManagerInstance,
10295
+ NotificationManagerModule,
10296
+ WebNotificationInfo,
10297
+ WebNotificationProperties,
10212
10298
  ExtensionInfo,
10213
10299
  ServeRequest,
10214
10300
  AppAssetServeRequest,
@@ -10503,6 +10589,7 @@ declare type Permissions_2 = {
10503
10589
  Clipboard?: Partial<ClipboardApiPermissions>;
10504
10590
  webAPIs?: WebPermission[];
10505
10591
  devices?: DeviceInfo[];
10592
+ NotificationManager?: Partial<NotificationManagerPermissions>;
10506
10593
  };
10507
10594
 
10508
10595
  declare type PermissionState_2 = 'granted' | 'denied' | 'unavailable';
@@ -12671,6 +12758,10 @@ declare type ProtocolMap = ExternalAdapterOnlyCallsMap & AnalyticsProtocolMap &
12671
12758
  transitions: OpenFin.Transition;
12672
12759
  options: OpenFin.TransitionOptions;
12673
12760
  }>;
12761
+ 'activate-window-and-focus': ApiCall<{
12762
+ winIdentity: OpenFin.Identity;
12763
+ focusIdentity: OpenFin.Identity;
12764
+ }, boolean>;
12674
12765
  'get-all-frames': IdentityCall<{}, OpenFin.FrameInfo[]>;
12675
12766
  'get-window-bounds': IdentityCall<{
12676
12767
  options?: OpenFin.GetBoundsOptions;
@@ -13293,6 +13384,34 @@ declare type ProtocolMap = ExternalAdapterOnlyCallsMap & AnalyticsProtocolMap &
13293
13384
  };
13294
13385
  response: void;
13295
13386
  };
13387
+ 'launch-log-uploader': ApiCall<{
13388
+ options: OpenFin.LogUploaderOptions;
13389
+ }, void> & {
13390
+ apiPath: '.launchLogUploader';
13391
+ namespace: 'System';
13392
+ };
13393
+ 'dispatch-notification-event': {
13394
+ request: {
13395
+ notificationId: string;
13396
+ type: 'close' | 'show' | 'click';
13397
+ };
13398
+ response: void;
13399
+ };
13400
+ 'init-notification-manager': {
13401
+ request: {};
13402
+ response: {
13403
+ managerId: string;
13404
+ };
13405
+ apiPath: '.init';
13406
+ secure: true;
13407
+ namespace: 'NotificationManager';
13408
+ };
13409
+ 'destroy-notification-manager': {
13410
+ request: {
13411
+ managerId: string;
13412
+ };
13413
+ response: void;
13414
+ };
13296
13415
  };
13297
13416
 
13298
13417
  declare type ProtocolOffer = ClassicProtocolOffer | RTCProtocolOffer;
@@ -15817,6 +15936,10 @@ declare class System extends EmitterBase<OpenFin.SystemEvent> {
15817
15936
  * Not indended for general use, will be used by the `@openfin/workspace-platform` package.
15818
15937
  */
15819
15938
  serveAsset(options: OpenFin.ServeAssetOptions): Promise<OpenFin.ServedAssetInfo>;
15939
+ /**
15940
+ * Launches the Log Uploader. Full documentation can be found [here](https://resources.here.io/docs/core/develop/debug/log-uploader/).
15941
+ */
15942
+ launchLogUploader(options: OpenFin.LogUploaderOptions): Promise<void>;
15820
15943
  }
15821
15944
 
15822
15945
  /**
@@ -18267,6 +18390,19 @@ declare namespace WebContentsEvents {
18267
18390
  }
18268
18391
  }
18269
18392
 
18393
+ declare type WebNotificationInfo = {
18394
+ notificationId: string;
18395
+ properties: WebNotificationProperties;
18396
+ url: string;
18397
+ images: {
18398
+ icon?: string;
18399
+ badge?: string;
18400
+ image?: string;
18401
+ };
18402
+ };
18403
+
18404
+ declare type WebNotificationProperties = Pick<Notification, 'tag' | 'body' | 'data' | 'dir' | 'icon' | 'lang' | 'title'>;
18405
+
18270
18406
  /**
18271
18407
  * Defines the type of requested web APIs permission.
18272
18408
  *
@@ -18409,6 +18545,30 @@ declare class _Window extends WebContents<OpenFin.WindowEvent> {
18409
18545
  * ```
18410
18546
  */
18411
18547
  getAllFrames(): Promise<Array<OpenFin.FrameInfo>>;
18548
+ /**
18549
+ * Activates the current window and focuses the child entity if it exists. If this does
18550
+ * not succeed - say the child does not belong to this window, or the identity does not exist -
18551
+ * it will return false.
18552
+ *
18553
+ * @example
18554
+ * ```js
18555
+ * const win = fin.Window.wrapSync({ uuid: 'myApp', name: 'myOtherWindow' });
18556
+ *
18557
+ * win.getCurrentViews()
18558
+ * .then(([view1]) => {
18559
+ * return win.activateAndFocus(view1.identity);
18560
+ * })
18561
+ * .then(success => {
18562
+ * if (success) {
18563
+ * console.log('Window activated and child focused');
18564
+ * } else {
18565
+ * console.log('Window activation failed, focus state unchanged');
18566
+ * }
18567
+ * })
18568
+ * .catch(console.error);
18569
+ * ```
18570
+ */
18571
+ activateAndFocus(childIdentityToFocus: OpenFin.Identity): Promise<boolean>;
18412
18572
  /**
18413
18573
  * Gets the current bounds (top, bottom, right, left, width, height) of the window.
18414
18574
  *
@@ -5912,6 +5912,7 @@ declare interface FinApi<MeType extends OpenFin.EntityType> {
5912
5912
  readonly Platform: PlatformModule;
5913
5913
  readonly Interop: InteropModule;
5914
5914
  readonly SnapshotSource: SnapshotSourceModule;
5915
+ readonly NotificationManager: NotificationManagerModule;
5915
5916
  /**
5916
5917
  * Provides access to the OpenFin representation of the current code context (usually an entity
5917
5918
  * such as a {@link OpenFin.View} or {@link OpenFin.Window}), as well as to the current `Interop` context.
@@ -9003,19 +9004,74 @@ declare type LogInfo = {
9003
9004
  */
9004
9005
  declare type LogLevel = 'verbose' | 'info' | 'warning' | 'error' | 'fatal';
9005
9006
 
9007
+ /**
9008
+ * Options for the Log Uploader.
9009
+ */
9010
+ declare type LogUploaderOptions = LogUploadOptions & {
9011
+ ui?: LogUploaderUIOptions & {
9012
+ /**
9013
+ * Whether the Log Uploader UI should be shown.
9014
+ * @defaultValue true
9015
+ */
9016
+ show?: boolean;
9017
+ };
9018
+ };
9019
+
9020
+ /**
9021
+ * Options for the Log Uploader UI.
9022
+ * @interface
9023
+ */
9006
9024
  declare type LogUploaderUIOptions = {
9025
+ /**
9026
+ * Title for the Log Uploader window.
9027
+ * @defaultValue 'Here Log Uploader'
9028
+ */
9007
9029
  title?: string;
9030
+ /**
9031
+ * URL of an icon to use for the Log Uploader tool. The default is the Here logo.
9032
+ */
9008
9033
  icon?: string;
9034
+ /**
9035
+ * Name of the organization displayed in the Uploader window.
9036
+ * @defaultValue 'Here'
9037
+ */
9009
9038
  header?: string;
9039
+ /**
9040
+ * An explanation for the user of the purpose of the tool.
9041
+ * @defaultValue 'The following logs are being requested'
9042
+ */
9010
9043
  description?: string;
9044
+ /**
9045
+ * An email address that the user can contact with questions.
9046
+ * @defaultValue 'support@here.io'
9047
+ */
9011
9048
  email?: string;
9049
+ /**
9050
+ * URL of a webpage where the user can find more information about log uploading.
9051
+ * @defaultValue 'https://resources.here.io/docs/core/manage/security/'
9052
+ */
9012
9053
  website?: string;
9054
+ /**
9055
+ * Description of the webpage where the user can find more information.
9056
+ * @defaultValue 'Here Security'
9057
+ */
9013
9058
  websiteDescription?: string;
9014
9059
  };
9015
9060
 
9016
9061
  declare type LogUploadOptions = {
9062
+ /**
9063
+ * The URL where log files are to be uploaded.
9064
+ */
9017
9065
  endpoint: string;
9066
+ /**
9067
+ * An array of URL match patterns to define the manifests of the programs that the Log Uploader should upload logs for.
9068
+ * @defaultValue []
9069
+ */
9018
9070
  manifests?: string[];
9071
+ /**
9072
+ * An array of strings that specifies which logs should be uploaded.
9073
+ * @defaultValue ['app', 'rvm', 'debug']
9074
+ */
9019
9075
  logs?: string[];
9020
9076
  ui?: LogUploaderUIOptions;
9021
9077
  };
@@ -9801,6 +9857,29 @@ declare type NonPropagatedWindowEvent = never;
9801
9857
 
9802
9858
  /* Excluded from this release type: NotCloseRequested */
9803
9859
 
9860
+ declare type NotificationEvent = {
9861
+ type: 'close' | 'click' | 'show';
9862
+ notificationId: string;
9863
+ };
9864
+
9865
+ declare class NotificationManagerInstance {
9866
+ #private;
9867
+ constructor(wire: Transport, id: string);
9868
+ setNotificationHandler: (handler: NotificiationHandler) => Promise<void>;
9869
+ destroy: () => Promise<void>;
9870
+ dispatch: (event: NotificationEvent) => Promise<void>;
9871
+ }
9872
+
9873
+ declare class NotificationManagerModule extends Base {
9874
+ init: () => Promise<NotificationManagerInstance>;
9875
+ }
9876
+
9877
+ declare type NotificationManagerPermissions = {
9878
+ init: boolean;
9879
+ };
9880
+
9881
+ declare type NotificiationHandler = (event: WebNotificationInfo) => void;
9882
+
9804
9883
  /* Excluded from this release type: NotRequested */
9805
9884
 
9806
9885
  /**
@@ -9973,6 +10052,7 @@ declare namespace OpenFin {
9973
10052
  ApplicationPermissions,
9974
10053
  LaunchExternalProcessRule,
9975
10054
  SystemPermissions,
10055
+ NotificationManagerPermissions,
9976
10056
  DevicePermissionName,
9977
10057
  WebPermissionName,
9978
10058
  WebPermission,
@@ -9986,6 +10066,7 @@ declare namespace OpenFin {
9986
10066
  PlatformViewCreationOptions,
9987
10067
  ProcessAffinityStrategy,
9988
10068
  PlatformOptions,
10069
+ LogUploaderOptions,
9989
10070
  LogUploaderUIOptions,
9990
10071
  LogUploadOptions,
9991
10072
  Manifest,
@@ -10209,6 +10290,11 @@ declare namespace OpenFin {
10209
10290
  RoutingInfo,
10210
10291
  DownloadShelfOptions,
10211
10292
  ViewShowAtOptions,
10293
+ NotificationEvent,
10294
+ NotificationManagerInstance,
10295
+ NotificationManagerModule,
10296
+ WebNotificationInfo,
10297
+ WebNotificationProperties,
10212
10298
  ExtensionInfo,
10213
10299
  ServeRequest,
10214
10300
  AppAssetServeRequest,
@@ -10503,6 +10589,7 @@ declare type Permissions_2 = {
10503
10589
  Clipboard?: Partial<ClipboardApiPermissions>;
10504
10590
  webAPIs?: WebPermission[];
10505
10591
  devices?: DeviceInfo[];
10592
+ NotificationManager?: Partial<NotificationManagerPermissions>;
10506
10593
  };
10507
10594
 
10508
10595
  declare type PermissionState_2 = 'granted' | 'denied' | 'unavailable';
@@ -12671,6 +12758,10 @@ declare type ProtocolMap = ExternalAdapterOnlyCallsMap & AnalyticsProtocolMap &
12671
12758
  transitions: OpenFin.Transition;
12672
12759
  options: OpenFin.TransitionOptions;
12673
12760
  }>;
12761
+ 'activate-window-and-focus': ApiCall<{
12762
+ winIdentity: OpenFin.Identity;
12763
+ focusIdentity: OpenFin.Identity;
12764
+ }, boolean>;
12674
12765
  'get-all-frames': IdentityCall<{}, OpenFin.FrameInfo[]>;
12675
12766
  'get-window-bounds': IdentityCall<{
12676
12767
  options?: OpenFin.GetBoundsOptions;
@@ -13293,6 +13384,34 @@ declare type ProtocolMap = ExternalAdapterOnlyCallsMap & AnalyticsProtocolMap &
13293
13384
  };
13294
13385
  response: void;
13295
13386
  };
13387
+ 'launch-log-uploader': ApiCall<{
13388
+ options: OpenFin.LogUploaderOptions;
13389
+ }, void> & {
13390
+ apiPath: '.launchLogUploader';
13391
+ namespace: 'System';
13392
+ };
13393
+ 'dispatch-notification-event': {
13394
+ request: {
13395
+ notificationId: string;
13396
+ type: 'close' | 'show' | 'click';
13397
+ };
13398
+ response: void;
13399
+ };
13400
+ 'init-notification-manager': {
13401
+ request: {};
13402
+ response: {
13403
+ managerId: string;
13404
+ };
13405
+ apiPath: '.init';
13406
+ secure: true;
13407
+ namespace: 'NotificationManager';
13408
+ };
13409
+ 'destroy-notification-manager': {
13410
+ request: {
13411
+ managerId: string;
13412
+ };
13413
+ response: void;
13414
+ };
13296
13415
  };
13297
13416
 
13298
13417
  declare type ProtocolOffer = ClassicProtocolOffer | RTCProtocolOffer;
@@ -15817,6 +15936,10 @@ declare class System extends EmitterBase<OpenFin.SystemEvent> {
15817
15936
  * Not indended for general use, will be used by the `@openfin/workspace-platform` package.
15818
15937
  */
15819
15938
  serveAsset(options: OpenFin.ServeAssetOptions): Promise<OpenFin.ServedAssetInfo>;
15939
+ /**
15940
+ * Launches the Log Uploader. Full documentation can be found [here](https://resources.here.io/docs/core/develop/debug/log-uploader/).
15941
+ */
15942
+ launchLogUploader(options: OpenFin.LogUploaderOptions): Promise<void>;
15820
15943
  }
15821
15944
 
15822
15945
  /**
@@ -18267,6 +18390,19 @@ declare namespace WebContentsEvents {
18267
18390
  }
18268
18391
  }
18269
18392
 
18393
+ declare type WebNotificationInfo = {
18394
+ notificationId: string;
18395
+ properties: WebNotificationProperties;
18396
+ url: string;
18397
+ images: {
18398
+ icon?: string;
18399
+ badge?: string;
18400
+ image?: string;
18401
+ };
18402
+ };
18403
+
18404
+ declare type WebNotificationProperties = Pick<Notification, 'tag' | 'body' | 'data' | 'dir' | 'icon' | 'lang' | 'title'>;
18405
+
18270
18406
  /**
18271
18407
  * Defines the type of requested web APIs permission.
18272
18408
  *
@@ -18409,6 +18545,30 @@ declare class _Window extends WebContents<OpenFin.WindowEvent> {
18409
18545
  * ```
18410
18546
  */
18411
18547
  getAllFrames(): Promise<Array<OpenFin.FrameInfo>>;
18548
+ /**
18549
+ * Activates the current window and focuses the child entity if it exists. If this does
18550
+ * not succeed - say the child does not belong to this window, or the identity does not exist -
18551
+ * it will return false.
18552
+ *
18553
+ * @example
18554
+ * ```js
18555
+ * const win = fin.Window.wrapSync({ uuid: 'myApp', name: 'myOtherWindow' });
18556
+ *
18557
+ * win.getCurrentViews()
18558
+ * .then(([view1]) => {
18559
+ * return win.activateAndFocus(view1.identity);
18560
+ * })
18561
+ * .then(success => {
18562
+ * if (success) {
18563
+ * console.log('Window activated and child focused');
18564
+ * } else {
18565
+ * console.log('Window activation failed, focus state unchanged');
18566
+ * }
18567
+ * })
18568
+ * .catch(console.error);
18569
+ * ```
18570
+ */
18571
+ activateAndFocus(childIdentityToFocus: OpenFin.Identity): Promise<boolean>;
18412
18572
  /**
18413
18573
  * Gets the current bounds (top, bottom, right, left, width, height) of the window.
18414
18574
  *
package/out/fdc3-api.d.ts CHANGED
@@ -5997,6 +5997,7 @@ declare interface FinApi<MeType extends OpenFin.EntityType> {
5997
5997
  readonly Platform: PlatformModule;
5998
5998
  readonly Interop: InteropModule;
5999
5999
  readonly SnapshotSource: SnapshotSourceModule;
6000
+ readonly NotificationManager: NotificationManagerModule;
6000
6001
  /**
6001
6002
  * Provides access to the OpenFin representation of the current code context (usually an entity
6002
6003
  * such as a {@link OpenFin.View} or {@link OpenFin.Window}), as well as to the current `Interop` context.
@@ -9299,19 +9300,74 @@ declare type LogInfo = {
9299
9300
  */
9300
9301
  declare type LogLevel = 'verbose' | 'info' | 'warning' | 'error' | 'fatal';
9301
9302
 
9303
+ /**
9304
+ * Options for the Log Uploader.
9305
+ */
9306
+ declare type LogUploaderOptions = LogUploadOptions & {
9307
+ ui?: LogUploaderUIOptions & {
9308
+ /**
9309
+ * Whether the Log Uploader UI should be shown.
9310
+ * @defaultValue true
9311
+ */
9312
+ show?: boolean;
9313
+ };
9314
+ };
9315
+
9316
+ /**
9317
+ * Options for the Log Uploader UI.
9318
+ * @interface
9319
+ */
9302
9320
  declare type LogUploaderUIOptions = {
9321
+ /**
9322
+ * Title for the Log Uploader window.
9323
+ * @defaultValue 'Here Log Uploader'
9324
+ */
9303
9325
  title?: string;
9326
+ /**
9327
+ * URL of an icon to use for the Log Uploader tool. The default is the Here logo.
9328
+ */
9304
9329
  icon?: string;
9330
+ /**
9331
+ * Name of the organization displayed in the Uploader window.
9332
+ * @defaultValue 'Here'
9333
+ */
9305
9334
  header?: string;
9335
+ /**
9336
+ * An explanation for the user of the purpose of the tool.
9337
+ * @defaultValue 'The following logs are being requested'
9338
+ */
9306
9339
  description?: string;
9340
+ /**
9341
+ * An email address that the user can contact with questions.
9342
+ * @defaultValue 'support@here.io'
9343
+ */
9307
9344
  email?: string;
9345
+ /**
9346
+ * URL of a webpage where the user can find more information about log uploading.
9347
+ * @defaultValue 'https://resources.here.io/docs/core/manage/security/'
9348
+ */
9308
9349
  website?: string;
9350
+ /**
9351
+ * Description of the webpage where the user can find more information.
9352
+ * @defaultValue 'Here Security'
9353
+ */
9309
9354
  websiteDescription?: string;
9310
9355
  };
9311
9356
 
9312
9357
  declare type LogUploadOptions = {
9358
+ /**
9359
+ * The URL where log files are to be uploaded.
9360
+ */
9313
9361
  endpoint: string;
9362
+ /**
9363
+ * An array of URL match patterns to define the manifests of the programs that the Log Uploader should upload logs for.
9364
+ * @defaultValue []
9365
+ */
9314
9366
  manifests?: string[];
9367
+ /**
9368
+ * An array of strings that specifies which logs should be uploaded.
9369
+ * @defaultValue ['app', 'rvm', 'debug']
9370
+ */
9315
9371
  logs?: string[];
9316
9372
  ui?: LogUploaderUIOptions;
9317
9373
  };
@@ -10114,6 +10170,29 @@ declare type NonPropagatedWindowEvent = never;
10114
10170
  */
10115
10171
  declare type NotCloseRequested<EventType extends string> = Exclude<EventType, 'close-requested'>;
10116
10172
 
10173
+ declare type NotificationEvent = {
10174
+ type: 'close' | 'click' | 'show';
10175
+ notificationId: string;
10176
+ };
10177
+
10178
+ declare class NotificationManagerInstance {
10179
+ #private;
10180
+ constructor(wire: Transport, id: string);
10181
+ setNotificationHandler: (handler: NotificiationHandler) => Promise<void>;
10182
+ destroy: () => Promise<void>;
10183
+ dispatch: (event: NotificationEvent) => Promise<void>;
10184
+ }
10185
+
10186
+ declare class NotificationManagerModule extends Base {
10187
+ init: () => Promise<NotificationManagerInstance>;
10188
+ }
10189
+
10190
+ declare type NotificationManagerPermissions = {
10191
+ init: boolean;
10192
+ };
10193
+
10194
+ declare type NotificiationHandler = (event: WebNotificationInfo) => void;
10195
+
10117
10196
  /**
10118
10197
  * @internal
10119
10198
  *
@@ -10291,6 +10370,7 @@ declare namespace OpenFin {
10291
10370
  ApplicationPermissions,
10292
10371
  LaunchExternalProcessRule,
10293
10372
  SystemPermissions,
10373
+ NotificationManagerPermissions,
10294
10374
  DevicePermissionName,
10295
10375
  WebPermissionName,
10296
10376
  WebPermission,
@@ -10304,6 +10384,7 @@ declare namespace OpenFin {
10304
10384
  PlatformViewCreationOptions,
10305
10385
  ProcessAffinityStrategy,
10306
10386
  PlatformOptions,
10387
+ LogUploaderOptions,
10307
10388
  LogUploaderUIOptions,
10308
10389
  LogUploadOptions,
10309
10390
  Manifest,
@@ -10527,6 +10608,11 @@ declare namespace OpenFin {
10527
10608
  RoutingInfo,
10528
10609
  DownloadShelfOptions,
10529
10610
  ViewShowAtOptions,
10611
+ NotificationEvent,
10612
+ NotificationManagerInstance,
10613
+ NotificationManagerModule,
10614
+ WebNotificationInfo,
10615
+ WebNotificationProperties,
10530
10616
  ExtensionInfo,
10531
10617
  ServeRequest,
10532
10618
  AppAssetServeRequest,
@@ -10821,6 +10907,7 @@ declare type Permissions_2 = {
10821
10907
  Clipboard?: Partial<ClipboardApiPermissions>;
10822
10908
  webAPIs?: WebPermission[];
10823
10909
  devices?: DeviceInfo[];
10910
+ NotificationManager?: Partial<NotificationManagerPermissions>;
10824
10911
  };
10825
10912
 
10826
10913
  declare type PermissionState_2 = 'granted' | 'denied' | 'unavailable';
@@ -13072,6 +13159,10 @@ declare type ProtocolMap = ExternalAdapterOnlyCallsMap & AnalyticsProtocolMap &
13072
13159
  transitions: OpenFin.Transition;
13073
13160
  options: OpenFin.TransitionOptions;
13074
13161
  }>;
13162
+ 'activate-window-and-focus': ApiCall<{
13163
+ winIdentity: OpenFin.Identity;
13164
+ focusIdentity: OpenFin.Identity;
13165
+ }, boolean>;
13075
13166
  'get-all-frames': IdentityCall<{}, OpenFin.FrameInfo[]>;
13076
13167
  'get-window-bounds': IdentityCall<{
13077
13168
  options?: OpenFin.GetBoundsOptions;
@@ -13694,6 +13785,34 @@ declare type ProtocolMap = ExternalAdapterOnlyCallsMap & AnalyticsProtocolMap &
13694
13785
  };
13695
13786
  response: void;
13696
13787
  };
13788
+ 'launch-log-uploader': ApiCall<{
13789
+ options: OpenFin.LogUploaderOptions;
13790
+ }, void> & {
13791
+ apiPath: '.launchLogUploader';
13792
+ namespace: 'System';
13793
+ };
13794
+ 'dispatch-notification-event': {
13795
+ request: {
13796
+ notificationId: string;
13797
+ type: 'close' | 'show' | 'click';
13798
+ };
13799
+ response: void;
13800
+ };
13801
+ 'init-notification-manager': {
13802
+ request: {};
13803
+ response: {
13804
+ managerId: string;
13805
+ };
13806
+ apiPath: '.init';
13807
+ secure: true;
13808
+ namespace: 'NotificationManager';
13809
+ };
13810
+ 'destroy-notification-manager': {
13811
+ request: {
13812
+ managerId: string;
13813
+ };
13814
+ response: void;
13815
+ };
13697
13816
  };
13698
13817
 
13699
13818
  declare type ProtocolOffer = ClassicProtocolOffer | RTCProtocolOffer;
@@ -16224,6 +16343,10 @@ declare class System extends EmitterBase<OpenFin.SystemEvent> {
16224
16343
  * Not indended for general use, will be used by the `@openfin/workspace-platform` package.
16225
16344
  */
16226
16345
  serveAsset(options: OpenFin.ServeAssetOptions): Promise<OpenFin.ServedAssetInfo>;
16346
+ /**
16347
+ * Launches the Log Uploader. Full documentation can be found [here](https://resources.here.io/docs/core/develop/debug/log-uploader/).
16348
+ */
16349
+ launchLogUploader(options: OpenFin.LogUploaderOptions): Promise<void>;
16227
16350
  }
16228
16351
 
16229
16352
  /**
@@ -18718,6 +18841,19 @@ declare namespace WebContentsEvents {
18718
18841
  }
18719
18842
  }
18720
18843
 
18844
+ declare type WebNotificationInfo = {
18845
+ notificationId: string;
18846
+ properties: WebNotificationProperties;
18847
+ url: string;
18848
+ images: {
18849
+ icon?: string;
18850
+ badge?: string;
18851
+ image?: string;
18852
+ };
18853
+ };
18854
+
18855
+ declare type WebNotificationProperties = Pick<Notification, 'tag' | 'body' | 'data' | 'dir' | 'icon' | 'lang' | 'title'>;
18856
+
18721
18857
  /**
18722
18858
  * Defines the type of requested web APIs permission.
18723
18859
  *
@@ -18863,6 +18999,30 @@ declare class _Window extends WebContents<OpenFin.WindowEvent> {
18863
18999
  * ```
18864
19000
  */
18865
19001
  getAllFrames(): Promise<Array<OpenFin.FrameInfo>>;
19002
+ /**
19003
+ * Activates the current window and focuses the child entity if it exists. If this does
19004
+ * not succeed - say the child does not belong to this window, or the identity does not exist -
19005
+ * it will return false.
19006
+ *
19007
+ * @example
19008
+ * ```js
19009
+ * const win = fin.Window.wrapSync({ uuid: 'myApp', name: 'myOtherWindow' });
19010
+ *
19011
+ * win.getCurrentViews()
19012
+ * .then(([view1]) => {
19013
+ * return win.activateAndFocus(view1.identity);
19014
+ * })
19015
+ * .then(success => {
19016
+ * if (success) {
19017
+ * console.log('Window activated and child focused');
19018
+ * } else {
19019
+ * console.log('Window activation failed, focus state unchanged');
19020
+ * }
19021
+ * })
19022
+ * .catch(console.error);
19023
+ * ```
19024
+ */
19025
+ activateAndFocus(childIdentityToFocus: OpenFin.Identity): Promise<boolean>;
18866
19026
  /**
18867
19027
  * Gets the current bounds (top, bottom, right, left, width, height) of the window.
18868
19028
  *
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openfin/fdc3-api",
3
- "version": "42.100.91",
3
+ "version": "42.100.94",
4
4
  "description": "OpenFin fdc3 module utilities and types.",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "private": false,