@openfin/remote-adapter 38.81.24 → 38.81.30

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.
@@ -825,7 +825,7 @@ declare class Application extends EmitterBase<OpenFin.ApplicationEvent> {
825
825
  */
826
826
  showTrayIconPopupMenu<Data>(options: OpenFin.ShowTrayIconPopupMenuOptions<Data>): Promise<OpenFin.MenuResult<Data>>;
827
827
  /**
828
- * CLoses the tray icon menu.
828
+ * Closes the tray icon menu.
829
829
  *
830
830
  * @throws if the application has no tray icon set
831
831
  * @example
@@ -934,7 +934,7 @@ declare type ApplicationIdentity_2 = {
934
934
  * @interface
935
935
  */
936
936
  declare type ApplicationInfo = {
937
- initialOptions: ApplicationCreationOptions | PlatformOptions;
937
+ initialOptions: WithUserAppConfigArgs & (ApplicationCreationOptions | PlatformOptions);
938
938
  launchMode: string;
939
939
  manifest: Manifest & {
940
940
  [key: string]: any;
@@ -4545,6 +4545,17 @@ declare type DeviceInfo = {
4545
4545
  productId: string | number;
4546
4546
  };
4547
4547
 
4548
+ /**
4549
+ * Permission string keys for device APIs
4550
+ *
4551
+ * @remarks We currently only support USB and HID devices. Permissions for individual devices
4552
+ * must be granted in {@link Permissions.devices}.
4553
+ *
4554
+ * `usb`: Access to one or more USB devices
4555
+ * `hid : Access to one or more HID devices
4556
+ */
4557
+ declare type DevicePermissionName = 'usb' | 'hid';
4558
+
4548
4559
  /**
4549
4560
  * Generated when a page's theme color changes. This is usually due to encountering a meta tag.
4550
4561
  * @interface
@@ -9866,6 +9877,8 @@ declare namespace OpenFin {
9866
9877
  ApplicationPermissions,
9867
9878
  LaunchExternalProcessRule,
9868
9879
  SystemPermissions,
9880
+ DevicePermissionName,
9881
+ WebPermissionName,
9869
9882
  WebPermission,
9870
9883
  VerboseWebPermission,
9871
9884
  OpenExternalPermission,
@@ -9929,6 +9942,7 @@ declare namespace OpenFin {
9929
9942
  AppVersionError,
9930
9943
  AppVersionRuntimeInfo,
9931
9944
  LaunchEmitter,
9945
+ UserAppConfigArgs,
9932
9946
  RvmLaunchOptions,
9933
9947
  ShortCutConfig,
9934
9948
  TerminateExternalRequestType,
@@ -12754,7 +12768,7 @@ declare type RunRequestedEvent = OpenFin.ApplicationEvents.RunRequestedEvent;
12754
12768
  declare type RunRequestedEvent_2 = BaseEvents.IdentityEvent & {
12755
12769
  topic: 'application';
12756
12770
  type: 'run-requested';
12757
- userAppConfigArgs: Record<string, any>;
12771
+ userAppConfigArgs: OpenFin.UserAppConfigArgs;
12758
12772
  manifest: OpenFin.Manifest;
12759
12773
  };
12760
12774
 
@@ -12869,7 +12883,7 @@ declare type RvmLaunchOptions = {
12869
12883
  * True if no UI when launching
12870
12884
  */
12871
12885
  noUi?: boolean;
12872
- userAppConfigArgs?: object;
12886
+ userAppConfigArgs?: UserAppConfigArgs;
12873
12887
  /**
12874
12888
  * Timeout in seconds until RVM launch request expires.
12875
12889
  */
@@ -14671,8 +14685,13 @@ declare class System extends EmitterBase<OpenFin.SystemEvent> {
14671
14685
  launchManifest(manifestUrl: string, opts?: OpenFin.RvmLaunchOptions): Promise<OpenFin.Manifest>;
14672
14686
  /**
14673
14687
  * Query permission of a secured api in current context.
14688
+ *
14674
14689
  * @param apiName - The full name of a secured API.
14675
14690
  *
14691
+ * @remarks If a function has a structured permission value, the value of `granted` will reflect the `enabled` key
14692
+ * of the call's permissions literal. In this case, *permission may still be denied to a call* pending arguments or other
14693
+ * runtime state. This is indicated with `state: unavailable`.
14694
+ *
14676
14695
  * @example
14677
14696
  * ```js
14678
14697
  * fin.System.queryPermissionForCurrentContext('System.launchExternalProcess').then(result => console.log(result)).catch(err => console.log(err));
@@ -15393,6 +15412,11 @@ declare type UrlChangedEvent = BaseUrlEvent & ({
15393
15412
  httpStatusText: string;
15394
15413
  });
15395
15414
 
15415
+ /**
15416
+ * @interface
15417
+ */
15418
+ declare type UserAppConfigArgs = Record<string, string | string[]>;
15419
+
15396
15420
  /**
15397
15421
  * A general user bounds change event without event type.
15398
15422
  * @interface
@@ -17247,18 +17271,38 @@ declare namespace WebContentsEvents {
17247
17271
  *
17248
17272
  * @remarks We only support those web APIs listed by electron.
17249
17273
  *
17250
- * `audio`: Request access to audio devices.<br>
17251
- * `video`: Request access to video devices.<br>
17252
- * `geolocation`: Request access to user's current location.<br>
17274
+ * `audio`: Access to audio devices.<br>
17275
+ * `video`: Access to video devices.<br>
17276
+ * `geolocation`: Access to user's current location.<br>
17253
17277
  * `notifications`: Request notification creation and the ability to display them in the user's system tray.<br>
17254
- * `midiSysex`: Request the use of system exclusive messages in the webmidi API.<br>
17255
- * `pointerLock`: Request to directly interpret mouse movements as an input method.<br>
17256
- * `fullscreen`: Request for the app to enter fullscreen mode.<br>
17257
- * `openExternal`: Request to open links in external applications.<br>
17258
- * `clipboard-read`: Request access to read from the clipboard.<br>
17259
- * `clipboard-sanitized-write`: Request access to write to the clipboard.
17278
+ * `midiSysex`: Use of system exclusive messages in the webmidi API.<br>
17279
+ * `pointerLock`: Access to mouse movements as an input method.<br>
17280
+ * `fullscreen`: Access to fullscreen mode.<br>
17281
+ * `openExternal`: Access to open links in external applications.<br>
17282
+ * `clipboard-read`: Access to read from the clipboard.<br>
17283
+ * `clipboard-sanitized-write`: Access to write to the clipboard.
17284
+ * `usb`: Access to one or more USB devices
17285
+ * `hid : Access to one or more HID devices
17260
17286
  */
17261
- declare type WebPermission = 'audio' | 'video' | 'geolocation' | 'notifications' | 'midiSysex' | 'pointerLock' | 'fullscreen' | 'openExternal' | 'clipboard-read' | 'clipboard-sanitized-write' | 'hid' | 'usb' | OpenExternalPermission;
17287
+ declare type WebPermission = WebPermissionName | DevicePermissionName | OpenExternalPermission;
17288
+
17289
+ /**
17290
+ * Permission string keys for webAPIs
17291
+ *
17292
+ * @remarks We only support those web APIs listed by electron.
17293
+ *
17294
+ * `audio`: Access to audio devices.<br>
17295
+ * `video`: Access to video devices.<br>
17296
+ * `geolocation`: Access to user's current location.<br>
17297
+ * `notifications`: Request notification creation and the ability to display them in the user's system tray.<br>
17298
+ * `midiSysex`: Use of system exclusive messages in the webmidi API.<br>
17299
+ * `pointerLock`: Access to mouse movements as an input method.<br>
17300
+ * `fullscreen`: Access to fullscreen mode.<br>
17301
+ * `openExternal`: Access to open links in external applications.<br>
17302
+ * `clipboard-read`: Access to read from the clipboard.<br>
17303
+ * `clipboard-sanitized-write`: Access to write to the clipboard.
17304
+ */
17305
+ declare type WebPermissionName = 'audio' | 'video' | 'geolocation' | 'notifications' | 'midiSysex' | 'pointerLock' | 'fullscreen' | 'openExternal' | 'clipboard-read' | 'clipboard-sanitized-write';
17262
17306
 
17263
17307
  /**
17264
17308
  * Object representing headers and their values, where the
@@ -18779,6 +18823,32 @@ declare type WithPositioningOptions<T extends {} = {}> = T & {
18779
18823
  positioningOptions?: OpenFin.PositioningOptions;
18780
18824
  };
18781
18825
 
18826
+ declare type WithUserAppConfigArgs = {
18827
+ /**
18828
+ * Represents the key-value pairs for the parameters passed into any fin:// or fins:// link
18829
+ * that launches this application.
18830
+ *
18831
+ * @remarks
18832
+ * In the link, user defined parameters are separated by the `$$` delimeter, for example:
18833
+ * `fins://path.to/app/manifest.json?$$use-last-configuration=true`
18834
+ *
18835
+ * Results in the following object:
18836
+ * ```json
18837
+ * {
18838
+ * "use-last-configuration": true"
18839
+ * }
18840
+ * ```
18841
+ *
18842
+ * These args can be accessed via the {@link ApplicationInfo.initialOptions} object:
18843
+ * ```typescript
18844
+ * const appInfo = await fin.Application.getCurrentSync().getInfo();
18845
+ * const { userAppConfigArgs } = appInfo.initialOptions;
18846
+ * console.log(userAppConfigArgs['use-last-configuration']); // 'true'
18847
+ * ```
18848
+ */
18849
+ userAppConfigArgs?: UserAppConfigArgs;
18850
+ };
18851
+
18782
18852
  /* Excluded from this release type: WorkspacePlatformOptions */
18783
18853
 
18784
18854
  /**
@@ -825,7 +825,7 @@ declare class Application extends EmitterBase<OpenFin.ApplicationEvent> {
825
825
  */
826
826
  showTrayIconPopupMenu<Data>(options: OpenFin.ShowTrayIconPopupMenuOptions<Data>): Promise<OpenFin.MenuResult<Data>>;
827
827
  /**
828
- * CLoses the tray icon menu.
828
+ * Closes the tray icon menu.
829
829
  *
830
830
  * @throws if the application has no tray icon set
831
831
  * @example
@@ -934,7 +934,7 @@ declare type ApplicationIdentity_2 = {
934
934
  * @interface
935
935
  */
936
936
  declare type ApplicationInfo = {
937
- initialOptions: ApplicationCreationOptions | PlatformOptions;
937
+ initialOptions: WithUserAppConfigArgs & (ApplicationCreationOptions | PlatformOptions);
938
938
  launchMode: string;
939
939
  manifest: Manifest & {
940
940
  [key: string]: any;
@@ -4545,6 +4545,17 @@ declare type DeviceInfo = {
4545
4545
  productId: string | number;
4546
4546
  };
4547
4547
 
4548
+ /**
4549
+ * Permission string keys for device APIs
4550
+ *
4551
+ * @remarks We currently only support USB and HID devices. Permissions for individual devices
4552
+ * must be granted in {@link Permissions.devices}.
4553
+ *
4554
+ * `usb`: Access to one or more USB devices
4555
+ * `hid : Access to one or more HID devices
4556
+ */
4557
+ declare type DevicePermissionName = 'usb' | 'hid';
4558
+
4548
4559
  /**
4549
4560
  * Generated when a page's theme color changes. This is usually due to encountering a meta tag.
4550
4561
  * @interface
@@ -9866,6 +9877,8 @@ declare namespace OpenFin {
9866
9877
  ApplicationPermissions,
9867
9878
  LaunchExternalProcessRule,
9868
9879
  SystemPermissions,
9880
+ DevicePermissionName,
9881
+ WebPermissionName,
9869
9882
  WebPermission,
9870
9883
  VerboseWebPermission,
9871
9884
  OpenExternalPermission,
@@ -9929,6 +9942,7 @@ declare namespace OpenFin {
9929
9942
  AppVersionError,
9930
9943
  AppVersionRuntimeInfo,
9931
9944
  LaunchEmitter,
9945
+ UserAppConfigArgs,
9932
9946
  RvmLaunchOptions,
9933
9947
  ShortCutConfig,
9934
9948
  TerminateExternalRequestType,
@@ -12754,7 +12768,7 @@ declare type RunRequestedEvent = OpenFin.ApplicationEvents.RunRequestedEvent;
12754
12768
  declare type RunRequestedEvent_2 = BaseEvents.IdentityEvent & {
12755
12769
  topic: 'application';
12756
12770
  type: 'run-requested';
12757
- userAppConfigArgs: Record<string, any>;
12771
+ userAppConfigArgs: OpenFin.UserAppConfigArgs;
12758
12772
  manifest: OpenFin.Manifest;
12759
12773
  };
12760
12774
 
@@ -12869,7 +12883,7 @@ declare type RvmLaunchOptions = {
12869
12883
  * True if no UI when launching
12870
12884
  */
12871
12885
  noUi?: boolean;
12872
- userAppConfigArgs?: object;
12886
+ userAppConfigArgs?: UserAppConfigArgs;
12873
12887
  /**
12874
12888
  * Timeout in seconds until RVM launch request expires.
12875
12889
  */
@@ -14671,8 +14685,13 @@ declare class System extends EmitterBase<OpenFin.SystemEvent> {
14671
14685
  launchManifest(manifestUrl: string, opts?: OpenFin.RvmLaunchOptions): Promise<OpenFin.Manifest>;
14672
14686
  /**
14673
14687
  * Query permission of a secured api in current context.
14688
+ *
14674
14689
  * @param apiName - The full name of a secured API.
14675
14690
  *
14691
+ * @remarks If a function has a structured permission value, the value of `granted` will reflect the `enabled` key
14692
+ * of the call's permissions literal. In this case, *permission may still be denied to a call* pending arguments or other
14693
+ * runtime state. This is indicated with `state: unavailable`.
14694
+ *
14676
14695
  * @example
14677
14696
  * ```js
14678
14697
  * fin.System.queryPermissionForCurrentContext('System.launchExternalProcess').then(result => console.log(result)).catch(err => console.log(err));
@@ -15393,6 +15412,11 @@ declare type UrlChangedEvent = BaseUrlEvent & ({
15393
15412
  httpStatusText: string;
15394
15413
  });
15395
15414
 
15415
+ /**
15416
+ * @interface
15417
+ */
15418
+ declare type UserAppConfigArgs = Record<string, string | string[]>;
15419
+
15396
15420
  /**
15397
15421
  * A general user bounds change event without event type.
15398
15422
  * @interface
@@ -17247,18 +17271,38 @@ declare namespace WebContentsEvents {
17247
17271
  *
17248
17272
  * @remarks We only support those web APIs listed by electron.
17249
17273
  *
17250
- * `audio`: Request access to audio devices.<br>
17251
- * `video`: Request access to video devices.<br>
17252
- * `geolocation`: Request access to user's current location.<br>
17274
+ * `audio`: Access to audio devices.<br>
17275
+ * `video`: Access to video devices.<br>
17276
+ * `geolocation`: Access to user's current location.<br>
17253
17277
  * `notifications`: Request notification creation and the ability to display them in the user's system tray.<br>
17254
- * `midiSysex`: Request the use of system exclusive messages in the webmidi API.<br>
17255
- * `pointerLock`: Request to directly interpret mouse movements as an input method.<br>
17256
- * `fullscreen`: Request for the app to enter fullscreen mode.<br>
17257
- * `openExternal`: Request to open links in external applications.<br>
17258
- * `clipboard-read`: Request access to read from the clipboard.<br>
17259
- * `clipboard-sanitized-write`: Request access to write to the clipboard.
17278
+ * `midiSysex`: Use of system exclusive messages in the webmidi API.<br>
17279
+ * `pointerLock`: Access to mouse movements as an input method.<br>
17280
+ * `fullscreen`: Access to fullscreen mode.<br>
17281
+ * `openExternal`: Access to open links in external applications.<br>
17282
+ * `clipboard-read`: Access to read from the clipboard.<br>
17283
+ * `clipboard-sanitized-write`: Access to write to the clipboard.
17284
+ * `usb`: Access to one or more USB devices
17285
+ * `hid : Access to one or more HID devices
17260
17286
  */
17261
- declare type WebPermission = 'audio' | 'video' | 'geolocation' | 'notifications' | 'midiSysex' | 'pointerLock' | 'fullscreen' | 'openExternal' | 'clipboard-read' | 'clipboard-sanitized-write' | 'hid' | 'usb' | OpenExternalPermission;
17287
+ declare type WebPermission = WebPermissionName | DevicePermissionName | OpenExternalPermission;
17288
+
17289
+ /**
17290
+ * Permission string keys for webAPIs
17291
+ *
17292
+ * @remarks We only support those web APIs listed by electron.
17293
+ *
17294
+ * `audio`: Access to audio devices.<br>
17295
+ * `video`: Access to video devices.<br>
17296
+ * `geolocation`: Access to user's current location.<br>
17297
+ * `notifications`: Request notification creation and the ability to display them in the user's system tray.<br>
17298
+ * `midiSysex`: Use of system exclusive messages in the webmidi API.<br>
17299
+ * `pointerLock`: Access to mouse movements as an input method.<br>
17300
+ * `fullscreen`: Access to fullscreen mode.<br>
17301
+ * `openExternal`: Access to open links in external applications.<br>
17302
+ * `clipboard-read`: Access to read from the clipboard.<br>
17303
+ * `clipboard-sanitized-write`: Access to write to the clipboard.
17304
+ */
17305
+ declare type WebPermissionName = 'audio' | 'video' | 'geolocation' | 'notifications' | 'midiSysex' | 'pointerLock' | 'fullscreen' | 'openExternal' | 'clipboard-read' | 'clipboard-sanitized-write';
17262
17306
 
17263
17307
  /**
17264
17308
  * Object representing headers and their values, where the
@@ -18779,6 +18823,32 @@ declare type WithPositioningOptions<T extends {} = {}> = T & {
18779
18823
  positioningOptions?: OpenFin.PositioningOptions;
18780
18824
  };
18781
18825
 
18826
+ declare type WithUserAppConfigArgs = {
18827
+ /**
18828
+ * Represents the key-value pairs for the parameters passed into any fin:// or fins:// link
18829
+ * that launches this application.
18830
+ *
18831
+ * @remarks
18832
+ * In the link, user defined parameters are separated by the `$$` delimeter, for example:
18833
+ * `fins://path.to/app/manifest.json?$$use-last-configuration=true`
18834
+ *
18835
+ * Results in the following object:
18836
+ * ```json
18837
+ * {
18838
+ * "use-last-configuration": true"
18839
+ * }
18840
+ * ```
18841
+ *
18842
+ * These args can be accessed via the {@link ApplicationInfo.initialOptions} object:
18843
+ * ```typescript
18844
+ * const appInfo = await fin.Application.getCurrentSync().getInfo();
18845
+ * const { userAppConfigArgs } = appInfo.initialOptions;
18846
+ * console.log(userAppConfigArgs['use-last-configuration']); // 'true'
18847
+ * ```
18848
+ */
18849
+ userAppConfigArgs?: UserAppConfigArgs;
18850
+ };
18851
+
18782
18852
  /* Excluded from this release type: WorkspacePlatformOptions */
18783
18853
 
18784
18854
  /**
@@ -825,7 +825,7 @@ declare class Application extends EmitterBase<OpenFin.ApplicationEvent> {
825
825
  */
826
826
  showTrayIconPopupMenu<Data>(options: OpenFin.ShowTrayIconPopupMenuOptions<Data>): Promise<OpenFin.MenuResult<Data>>;
827
827
  /**
828
- * CLoses the tray icon menu.
828
+ * Closes the tray icon menu.
829
829
  *
830
830
  * @throws if the application has no tray icon set
831
831
  * @example
@@ -934,7 +934,7 @@ declare type ApplicationIdentity_2 = {
934
934
  * @interface
935
935
  */
936
936
  declare type ApplicationInfo = {
937
- initialOptions: ApplicationCreationOptions | PlatformOptions;
937
+ initialOptions: WithUserAppConfigArgs & (ApplicationCreationOptions | PlatformOptions);
938
938
  launchMode: string;
939
939
  manifest: Manifest & {
940
940
  [key: string]: any;
@@ -4545,6 +4545,17 @@ declare type DeviceInfo = {
4545
4545
  productId: string | number;
4546
4546
  };
4547
4547
 
4548
+ /**
4549
+ * Permission string keys for device APIs
4550
+ *
4551
+ * @remarks We currently only support USB and HID devices. Permissions for individual devices
4552
+ * must be granted in {@link Permissions.devices}.
4553
+ *
4554
+ * `usb`: Access to one or more USB devices
4555
+ * `hid : Access to one or more HID devices
4556
+ */
4557
+ declare type DevicePermissionName = 'usb' | 'hid';
4558
+
4548
4559
  /**
4549
4560
  * Generated when a page's theme color changes. This is usually due to encountering a meta tag.
4550
4561
  * @interface
@@ -9866,6 +9877,8 @@ declare namespace OpenFin {
9866
9877
  ApplicationPermissions,
9867
9878
  LaunchExternalProcessRule,
9868
9879
  SystemPermissions,
9880
+ DevicePermissionName,
9881
+ WebPermissionName,
9869
9882
  WebPermission,
9870
9883
  VerboseWebPermission,
9871
9884
  OpenExternalPermission,
@@ -9929,6 +9942,7 @@ declare namespace OpenFin {
9929
9942
  AppVersionError,
9930
9943
  AppVersionRuntimeInfo,
9931
9944
  LaunchEmitter,
9945
+ UserAppConfigArgs,
9932
9946
  RvmLaunchOptions,
9933
9947
  ShortCutConfig,
9934
9948
  TerminateExternalRequestType,
@@ -12754,7 +12768,7 @@ declare type RunRequestedEvent = OpenFin.ApplicationEvents.RunRequestedEvent;
12754
12768
  declare type RunRequestedEvent_2 = BaseEvents.IdentityEvent & {
12755
12769
  topic: 'application';
12756
12770
  type: 'run-requested';
12757
- userAppConfigArgs: Record<string, any>;
12771
+ userAppConfigArgs: OpenFin.UserAppConfigArgs;
12758
12772
  manifest: OpenFin.Manifest;
12759
12773
  };
12760
12774
 
@@ -12869,7 +12883,7 @@ declare type RvmLaunchOptions = {
12869
12883
  * True if no UI when launching
12870
12884
  */
12871
12885
  noUi?: boolean;
12872
- userAppConfigArgs?: object;
12886
+ userAppConfigArgs?: UserAppConfigArgs;
12873
12887
  /**
12874
12888
  * Timeout in seconds until RVM launch request expires.
12875
12889
  */
@@ -14671,8 +14685,13 @@ declare class System extends EmitterBase<OpenFin.SystemEvent> {
14671
14685
  launchManifest(manifestUrl: string, opts?: OpenFin.RvmLaunchOptions): Promise<OpenFin.Manifest>;
14672
14686
  /**
14673
14687
  * Query permission of a secured api in current context.
14688
+ *
14674
14689
  * @param apiName - The full name of a secured API.
14675
14690
  *
14691
+ * @remarks If a function has a structured permission value, the value of `granted` will reflect the `enabled` key
14692
+ * of the call's permissions literal. In this case, *permission may still be denied to a call* pending arguments or other
14693
+ * runtime state. This is indicated with `state: unavailable`.
14694
+ *
14676
14695
  * @example
14677
14696
  * ```js
14678
14697
  * fin.System.queryPermissionForCurrentContext('System.launchExternalProcess').then(result => console.log(result)).catch(err => console.log(err));
@@ -15393,6 +15412,11 @@ declare type UrlChangedEvent = BaseUrlEvent & ({
15393
15412
  httpStatusText: string;
15394
15413
  });
15395
15414
 
15415
+ /**
15416
+ * @interface
15417
+ */
15418
+ declare type UserAppConfigArgs = Record<string, string | string[]>;
15419
+
15396
15420
  /**
15397
15421
  * A general user bounds change event without event type.
15398
15422
  * @interface
@@ -17247,18 +17271,38 @@ declare namespace WebContentsEvents {
17247
17271
  *
17248
17272
  * @remarks We only support those web APIs listed by electron.
17249
17273
  *
17250
- * `audio`: Request access to audio devices.<br>
17251
- * `video`: Request access to video devices.<br>
17252
- * `geolocation`: Request access to user's current location.<br>
17274
+ * `audio`: Access to audio devices.<br>
17275
+ * `video`: Access to video devices.<br>
17276
+ * `geolocation`: Access to user's current location.<br>
17253
17277
  * `notifications`: Request notification creation and the ability to display them in the user's system tray.<br>
17254
- * `midiSysex`: Request the use of system exclusive messages in the webmidi API.<br>
17255
- * `pointerLock`: Request to directly interpret mouse movements as an input method.<br>
17256
- * `fullscreen`: Request for the app to enter fullscreen mode.<br>
17257
- * `openExternal`: Request to open links in external applications.<br>
17258
- * `clipboard-read`: Request access to read from the clipboard.<br>
17259
- * `clipboard-sanitized-write`: Request access to write to the clipboard.
17278
+ * `midiSysex`: Use of system exclusive messages in the webmidi API.<br>
17279
+ * `pointerLock`: Access to mouse movements as an input method.<br>
17280
+ * `fullscreen`: Access to fullscreen mode.<br>
17281
+ * `openExternal`: Access to open links in external applications.<br>
17282
+ * `clipboard-read`: Access to read from the clipboard.<br>
17283
+ * `clipboard-sanitized-write`: Access to write to the clipboard.
17284
+ * `usb`: Access to one or more USB devices
17285
+ * `hid : Access to one or more HID devices
17260
17286
  */
17261
- declare type WebPermission = 'audio' | 'video' | 'geolocation' | 'notifications' | 'midiSysex' | 'pointerLock' | 'fullscreen' | 'openExternal' | 'clipboard-read' | 'clipboard-sanitized-write' | 'hid' | 'usb' | OpenExternalPermission;
17287
+ declare type WebPermission = WebPermissionName | DevicePermissionName | OpenExternalPermission;
17288
+
17289
+ /**
17290
+ * Permission string keys for webAPIs
17291
+ *
17292
+ * @remarks We only support those web APIs listed by electron.
17293
+ *
17294
+ * `audio`: Access to audio devices.<br>
17295
+ * `video`: Access to video devices.<br>
17296
+ * `geolocation`: Access to user's current location.<br>
17297
+ * `notifications`: Request notification creation and the ability to display them in the user's system tray.<br>
17298
+ * `midiSysex`: Use of system exclusive messages in the webmidi API.<br>
17299
+ * `pointerLock`: Access to mouse movements as an input method.<br>
17300
+ * `fullscreen`: Access to fullscreen mode.<br>
17301
+ * `openExternal`: Access to open links in external applications.<br>
17302
+ * `clipboard-read`: Access to read from the clipboard.<br>
17303
+ * `clipboard-sanitized-write`: Access to write to the clipboard.
17304
+ */
17305
+ declare type WebPermissionName = 'audio' | 'video' | 'geolocation' | 'notifications' | 'midiSysex' | 'pointerLock' | 'fullscreen' | 'openExternal' | 'clipboard-read' | 'clipboard-sanitized-write';
17262
17306
 
17263
17307
  /**
17264
17308
  * Object representing headers and their values, where the
@@ -18779,6 +18823,32 @@ declare type WithPositioningOptions<T extends {} = {}> = T & {
18779
18823
  positioningOptions?: OpenFin.PositioningOptions;
18780
18824
  };
18781
18825
 
18826
+ declare type WithUserAppConfigArgs = {
18827
+ /**
18828
+ * Represents the key-value pairs for the parameters passed into any fin:// or fins:// link
18829
+ * that launches this application.
18830
+ *
18831
+ * @remarks
18832
+ * In the link, user defined parameters are separated by the `$$` delimeter, for example:
18833
+ * `fins://path.to/app/manifest.json?$$use-last-configuration=true`
18834
+ *
18835
+ * Results in the following object:
18836
+ * ```json
18837
+ * {
18838
+ * "use-last-configuration": true"
18839
+ * }
18840
+ * ```
18841
+ *
18842
+ * These args can be accessed via the {@link ApplicationInfo.initialOptions} object:
18843
+ * ```typescript
18844
+ * const appInfo = await fin.Application.getCurrentSync().getInfo();
18845
+ * const { userAppConfigArgs } = appInfo.initialOptions;
18846
+ * console.log(userAppConfigArgs['use-last-configuration']); // 'true'
18847
+ * ```
18848
+ */
18849
+ userAppConfigArgs?: UserAppConfigArgs;
18850
+ };
18851
+
18782
18852
  /* Excluded from this release type: WorkspacePlatformOptions */
18783
18853
 
18784
18854
  /**
@@ -831,7 +831,7 @@ declare class Application extends EmitterBase<OpenFin.ApplicationEvent> {
831
831
  */
832
832
  showTrayIconPopupMenu<Data>(options: OpenFin.ShowTrayIconPopupMenuOptions<Data>): Promise<OpenFin.MenuResult<Data>>;
833
833
  /**
834
- * CLoses the tray icon menu.
834
+ * Closes the tray icon menu.
835
835
  *
836
836
  * @throws if the application has no tray icon set
837
837
  * @example
@@ -940,7 +940,7 @@ declare type ApplicationIdentity_2 = {
940
940
  * @interface
941
941
  */
942
942
  declare type ApplicationInfo = {
943
- initialOptions: ApplicationCreationOptions | PlatformOptions;
943
+ initialOptions: WithUserAppConfigArgs & (ApplicationCreationOptions | PlatformOptions);
944
944
  launchMode: string;
945
945
  manifest: Manifest & {
946
946
  [key: string]: any;
@@ -4604,6 +4604,17 @@ declare type DeviceInfo = {
4604
4604
  productId: string | number;
4605
4605
  };
4606
4606
 
4607
+ /**
4608
+ * Permission string keys for device APIs
4609
+ *
4610
+ * @remarks We currently only support USB and HID devices. Permissions for individual devices
4611
+ * must be granted in {@link Permissions.devices}.
4612
+ *
4613
+ * `usb`: Access to one or more USB devices
4614
+ * `hid : Access to one or more HID devices
4615
+ */
4616
+ declare type DevicePermissionName = 'usb' | 'hid';
4617
+
4607
4618
  /**
4608
4619
  * Generated when a page's theme color changes. This is usually due to encountering a meta tag.
4609
4620
  * @interface
@@ -10181,6 +10192,8 @@ declare namespace OpenFin {
10181
10192
  ApplicationPermissions,
10182
10193
  LaunchExternalProcessRule,
10183
10194
  SystemPermissions,
10195
+ DevicePermissionName,
10196
+ WebPermissionName,
10184
10197
  WebPermission,
10185
10198
  VerboseWebPermission,
10186
10199
  OpenExternalPermission,
@@ -10244,6 +10257,7 @@ declare namespace OpenFin {
10244
10257
  AppVersionError,
10245
10258
  AppVersionRuntimeInfo,
10246
10259
  LaunchEmitter,
10260
+ UserAppConfigArgs,
10247
10261
  RvmLaunchOptions,
10248
10262
  ShortCutConfig,
10249
10263
  TerminateExternalRequestType,
@@ -13147,7 +13161,7 @@ declare type RunRequestedEvent = OpenFin.ApplicationEvents.RunRequestedEvent;
13147
13161
  declare type RunRequestedEvent_2 = BaseEvents.IdentityEvent & {
13148
13162
  topic: 'application';
13149
13163
  type: 'run-requested';
13150
- userAppConfigArgs: Record<string, any>;
13164
+ userAppConfigArgs: OpenFin.UserAppConfigArgs;
13151
13165
  manifest: OpenFin.Manifest;
13152
13166
  };
13153
13167
 
@@ -13262,7 +13276,7 @@ declare type RvmLaunchOptions = {
13262
13276
  * True if no UI when launching
13263
13277
  */
13264
13278
  noUi?: boolean;
13265
- userAppConfigArgs?: object;
13279
+ userAppConfigArgs?: UserAppConfigArgs;
13266
13280
  /**
13267
13281
  * Timeout in seconds until RVM launch request expires.
13268
13282
  */
@@ -15070,8 +15084,13 @@ declare class System extends EmitterBase<OpenFin.SystemEvent> {
15070
15084
  launchManifest(manifestUrl: string, opts?: OpenFin.RvmLaunchOptions): Promise<OpenFin.Manifest>;
15071
15085
  /**
15072
15086
  * Query permission of a secured api in current context.
15087
+ *
15073
15088
  * @param apiName - The full name of a secured API.
15074
15089
  *
15090
+ * @remarks If a function has a structured permission value, the value of `granted` will reflect the `enabled` key
15091
+ * of the call's permissions literal. In this case, *permission may still be denied to a call* pending arguments or other
15092
+ * runtime state. This is indicated with `state: unavailable`.
15093
+ *
15075
15094
  * @example
15076
15095
  * ```js
15077
15096
  * fin.System.queryPermissionForCurrentContext('System.launchExternalProcess').then(result => console.log(result)).catch(err => console.log(err));
@@ -15799,6 +15818,11 @@ declare type UrlChangedEvent = BaseUrlEvent & ({
15799
15818
  httpStatusText: string;
15800
15819
  });
15801
15820
 
15821
+ /**
15822
+ * @interface
15823
+ */
15824
+ declare type UserAppConfigArgs = Record<string, string | string[]>;
15825
+
15802
15826
  /**
15803
15827
  * A general user bounds change event without event type.
15804
15828
  * @interface
@@ -17690,18 +17714,38 @@ declare namespace WebContentsEvents {
17690
17714
  *
17691
17715
  * @remarks We only support those web APIs listed by electron.
17692
17716
  *
17693
- * `audio`: Request access to audio devices.<br>
17694
- * `video`: Request access to video devices.<br>
17695
- * `geolocation`: Request access to user's current location.<br>
17717
+ * `audio`: Access to audio devices.<br>
17718
+ * `video`: Access to video devices.<br>
17719
+ * `geolocation`: Access to user's current location.<br>
17696
17720
  * `notifications`: Request notification creation and the ability to display them in the user's system tray.<br>
17697
- * `midiSysex`: Request the use of system exclusive messages in the webmidi API.<br>
17698
- * `pointerLock`: Request to directly interpret mouse movements as an input method.<br>
17699
- * `fullscreen`: Request for the app to enter fullscreen mode.<br>
17700
- * `openExternal`: Request to open links in external applications.<br>
17701
- * `clipboard-read`: Request access to read from the clipboard.<br>
17702
- * `clipboard-sanitized-write`: Request access to write to the clipboard.
17721
+ * `midiSysex`: Use of system exclusive messages in the webmidi API.<br>
17722
+ * `pointerLock`: Access to mouse movements as an input method.<br>
17723
+ * `fullscreen`: Access to fullscreen mode.<br>
17724
+ * `openExternal`: Access to open links in external applications.<br>
17725
+ * `clipboard-read`: Access to read from the clipboard.<br>
17726
+ * `clipboard-sanitized-write`: Access to write to the clipboard.
17727
+ * `usb`: Access to one or more USB devices
17728
+ * `hid : Access to one or more HID devices
17703
17729
  */
17704
- declare type WebPermission = 'audio' | 'video' | 'geolocation' | 'notifications' | 'midiSysex' | 'pointerLock' | 'fullscreen' | 'openExternal' | 'clipboard-read' | 'clipboard-sanitized-write' | 'hid' | 'usb' | OpenExternalPermission;
17730
+ declare type WebPermission = WebPermissionName | DevicePermissionName | OpenExternalPermission;
17731
+
17732
+ /**
17733
+ * Permission string keys for webAPIs
17734
+ *
17735
+ * @remarks We only support those web APIs listed by electron.
17736
+ *
17737
+ * `audio`: Access to audio devices.<br>
17738
+ * `video`: Access to video devices.<br>
17739
+ * `geolocation`: Access to user's current location.<br>
17740
+ * `notifications`: Request notification creation and the ability to display them in the user's system tray.<br>
17741
+ * `midiSysex`: Use of system exclusive messages in the webmidi API.<br>
17742
+ * `pointerLock`: Access to mouse movements as an input method.<br>
17743
+ * `fullscreen`: Access to fullscreen mode.<br>
17744
+ * `openExternal`: Access to open links in external applications.<br>
17745
+ * `clipboard-read`: Access to read from the clipboard.<br>
17746
+ * `clipboard-sanitized-write`: Access to write to the clipboard.
17747
+ */
17748
+ declare type WebPermissionName = 'audio' | 'video' | 'geolocation' | 'notifications' | 'midiSysex' | 'pointerLock' | 'fullscreen' | 'openExternal' | 'clipboard-read' | 'clipboard-sanitized-write';
17705
17749
 
17706
17750
  /**
17707
17751
  * Object representing headers and their values, where the
@@ -19231,6 +19275,32 @@ declare type WithPositioningOptions<T extends {} = {}> = T & {
19231
19275
  positioningOptions?: OpenFin.PositioningOptions;
19232
19276
  };
19233
19277
 
19278
+ declare type WithUserAppConfigArgs = {
19279
+ /**
19280
+ * Represents the key-value pairs for the parameters passed into any fin:// or fins:// link
19281
+ * that launches this application.
19282
+ *
19283
+ * @remarks
19284
+ * In the link, user defined parameters are separated by the `$$` delimeter, for example:
19285
+ * `fins://path.to/app/manifest.json?$$use-last-configuration=true`
19286
+ *
19287
+ * Results in the following object:
19288
+ * ```json
19289
+ * {
19290
+ * "use-last-configuration": true"
19291
+ * }
19292
+ * ```
19293
+ *
19294
+ * These args can be accessed via the {@link ApplicationInfo.initialOptions} object:
19295
+ * ```typescript
19296
+ * const appInfo = await fin.Application.getCurrentSync().getInfo();
19297
+ * const { userAppConfigArgs } = appInfo.initialOptions;
19298
+ * console.log(userAppConfigArgs['use-last-configuration']); // 'true'
19299
+ * ```
19300
+ */
19301
+ userAppConfigArgs?: UserAppConfigArgs;
19302
+ };
19303
+
19234
19304
  /**
19235
19305
  * @internal
19236
19306
  * @interface
@@ -7259,7 +7259,7 @@ function requireInstance$2 () {
7259
7259
  return payload.data;
7260
7260
  }
7261
7261
  /**
7262
- * CLoses the tray icon menu.
7262
+ * Closes the tray icon menu.
7263
7263
  *
7264
7264
  * @throws if the application has no tray icon set
7265
7265
  * @example
@@ -12110,8 +12110,13 @@ class System extends base_1$d.EmitterBase {
12110
12110
  }
12111
12111
  /**
12112
12112
  * Query permission of a secured api in current context.
12113
+ *
12113
12114
  * @param apiName - The full name of a secured API.
12114
12115
  *
12116
+ * @remarks If a function has a structured permission value, the value of `granted` will reflect the `enabled` key
12117
+ * of the call's permissions literal. In this case, *permission may still be denied to a call* pending arguments or other
12118
+ * runtime state. This is indicated with `state: unavailable`.
12119
+ *
12115
12120
  * @example
12116
12121
  * ```js
12117
12122
  * fin.System.queryPermissionForCurrentContext('System.launchExternalProcess').then(result => console.log(result)).catch(err => console.log(err));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openfin/remote-adapter",
3
- "version": "38.81.24",
3
+ "version": "38.81.30",
4
4
  "description": "Establish intermachine runtime connections using webRTC.",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "private": false,