@openfin/node-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;
@@ -4525,6 +4525,17 @@ declare type DeviceInfo = {
4525
4525
  productId: string | number;
4526
4526
  };
4527
4527
 
4528
+ /**
4529
+ * Permission string keys for device APIs
4530
+ *
4531
+ * @remarks We currently only support USB and HID devices. Permissions for individual devices
4532
+ * must be granted in {@link Permissions.devices}.
4533
+ *
4534
+ * `usb`: Access to one or more USB devices
4535
+ * `hid : Access to one or more HID devices
4536
+ */
4537
+ declare type DevicePermissionName = 'usb' | 'hid';
4538
+
4528
4539
  /**
4529
4540
  * Generated when a page's theme color changes. This is usually due to encountering a meta tag.
4530
4541
  * @interface
@@ -9833,6 +9844,8 @@ declare namespace OpenFin {
9833
9844
  ApplicationPermissions,
9834
9845
  LaunchExternalProcessRule,
9835
9846
  SystemPermissions,
9847
+ DevicePermissionName,
9848
+ WebPermissionName,
9836
9849
  WebPermission,
9837
9850
  VerboseWebPermission,
9838
9851
  OpenExternalPermission,
@@ -9896,6 +9909,7 @@ declare namespace OpenFin {
9896
9909
  AppVersionError,
9897
9910
  AppVersionRuntimeInfo,
9898
9911
  LaunchEmitter,
9912
+ UserAppConfigArgs,
9899
9913
  RvmLaunchOptions,
9900
9914
  ShortCutConfig,
9901
9915
  TerminateExternalRequestType,
@@ -12722,7 +12736,7 @@ declare type RunRequestedEvent = OpenFin.ApplicationEvents.RunRequestedEvent;
12722
12736
  declare type RunRequestedEvent_2 = BaseEvents.IdentityEvent & {
12723
12737
  topic: 'application';
12724
12738
  type: 'run-requested';
12725
- userAppConfigArgs: Record<string, any>;
12739
+ userAppConfigArgs: OpenFin.UserAppConfigArgs;
12726
12740
  manifest: OpenFin.Manifest;
12727
12741
  };
12728
12742
 
@@ -12837,7 +12851,7 @@ declare type RvmLaunchOptions = {
12837
12851
  * True if no UI when launching
12838
12852
  */
12839
12853
  noUi?: boolean;
12840
- userAppConfigArgs?: object;
12854
+ userAppConfigArgs?: UserAppConfigArgs;
12841
12855
  /**
12842
12856
  * Timeout in seconds until RVM launch request expires.
12843
12857
  */
@@ -14639,8 +14653,13 @@ declare class System extends EmitterBase<OpenFin.SystemEvent> {
14639
14653
  launchManifest(manifestUrl: string, opts?: OpenFin.RvmLaunchOptions): Promise<OpenFin.Manifest>;
14640
14654
  /**
14641
14655
  * Query permission of a secured api in current context.
14656
+ *
14642
14657
  * @param apiName - The full name of a secured API.
14643
14658
  *
14659
+ * @remarks If a function has a structured permission value, the value of `granted` will reflect the `enabled` key
14660
+ * of the call's permissions literal. In this case, *permission may still be denied to a call* pending arguments or other
14661
+ * runtime state. This is indicated with `state: unavailable`.
14662
+ *
14644
14663
  * @example
14645
14664
  * ```js
14646
14665
  * fin.System.queryPermissionForCurrentContext('System.launchExternalProcess').then(result => console.log(result)).catch(err => console.log(err));
@@ -15361,6 +15380,11 @@ declare type UrlChangedEvent = BaseUrlEvent & ({
15361
15380
  httpStatusText: string;
15362
15381
  });
15363
15382
 
15383
+ /**
15384
+ * @interface
15385
+ */
15386
+ declare type UserAppConfigArgs = Record<string, string | string[]>;
15387
+
15364
15388
  /**
15365
15389
  * A general user bounds change event without event type.
15366
15390
  * @interface
@@ -17215,18 +17239,38 @@ declare namespace WebContentsEvents {
17215
17239
  *
17216
17240
  * @remarks We only support those web APIs listed by electron.
17217
17241
  *
17218
- * `audio`: Request access to audio devices.<br>
17219
- * `video`: Request access to video devices.<br>
17220
- * `geolocation`: Request access to user's current location.<br>
17242
+ * `audio`: Access to audio devices.<br>
17243
+ * `video`: Access to video devices.<br>
17244
+ * `geolocation`: Access to user's current location.<br>
17221
17245
  * `notifications`: Request notification creation and the ability to display them in the user's system tray.<br>
17222
- * `midiSysex`: Request the use of system exclusive messages in the webmidi API.<br>
17223
- * `pointerLock`: Request to directly interpret mouse movements as an input method.<br>
17224
- * `fullscreen`: Request for the app to enter fullscreen mode.<br>
17225
- * `openExternal`: Request to open links in external applications.<br>
17226
- * `clipboard-read`: Request access to read from the clipboard.<br>
17227
- * `clipboard-sanitized-write`: Request access to write to the clipboard.
17246
+ * `midiSysex`: Use of system exclusive messages in the webmidi API.<br>
17247
+ * `pointerLock`: Access to mouse movements as an input method.<br>
17248
+ * `fullscreen`: Access to fullscreen mode.<br>
17249
+ * `openExternal`: Access to open links in external applications.<br>
17250
+ * `clipboard-read`: Access to read from the clipboard.<br>
17251
+ * `clipboard-sanitized-write`: Access to write to the clipboard.
17252
+ * `usb`: Access to one or more USB devices
17253
+ * `hid : Access to one or more HID devices
17228
17254
  */
17229
- declare type WebPermission = 'audio' | 'video' | 'geolocation' | 'notifications' | 'midiSysex' | 'pointerLock' | 'fullscreen' | 'openExternal' | 'clipboard-read' | 'clipboard-sanitized-write' | 'hid' | 'usb' | OpenExternalPermission;
17255
+ declare type WebPermission = WebPermissionName | DevicePermissionName | OpenExternalPermission;
17256
+
17257
+ /**
17258
+ * Permission string keys for webAPIs
17259
+ *
17260
+ * @remarks We only support those web APIs listed by electron.
17261
+ *
17262
+ * `audio`: Access to audio devices.<br>
17263
+ * `video`: Access to video devices.<br>
17264
+ * `geolocation`: Access to user's current location.<br>
17265
+ * `notifications`: Request notification creation and the ability to display them in the user's system tray.<br>
17266
+ * `midiSysex`: Use of system exclusive messages in the webmidi API.<br>
17267
+ * `pointerLock`: Access to mouse movements as an input method.<br>
17268
+ * `fullscreen`: Access to fullscreen mode.<br>
17269
+ * `openExternal`: Access to open links in external applications.<br>
17270
+ * `clipboard-read`: Access to read from the clipboard.<br>
17271
+ * `clipboard-sanitized-write`: Access to write to the clipboard.
17272
+ */
17273
+ declare type WebPermissionName = 'audio' | 'video' | 'geolocation' | 'notifications' | 'midiSysex' | 'pointerLock' | 'fullscreen' | 'openExternal' | 'clipboard-read' | 'clipboard-sanitized-write';
17230
17274
 
17231
17275
  /**
17232
17276
  * Object representing headers and their values, where the
@@ -18747,6 +18791,32 @@ declare type WithPositioningOptions<T extends {} = {}> = T & {
18747
18791
  positioningOptions?: OpenFin.PositioningOptions;
18748
18792
  };
18749
18793
 
18794
+ declare type WithUserAppConfigArgs = {
18795
+ /**
18796
+ * Represents the key-value pairs for the parameters passed into any fin:// or fins:// link
18797
+ * that launches this application.
18798
+ *
18799
+ * @remarks
18800
+ * In the link, user defined parameters are separated by the `$$` delimeter, for example:
18801
+ * `fins://path.to/app/manifest.json?$$use-last-configuration=true`
18802
+ *
18803
+ * Results in the following object:
18804
+ * ```json
18805
+ * {
18806
+ * "use-last-configuration": true"
18807
+ * }
18808
+ * ```
18809
+ *
18810
+ * These args can be accessed via the {@link ApplicationInfo.initialOptions} object:
18811
+ * ```typescript
18812
+ * const appInfo = await fin.Application.getCurrentSync().getInfo();
18813
+ * const { userAppConfigArgs } = appInfo.initialOptions;
18814
+ * console.log(userAppConfigArgs['use-last-configuration']); // 'true'
18815
+ * ```
18816
+ */
18817
+ userAppConfigArgs?: UserAppConfigArgs;
18818
+ };
18819
+
18750
18820
  /* Excluded from this release type: WorkspacePlatformOptions */
18751
18821
 
18752
18822
  /**
@@ -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;
@@ -4525,6 +4525,17 @@ declare type DeviceInfo = {
4525
4525
  productId: string | number;
4526
4526
  };
4527
4527
 
4528
+ /**
4529
+ * Permission string keys for device APIs
4530
+ *
4531
+ * @remarks We currently only support USB and HID devices. Permissions for individual devices
4532
+ * must be granted in {@link Permissions.devices}.
4533
+ *
4534
+ * `usb`: Access to one or more USB devices
4535
+ * `hid : Access to one or more HID devices
4536
+ */
4537
+ declare type DevicePermissionName = 'usb' | 'hid';
4538
+
4528
4539
  /**
4529
4540
  * Generated when a page's theme color changes. This is usually due to encountering a meta tag.
4530
4541
  * @interface
@@ -9833,6 +9844,8 @@ declare namespace OpenFin {
9833
9844
  ApplicationPermissions,
9834
9845
  LaunchExternalProcessRule,
9835
9846
  SystemPermissions,
9847
+ DevicePermissionName,
9848
+ WebPermissionName,
9836
9849
  WebPermission,
9837
9850
  VerboseWebPermission,
9838
9851
  OpenExternalPermission,
@@ -9896,6 +9909,7 @@ declare namespace OpenFin {
9896
9909
  AppVersionError,
9897
9910
  AppVersionRuntimeInfo,
9898
9911
  LaunchEmitter,
9912
+ UserAppConfigArgs,
9899
9913
  RvmLaunchOptions,
9900
9914
  ShortCutConfig,
9901
9915
  TerminateExternalRequestType,
@@ -12722,7 +12736,7 @@ declare type RunRequestedEvent = OpenFin.ApplicationEvents.RunRequestedEvent;
12722
12736
  declare type RunRequestedEvent_2 = BaseEvents.IdentityEvent & {
12723
12737
  topic: 'application';
12724
12738
  type: 'run-requested';
12725
- userAppConfigArgs: Record<string, any>;
12739
+ userAppConfigArgs: OpenFin.UserAppConfigArgs;
12726
12740
  manifest: OpenFin.Manifest;
12727
12741
  };
12728
12742
 
@@ -12837,7 +12851,7 @@ declare type RvmLaunchOptions = {
12837
12851
  * True if no UI when launching
12838
12852
  */
12839
12853
  noUi?: boolean;
12840
- userAppConfigArgs?: object;
12854
+ userAppConfigArgs?: UserAppConfigArgs;
12841
12855
  /**
12842
12856
  * Timeout in seconds until RVM launch request expires.
12843
12857
  */
@@ -14639,8 +14653,13 @@ declare class System extends EmitterBase<OpenFin.SystemEvent> {
14639
14653
  launchManifest(manifestUrl: string, opts?: OpenFin.RvmLaunchOptions): Promise<OpenFin.Manifest>;
14640
14654
  /**
14641
14655
  * Query permission of a secured api in current context.
14656
+ *
14642
14657
  * @param apiName - The full name of a secured API.
14643
14658
  *
14659
+ * @remarks If a function has a structured permission value, the value of `granted` will reflect the `enabled` key
14660
+ * of the call's permissions literal. In this case, *permission may still be denied to a call* pending arguments or other
14661
+ * runtime state. This is indicated with `state: unavailable`.
14662
+ *
14644
14663
  * @example
14645
14664
  * ```js
14646
14665
  * fin.System.queryPermissionForCurrentContext('System.launchExternalProcess').then(result => console.log(result)).catch(err => console.log(err));
@@ -15361,6 +15380,11 @@ declare type UrlChangedEvent = BaseUrlEvent & ({
15361
15380
  httpStatusText: string;
15362
15381
  });
15363
15382
 
15383
+ /**
15384
+ * @interface
15385
+ */
15386
+ declare type UserAppConfigArgs = Record<string, string | string[]>;
15387
+
15364
15388
  /**
15365
15389
  * A general user bounds change event without event type.
15366
15390
  * @interface
@@ -17215,18 +17239,38 @@ declare namespace WebContentsEvents {
17215
17239
  *
17216
17240
  * @remarks We only support those web APIs listed by electron.
17217
17241
  *
17218
- * `audio`: Request access to audio devices.<br>
17219
- * `video`: Request access to video devices.<br>
17220
- * `geolocation`: Request access to user's current location.<br>
17242
+ * `audio`: Access to audio devices.<br>
17243
+ * `video`: Access to video devices.<br>
17244
+ * `geolocation`: Access to user's current location.<br>
17221
17245
  * `notifications`: Request notification creation and the ability to display them in the user's system tray.<br>
17222
- * `midiSysex`: Request the use of system exclusive messages in the webmidi API.<br>
17223
- * `pointerLock`: Request to directly interpret mouse movements as an input method.<br>
17224
- * `fullscreen`: Request for the app to enter fullscreen mode.<br>
17225
- * `openExternal`: Request to open links in external applications.<br>
17226
- * `clipboard-read`: Request access to read from the clipboard.<br>
17227
- * `clipboard-sanitized-write`: Request access to write to the clipboard.
17246
+ * `midiSysex`: Use of system exclusive messages in the webmidi API.<br>
17247
+ * `pointerLock`: Access to mouse movements as an input method.<br>
17248
+ * `fullscreen`: Access to fullscreen mode.<br>
17249
+ * `openExternal`: Access to open links in external applications.<br>
17250
+ * `clipboard-read`: Access to read from the clipboard.<br>
17251
+ * `clipboard-sanitized-write`: Access to write to the clipboard.
17252
+ * `usb`: Access to one or more USB devices
17253
+ * `hid : Access to one or more HID devices
17228
17254
  */
17229
- declare type WebPermission = 'audio' | 'video' | 'geolocation' | 'notifications' | 'midiSysex' | 'pointerLock' | 'fullscreen' | 'openExternal' | 'clipboard-read' | 'clipboard-sanitized-write' | 'hid' | 'usb' | OpenExternalPermission;
17255
+ declare type WebPermission = WebPermissionName | DevicePermissionName | OpenExternalPermission;
17256
+
17257
+ /**
17258
+ * Permission string keys for webAPIs
17259
+ *
17260
+ * @remarks We only support those web APIs listed by electron.
17261
+ *
17262
+ * `audio`: Access to audio devices.<br>
17263
+ * `video`: Access to video devices.<br>
17264
+ * `geolocation`: Access to user's current location.<br>
17265
+ * `notifications`: Request notification creation and the ability to display them in the user's system tray.<br>
17266
+ * `midiSysex`: Use of system exclusive messages in the webmidi API.<br>
17267
+ * `pointerLock`: Access to mouse movements as an input method.<br>
17268
+ * `fullscreen`: Access to fullscreen mode.<br>
17269
+ * `openExternal`: Access to open links in external applications.<br>
17270
+ * `clipboard-read`: Access to read from the clipboard.<br>
17271
+ * `clipboard-sanitized-write`: Access to write to the clipboard.
17272
+ */
17273
+ declare type WebPermissionName = 'audio' | 'video' | 'geolocation' | 'notifications' | 'midiSysex' | 'pointerLock' | 'fullscreen' | 'openExternal' | 'clipboard-read' | 'clipboard-sanitized-write';
17230
17274
 
17231
17275
  /**
17232
17276
  * Object representing headers and their values, where the
@@ -18747,6 +18791,32 @@ declare type WithPositioningOptions<T extends {} = {}> = T & {
18747
18791
  positioningOptions?: OpenFin.PositioningOptions;
18748
18792
  };
18749
18793
 
18794
+ declare type WithUserAppConfigArgs = {
18795
+ /**
18796
+ * Represents the key-value pairs for the parameters passed into any fin:// or fins:// link
18797
+ * that launches this application.
18798
+ *
18799
+ * @remarks
18800
+ * In the link, user defined parameters are separated by the `$$` delimeter, for example:
18801
+ * `fins://path.to/app/manifest.json?$$use-last-configuration=true`
18802
+ *
18803
+ * Results in the following object:
18804
+ * ```json
18805
+ * {
18806
+ * "use-last-configuration": true"
18807
+ * }
18808
+ * ```
18809
+ *
18810
+ * These args can be accessed via the {@link ApplicationInfo.initialOptions} object:
18811
+ * ```typescript
18812
+ * const appInfo = await fin.Application.getCurrentSync().getInfo();
18813
+ * const { userAppConfigArgs } = appInfo.initialOptions;
18814
+ * console.log(userAppConfigArgs['use-last-configuration']); // 'true'
18815
+ * ```
18816
+ */
18817
+ userAppConfigArgs?: UserAppConfigArgs;
18818
+ };
18819
+
18750
18820
  /* Excluded from this release type: WorkspacePlatformOptions */
18751
18821
 
18752
18822
  /**
@@ -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;
@@ -4525,6 +4525,17 @@ declare type DeviceInfo = {
4525
4525
  productId: string | number;
4526
4526
  };
4527
4527
 
4528
+ /**
4529
+ * Permission string keys for device APIs
4530
+ *
4531
+ * @remarks We currently only support USB and HID devices. Permissions for individual devices
4532
+ * must be granted in {@link Permissions.devices}.
4533
+ *
4534
+ * `usb`: Access to one or more USB devices
4535
+ * `hid : Access to one or more HID devices
4536
+ */
4537
+ declare type DevicePermissionName = 'usb' | 'hid';
4538
+
4528
4539
  /**
4529
4540
  * Generated when a page's theme color changes. This is usually due to encountering a meta tag.
4530
4541
  * @interface
@@ -9833,6 +9844,8 @@ declare namespace OpenFin {
9833
9844
  ApplicationPermissions,
9834
9845
  LaunchExternalProcessRule,
9835
9846
  SystemPermissions,
9847
+ DevicePermissionName,
9848
+ WebPermissionName,
9836
9849
  WebPermission,
9837
9850
  VerboseWebPermission,
9838
9851
  OpenExternalPermission,
@@ -9896,6 +9909,7 @@ declare namespace OpenFin {
9896
9909
  AppVersionError,
9897
9910
  AppVersionRuntimeInfo,
9898
9911
  LaunchEmitter,
9912
+ UserAppConfigArgs,
9899
9913
  RvmLaunchOptions,
9900
9914
  ShortCutConfig,
9901
9915
  TerminateExternalRequestType,
@@ -12722,7 +12736,7 @@ declare type RunRequestedEvent = OpenFin.ApplicationEvents.RunRequestedEvent;
12722
12736
  declare type RunRequestedEvent_2 = BaseEvents.IdentityEvent & {
12723
12737
  topic: 'application';
12724
12738
  type: 'run-requested';
12725
- userAppConfigArgs: Record<string, any>;
12739
+ userAppConfigArgs: OpenFin.UserAppConfigArgs;
12726
12740
  manifest: OpenFin.Manifest;
12727
12741
  };
12728
12742
 
@@ -12837,7 +12851,7 @@ declare type RvmLaunchOptions = {
12837
12851
  * True if no UI when launching
12838
12852
  */
12839
12853
  noUi?: boolean;
12840
- userAppConfigArgs?: object;
12854
+ userAppConfigArgs?: UserAppConfigArgs;
12841
12855
  /**
12842
12856
  * Timeout in seconds until RVM launch request expires.
12843
12857
  */
@@ -14639,8 +14653,13 @@ declare class System extends EmitterBase<OpenFin.SystemEvent> {
14639
14653
  launchManifest(manifestUrl: string, opts?: OpenFin.RvmLaunchOptions): Promise<OpenFin.Manifest>;
14640
14654
  /**
14641
14655
  * Query permission of a secured api in current context.
14656
+ *
14642
14657
  * @param apiName - The full name of a secured API.
14643
14658
  *
14659
+ * @remarks If a function has a structured permission value, the value of `granted` will reflect the `enabled` key
14660
+ * of the call's permissions literal. In this case, *permission may still be denied to a call* pending arguments or other
14661
+ * runtime state. This is indicated with `state: unavailable`.
14662
+ *
14644
14663
  * @example
14645
14664
  * ```js
14646
14665
  * fin.System.queryPermissionForCurrentContext('System.launchExternalProcess').then(result => console.log(result)).catch(err => console.log(err));
@@ -15361,6 +15380,11 @@ declare type UrlChangedEvent = BaseUrlEvent & ({
15361
15380
  httpStatusText: string;
15362
15381
  });
15363
15382
 
15383
+ /**
15384
+ * @interface
15385
+ */
15386
+ declare type UserAppConfigArgs = Record<string, string | string[]>;
15387
+
15364
15388
  /**
15365
15389
  * A general user bounds change event without event type.
15366
15390
  * @interface
@@ -17215,18 +17239,38 @@ declare namespace WebContentsEvents {
17215
17239
  *
17216
17240
  * @remarks We only support those web APIs listed by electron.
17217
17241
  *
17218
- * `audio`: Request access to audio devices.<br>
17219
- * `video`: Request access to video devices.<br>
17220
- * `geolocation`: Request access to user's current location.<br>
17242
+ * `audio`: Access to audio devices.<br>
17243
+ * `video`: Access to video devices.<br>
17244
+ * `geolocation`: Access to user's current location.<br>
17221
17245
  * `notifications`: Request notification creation and the ability to display them in the user's system tray.<br>
17222
- * `midiSysex`: Request the use of system exclusive messages in the webmidi API.<br>
17223
- * `pointerLock`: Request to directly interpret mouse movements as an input method.<br>
17224
- * `fullscreen`: Request for the app to enter fullscreen mode.<br>
17225
- * `openExternal`: Request to open links in external applications.<br>
17226
- * `clipboard-read`: Request access to read from the clipboard.<br>
17227
- * `clipboard-sanitized-write`: Request access to write to the clipboard.
17246
+ * `midiSysex`: Use of system exclusive messages in the webmidi API.<br>
17247
+ * `pointerLock`: Access to mouse movements as an input method.<br>
17248
+ * `fullscreen`: Access to fullscreen mode.<br>
17249
+ * `openExternal`: Access to open links in external applications.<br>
17250
+ * `clipboard-read`: Access to read from the clipboard.<br>
17251
+ * `clipboard-sanitized-write`: Access to write to the clipboard.
17252
+ * `usb`: Access to one or more USB devices
17253
+ * `hid : Access to one or more HID devices
17228
17254
  */
17229
- declare type WebPermission = 'audio' | 'video' | 'geolocation' | 'notifications' | 'midiSysex' | 'pointerLock' | 'fullscreen' | 'openExternal' | 'clipboard-read' | 'clipboard-sanitized-write' | 'hid' | 'usb' | OpenExternalPermission;
17255
+ declare type WebPermission = WebPermissionName | DevicePermissionName | OpenExternalPermission;
17256
+
17257
+ /**
17258
+ * Permission string keys for webAPIs
17259
+ *
17260
+ * @remarks We only support those web APIs listed by electron.
17261
+ *
17262
+ * `audio`: Access to audio devices.<br>
17263
+ * `video`: Access to video devices.<br>
17264
+ * `geolocation`: Access to user's current location.<br>
17265
+ * `notifications`: Request notification creation and the ability to display them in the user's system tray.<br>
17266
+ * `midiSysex`: Use of system exclusive messages in the webmidi API.<br>
17267
+ * `pointerLock`: Access to mouse movements as an input method.<br>
17268
+ * `fullscreen`: Access to fullscreen mode.<br>
17269
+ * `openExternal`: Access to open links in external applications.<br>
17270
+ * `clipboard-read`: Access to read from the clipboard.<br>
17271
+ * `clipboard-sanitized-write`: Access to write to the clipboard.
17272
+ */
17273
+ declare type WebPermissionName = 'audio' | 'video' | 'geolocation' | 'notifications' | 'midiSysex' | 'pointerLock' | 'fullscreen' | 'openExternal' | 'clipboard-read' | 'clipboard-sanitized-write';
17230
17274
 
17231
17275
  /**
17232
17276
  * Object representing headers and their values, where the
@@ -18747,6 +18791,32 @@ declare type WithPositioningOptions<T extends {} = {}> = T & {
18747
18791
  positioningOptions?: OpenFin.PositioningOptions;
18748
18792
  };
18749
18793
 
18794
+ declare type WithUserAppConfigArgs = {
18795
+ /**
18796
+ * Represents the key-value pairs for the parameters passed into any fin:// or fins:// link
18797
+ * that launches this application.
18798
+ *
18799
+ * @remarks
18800
+ * In the link, user defined parameters are separated by the `$$` delimeter, for example:
18801
+ * `fins://path.to/app/manifest.json?$$use-last-configuration=true`
18802
+ *
18803
+ * Results in the following object:
18804
+ * ```json
18805
+ * {
18806
+ * "use-last-configuration": true"
18807
+ * }
18808
+ * ```
18809
+ *
18810
+ * These args can be accessed via the {@link ApplicationInfo.initialOptions} object:
18811
+ * ```typescript
18812
+ * const appInfo = await fin.Application.getCurrentSync().getInfo();
18813
+ * const { userAppConfigArgs } = appInfo.initialOptions;
18814
+ * console.log(userAppConfigArgs['use-last-configuration']); // 'true'
18815
+ * ```
18816
+ */
18817
+ userAppConfigArgs?: UserAppConfigArgs;
18818
+ };
18819
+
18750
18820
  /* Excluded from this release type: WorkspacePlatformOptions */
18751
18821
 
18752
18822
  /**
@@ -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;
@@ -4584,6 +4584,17 @@ declare type DeviceInfo = {
4584
4584
  productId: string | number;
4585
4585
  };
4586
4586
 
4587
+ /**
4588
+ * Permission string keys for device APIs
4589
+ *
4590
+ * @remarks We currently only support USB and HID devices. Permissions for individual devices
4591
+ * must be granted in {@link Permissions.devices}.
4592
+ *
4593
+ * `usb`: Access to one or more USB devices
4594
+ * `hid : Access to one or more HID devices
4595
+ */
4596
+ declare type DevicePermissionName = 'usb' | 'hid';
4597
+
4587
4598
  /**
4588
4599
  * Generated when a page's theme color changes. This is usually due to encountering a meta tag.
4589
4600
  * @interface
@@ -10170,6 +10181,8 @@ declare namespace OpenFin {
10170
10181
  ApplicationPermissions,
10171
10182
  LaunchExternalProcessRule,
10172
10183
  SystemPermissions,
10184
+ DevicePermissionName,
10185
+ WebPermissionName,
10173
10186
  WebPermission,
10174
10187
  VerboseWebPermission,
10175
10188
  OpenExternalPermission,
@@ -10233,6 +10246,7 @@ declare namespace OpenFin {
10233
10246
  AppVersionError,
10234
10247
  AppVersionRuntimeInfo,
10235
10248
  LaunchEmitter,
10249
+ UserAppConfigArgs,
10236
10250
  RvmLaunchOptions,
10237
10251
  ShortCutConfig,
10238
10252
  TerminateExternalRequestType,
@@ -13137,7 +13151,7 @@ declare type RunRequestedEvent = OpenFin.ApplicationEvents.RunRequestedEvent;
13137
13151
  declare type RunRequestedEvent_2 = BaseEvents.IdentityEvent & {
13138
13152
  topic: 'application';
13139
13153
  type: 'run-requested';
13140
- userAppConfigArgs: Record<string, any>;
13154
+ userAppConfigArgs: OpenFin.UserAppConfigArgs;
13141
13155
  manifest: OpenFin.Manifest;
13142
13156
  };
13143
13157
 
@@ -13252,7 +13266,7 @@ declare type RvmLaunchOptions = {
13252
13266
  * True if no UI when launching
13253
13267
  */
13254
13268
  noUi?: boolean;
13255
- userAppConfigArgs?: object;
13269
+ userAppConfigArgs?: UserAppConfigArgs;
13256
13270
  /**
13257
13271
  * Timeout in seconds until RVM launch request expires.
13258
13272
  */
@@ -15060,8 +15074,13 @@ declare class System extends EmitterBase<OpenFin.SystemEvent> {
15060
15074
  launchManifest(manifestUrl: string, opts?: OpenFin.RvmLaunchOptions): Promise<OpenFin.Manifest>;
15061
15075
  /**
15062
15076
  * Query permission of a secured api in current context.
15077
+ *
15063
15078
  * @param apiName - The full name of a secured API.
15064
15079
  *
15080
+ * @remarks If a function has a structured permission value, the value of `granted` will reflect the `enabled` key
15081
+ * of the call's permissions literal. In this case, *permission may still be denied to a call* pending arguments or other
15082
+ * runtime state. This is indicated with `state: unavailable`.
15083
+ *
15065
15084
  * @example
15066
15085
  * ```js
15067
15086
  * fin.System.queryPermissionForCurrentContext('System.launchExternalProcess').then(result => console.log(result)).catch(err => console.log(err));
@@ -15789,6 +15808,11 @@ declare type UrlChangedEvent = BaseUrlEvent & ({
15789
15808
  httpStatusText: string;
15790
15809
  });
15791
15810
 
15811
+ /**
15812
+ * @interface
15813
+ */
15814
+ declare type UserAppConfigArgs = Record<string, string | string[]>;
15815
+
15792
15816
  /**
15793
15817
  * A general user bounds change event without event type.
15794
15818
  * @interface
@@ -17680,18 +17704,38 @@ declare namespace WebContentsEvents {
17680
17704
  *
17681
17705
  * @remarks We only support those web APIs listed by electron.
17682
17706
  *
17683
- * `audio`: Request access to audio devices.<br>
17684
- * `video`: Request access to video devices.<br>
17685
- * `geolocation`: Request access to user's current location.<br>
17707
+ * `audio`: Access to audio devices.<br>
17708
+ * `video`: Access to video devices.<br>
17709
+ * `geolocation`: Access to user's current location.<br>
17686
17710
  * `notifications`: Request notification creation and the ability to display them in the user's system tray.<br>
17687
- * `midiSysex`: Request the use of system exclusive messages in the webmidi API.<br>
17688
- * `pointerLock`: Request to directly interpret mouse movements as an input method.<br>
17689
- * `fullscreen`: Request for the app to enter fullscreen mode.<br>
17690
- * `openExternal`: Request to open links in external applications.<br>
17691
- * `clipboard-read`: Request access to read from the clipboard.<br>
17692
- * `clipboard-sanitized-write`: Request access to write to the clipboard.
17711
+ * `midiSysex`: Use of system exclusive messages in the webmidi API.<br>
17712
+ * `pointerLock`: Access to mouse movements as an input method.<br>
17713
+ * `fullscreen`: Access to fullscreen mode.<br>
17714
+ * `openExternal`: Access to open links in external applications.<br>
17715
+ * `clipboard-read`: Access to read from the clipboard.<br>
17716
+ * `clipboard-sanitized-write`: Access to write to the clipboard.
17717
+ * `usb`: Access to one or more USB devices
17718
+ * `hid : Access to one or more HID devices
17693
17719
  */
17694
- declare type WebPermission = 'audio' | 'video' | 'geolocation' | 'notifications' | 'midiSysex' | 'pointerLock' | 'fullscreen' | 'openExternal' | 'clipboard-read' | 'clipboard-sanitized-write' | 'hid' | 'usb' | OpenExternalPermission;
17720
+ declare type WebPermission = WebPermissionName | DevicePermissionName | OpenExternalPermission;
17721
+
17722
+ /**
17723
+ * Permission string keys for webAPIs
17724
+ *
17725
+ * @remarks We only support those web APIs listed by electron.
17726
+ *
17727
+ * `audio`: Access to audio devices.<br>
17728
+ * `video`: Access to video devices.<br>
17729
+ * `geolocation`: Access to user's current location.<br>
17730
+ * `notifications`: Request notification creation and the ability to display them in the user's system tray.<br>
17731
+ * `midiSysex`: Use of system exclusive messages in the webmidi API.<br>
17732
+ * `pointerLock`: Access to mouse movements as an input method.<br>
17733
+ * `fullscreen`: Access to fullscreen mode.<br>
17734
+ * `openExternal`: Access to open links in external applications.<br>
17735
+ * `clipboard-read`: Access to read from the clipboard.<br>
17736
+ * `clipboard-sanitized-write`: Access to write to the clipboard.
17737
+ */
17738
+ declare type WebPermissionName = 'audio' | 'video' | 'geolocation' | 'notifications' | 'midiSysex' | 'pointerLock' | 'fullscreen' | 'openExternal' | 'clipboard-read' | 'clipboard-sanitized-write';
17695
17739
 
17696
17740
  /**
17697
17741
  * Object representing headers and their values, where the
@@ -19221,6 +19265,32 @@ declare type WithPositioningOptions<T extends {} = {}> = T & {
19221
19265
  positioningOptions?: OpenFin.PositioningOptions;
19222
19266
  };
19223
19267
 
19268
+ declare type WithUserAppConfigArgs = {
19269
+ /**
19270
+ * Represents the key-value pairs for the parameters passed into any fin:// or fins:// link
19271
+ * that launches this application.
19272
+ *
19273
+ * @remarks
19274
+ * In the link, user defined parameters are separated by the `$$` delimeter, for example:
19275
+ * `fins://path.to/app/manifest.json?$$use-last-configuration=true`
19276
+ *
19277
+ * Results in the following object:
19278
+ * ```json
19279
+ * {
19280
+ * "use-last-configuration": true"
19281
+ * }
19282
+ * ```
19283
+ *
19284
+ * These args can be accessed via the {@link ApplicationInfo.initialOptions} object:
19285
+ * ```typescript
19286
+ * const appInfo = await fin.Application.getCurrentSync().getInfo();
19287
+ * const { userAppConfigArgs } = appInfo.initialOptions;
19288
+ * console.log(userAppConfigArgs['use-last-configuration']); // 'true'
19289
+ * ```
19290
+ */
19291
+ userAppConfigArgs?: UserAppConfigArgs;
19292
+ };
19293
+
19224
19294
  /**
19225
19295
  * @internal
19226
19296
  * @interface
@@ -3799,7 +3799,7 @@ function requireInstance$1 () {
3799
3799
  return payload.data;
3800
3800
  }
3801
3801
  /**
3802
- * CLoses the tray icon menu.
3802
+ * Closes the tray icon menu.
3803
3803
  *
3804
3804
  * @throws if the application has no tray icon set
3805
3805
  * @example
@@ -7273,8 +7273,13 @@ class System extends base_1$i.EmitterBase {
7273
7273
  }
7274
7274
  /**
7275
7275
  * Query permission of a secured api in current context.
7276
+ *
7276
7277
  * @param apiName - The full name of a secured API.
7277
7278
  *
7279
+ * @remarks If a function has a structured permission value, the value of `granted` will reflect the `enabled` key
7280
+ * of the call's permissions literal. In this case, *permission may still be denied to a call* pending arguments or other
7281
+ * runtime state. This is indicated with `state: unavailable`.
7282
+ *
7278
7283
  * @example
7279
7284
  * ```js
7280
7285
  * 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/node-adapter",
3
- "version": "38.81.24",
3
+ "version": "38.81.30",
4
4
  "description": "See README.md",
5
5
  "main": "out/node-adapter.js",
6
6
  "types": "out/node-adapter.d.ts",