@openfin/fdc3-api 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;
@@ -4521,6 +4521,17 @@ declare type DeviceInfo = {
4521
4521
  productId: string | number;
4522
4522
  };
4523
4523
 
4524
+ /**
4525
+ * Permission string keys for device APIs
4526
+ *
4527
+ * @remarks We currently only support USB and HID devices. Permissions for individual devices
4528
+ * must be granted in {@link Permissions.devices}.
4529
+ *
4530
+ * `usb`: Access to one or more USB devices
4531
+ * `hid : Access to one or more HID devices
4532
+ */
4533
+ declare type DevicePermissionName = 'usb' | 'hid';
4534
+
4524
4535
  /**
4525
4536
  * Generated when a page's theme color changes. This is usually due to encountering a meta tag.
4526
4537
  * @interface
@@ -10167,6 +10178,8 @@ declare namespace OpenFin {
10167
10178
  ApplicationPermissions,
10168
10179
  LaunchExternalProcessRule,
10169
10180
  SystemPermissions,
10181
+ DevicePermissionName,
10182
+ WebPermissionName,
10170
10183
  WebPermission,
10171
10184
  VerboseWebPermission,
10172
10185
  OpenExternalPermission,
@@ -10230,6 +10243,7 @@ declare namespace OpenFin {
10230
10243
  AppVersionError,
10231
10244
  AppVersionRuntimeInfo,
10232
10245
  LaunchEmitter,
10246
+ UserAppConfigArgs,
10233
10247
  RvmLaunchOptions,
10234
10248
  ShortCutConfig,
10235
10249
  TerminateExternalRequestType,
@@ -13055,7 +13069,7 @@ declare type RunRequestedEvent = OpenFin.ApplicationEvents.RunRequestedEvent;
13055
13069
  declare type RunRequestedEvent_2 = BaseEvents.IdentityEvent & {
13056
13070
  topic: 'application';
13057
13071
  type: 'run-requested';
13058
- userAppConfigArgs: Record<string, any>;
13072
+ userAppConfigArgs: OpenFin.UserAppConfigArgs;
13059
13073
  manifest: OpenFin.Manifest;
13060
13074
  };
13061
13075
 
@@ -13170,7 +13184,7 @@ declare type RvmLaunchOptions = {
13170
13184
  * True if no UI when launching
13171
13185
  */
13172
13186
  noUi?: boolean;
13173
- userAppConfigArgs?: object;
13187
+ userAppConfigArgs?: UserAppConfigArgs;
13174
13188
  /**
13175
13189
  * Timeout in seconds until RVM launch request expires.
13176
13190
  */
@@ -14972,8 +14986,13 @@ declare class System extends EmitterBase<OpenFin.SystemEvent> {
14972
14986
  launchManifest(manifestUrl: string, opts?: OpenFin.RvmLaunchOptions): Promise<OpenFin.Manifest>;
14973
14987
  /**
14974
14988
  * Query permission of a secured api in current context.
14989
+ *
14975
14990
  * @param apiName - The full name of a secured API.
14976
14991
  *
14992
+ * @remarks If a function has a structured permission value, the value of `granted` will reflect the `enabled` key
14993
+ * of the call's permissions literal. In this case, *permission may still be denied to a call* pending arguments or other
14994
+ * runtime state. This is indicated with `state: unavailable`.
14995
+ *
14977
14996
  * @example
14978
14997
  * ```js
14979
14998
  * fin.System.queryPermissionForCurrentContext('System.launchExternalProcess').then(result => console.log(result)).catch(err => console.log(err));
@@ -15694,6 +15713,11 @@ declare type UrlChangedEvent = BaseUrlEvent & ({
15694
15713
  httpStatusText: string;
15695
15714
  });
15696
15715
 
15716
+ /**
15717
+ * @interface
15718
+ */
15719
+ declare type UserAppConfigArgs = Record<string, string | string[]>;
15720
+
15697
15721
  /**
15698
15722
  * A general user bounds change event without event type.
15699
15723
  * @interface
@@ -17548,18 +17572,38 @@ declare namespace WebContentsEvents {
17548
17572
  *
17549
17573
  * @remarks We only support those web APIs listed by electron.
17550
17574
  *
17551
- * `audio`: Request access to audio devices.<br>
17552
- * `video`: Request access to video devices.<br>
17553
- * `geolocation`: Request access to user's current location.<br>
17575
+ * `audio`: Access to audio devices.<br>
17576
+ * `video`: Access to video devices.<br>
17577
+ * `geolocation`: Access to user's current location.<br>
17554
17578
  * `notifications`: Request notification creation and the ability to display them in the user's system tray.<br>
17555
- * `midiSysex`: Request the use of system exclusive messages in the webmidi API.<br>
17556
- * `pointerLock`: Request to directly interpret mouse movements as an input method.<br>
17557
- * `fullscreen`: Request for the app to enter fullscreen mode.<br>
17558
- * `openExternal`: Request to open links in external applications.<br>
17559
- * `clipboard-read`: Request access to read from the clipboard.<br>
17560
- * `clipboard-sanitized-write`: Request access to write to the clipboard.
17579
+ * `midiSysex`: Use of system exclusive messages in the webmidi API.<br>
17580
+ * `pointerLock`: Access to mouse movements as an input method.<br>
17581
+ * `fullscreen`: Access to fullscreen mode.<br>
17582
+ * `openExternal`: Access to open links in external applications.<br>
17583
+ * `clipboard-read`: Access to read from the clipboard.<br>
17584
+ * `clipboard-sanitized-write`: Access to write to the clipboard.
17585
+ * `usb`: Access to one or more USB devices
17586
+ * `hid : Access to one or more HID devices
17561
17587
  */
17562
- declare type WebPermission = 'audio' | 'video' | 'geolocation' | 'notifications' | 'midiSysex' | 'pointerLock' | 'fullscreen' | 'openExternal' | 'clipboard-read' | 'clipboard-sanitized-write' | 'hid' | 'usb' | OpenExternalPermission;
17588
+ declare type WebPermission = WebPermissionName | DevicePermissionName | OpenExternalPermission;
17589
+
17590
+ /**
17591
+ * Permission string keys for webAPIs
17592
+ *
17593
+ * @remarks We only support those web APIs listed by electron.
17594
+ *
17595
+ * `audio`: Access to audio devices.<br>
17596
+ * `video`: Access to video devices.<br>
17597
+ * `geolocation`: Access to user's current location.<br>
17598
+ * `notifications`: Request notification creation and the ability to display them in the user's system tray.<br>
17599
+ * `midiSysex`: Use of system exclusive messages in the webmidi API.<br>
17600
+ * `pointerLock`: Access to mouse movements as an input method.<br>
17601
+ * `fullscreen`: Access to fullscreen mode.<br>
17602
+ * `openExternal`: Access to open links in external applications.<br>
17603
+ * `clipboard-read`: Access to read from the clipboard.<br>
17604
+ * `clipboard-sanitized-write`: Access to write to the clipboard.
17605
+ */
17606
+ declare type WebPermissionName = 'audio' | 'video' | 'geolocation' | 'notifications' | 'midiSysex' | 'pointerLock' | 'fullscreen' | 'openExternal' | 'clipboard-read' | 'clipboard-sanitized-write';
17563
17607
 
17564
17608
  /**
17565
17609
  * Object representing headers and their values, where the
@@ -19080,6 +19124,32 @@ declare type WithPositioningOptions<T extends {} = {}> = T & {
19080
19124
  positioningOptions?: OpenFin.PositioningOptions;
19081
19125
  };
19082
19126
 
19127
+ declare type WithUserAppConfigArgs = {
19128
+ /**
19129
+ * Represents the key-value pairs for the parameters passed into any fin:// or fins:// link
19130
+ * that launches this application.
19131
+ *
19132
+ * @remarks
19133
+ * In the link, user defined parameters are separated by the `$$` delimeter, for example:
19134
+ * `fins://path.to/app/manifest.json?$$use-last-configuration=true`
19135
+ *
19136
+ * Results in the following object:
19137
+ * ```json
19138
+ * {
19139
+ * "use-last-configuration": true"
19140
+ * }
19141
+ * ```
19142
+ *
19143
+ * These args can be accessed via the {@link ApplicationInfo.initialOptions} object:
19144
+ * ```typescript
19145
+ * const appInfo = await fin.Application.getCurrentSync().getInfo();
19146
+ * const { userAppConfigArgs } = appInfo.initialOptions;
19147
+ * console.log(userAppConfigArgs['use-last-configuration']); // 'true'
19148
+ * ```
19149
+ */
19150
+ userAppConfigArgs?: UserAppConfigArgs;
19151
+ };
19152
+
19083
19153
  /* Excluded from this release type: WorkspacePlatformOptions */
19084
19154
 
19085
19155
  /**
@@ -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;
@@ -4521,6 +4521,17 @@ declare type DeviceInfo = {
4521
4521
  productId: string | number;
4522
4522
  };
4523
4523
 
4524
+ /**
4525
+ * Permission string keys for device APIs
4526
+ *
4527
+ * @remarks We currently only support USB and HID devices. Permissions for individual devices
4528
+ * must be granted in {@link Permissions.devices}.
4529
+ *
4530
+ * `usb`: Access to one or more USB devices
4531
+ * `hid : Access to one or more HID devices
4532
+ */
4533
+ declare type DevicePermissionName = 'usb' | 'hid';
4534
+
4524
4535
  /**
4525
4536
  * Generated when a page's theme color changes. This is usually due to encountering a meta tag.
4526
4537
  * @interface
@@ -10167,6 +10178,8 @@ declare namespace OpenFin {
10167
10178
  ApplicationPermissions,
10168
10179
  LaunchExternalProcessRule,
10169
10180
  SystemPermissions,
10181
+ DevicePermissionName,
10182
+ WebPermissionName,
10170
10183
  WebPermission,
10171
10184
  VerboseWebPermission,
10172
10185
  OpenExternalPermission,
@@ -10230,6 +10243,7 @@ declare namespace OpenFin {
10230
10243
  AppVersionError,
10231
10244
  AppVersionRuntimeInfo,
10232
10245
  LaunchEmitter,
10246
+ UserAppConfigArgs,
10233
10247
  RvmLaunchOptions,
10234
10248
  ShortCutConfig,
10235
10249
  TerminateExternalRequestType,
@@ -13055,7 +13069,7 @@ declare type RunRequestedEvent = OpenFin.ApplicationEvents.RunRequestedEvent;
13055
13069
  declare type RunRequestedEvent_2 = BaseEvents.IdentityEvent & {
13056
13070
  topic: 'application';
13057
13071
  type: 'run-requested';
13058
- userAppConfigArgs: Record<string, any>;
13072
+ userAppConfigArgs: OpenFin.UserAppConfigArgs;
13059
13073
  manifest: OpenFin.Manifest;
13060
13074
  };
13061
13075
 
@@ -13170,7 +13184,7 @@ declare type RvmLaunchOptions = {
13170
13184
  * True if no UI when launching
13171
13185
  */
13172
13186
  noUi?: boolean;
13173
- userAppConfigArgs?: object;
13187
+ userAppConfigArgs?: UserAppConfigArgs;
13174
13188
  /**
13175
13189
  * Timeout in seconds until RVM launch request expires.
13176
13190
  */
@@ -14972,8 +14986,13 @@ declare class System extends EmitterBase<OpenFin.SystemEvent> {
14972
14986
  launchManifest(manifestUrl: string, opts?: OpenFin.RvmLaunchOptions): Promise<OpenFin.Manifest>;
14973
14987
  /**
14974
14988
  * Query permission of a secured api in current context.
14989
+ *
14975
14990
  * @param apiName - The full name of a secured API.
14976
14991
  *
14992
+ * @remarks If a function has a structured permission value, the value of `granted` will reflect the `enabled` key
14993
+ * of the call's permissions literal. In this case, *permission may still be denied to a call* pending arguments or other
14994
+ * runtime state. This is indicated with `state: unavailable`.
14995
+ *
14977
14996
  * @example
14978
14997
  * ```js
14979
14998
  * fin.System.queryPermissionForCurrentContext('System.launchExternalProcess').then(result => console.log(result)).catch(err => console.log(err));
@@ -15694,6 +15713,11 @@ declare type UrlChangedEvent = BaseUrlEvent & ({
15694
15713
  httpStatusText: string;
15695
15714
  });
15696
15715
 
15716
+ /**
15717
+ * @interface
15718
+ */
15719
+ declare type UserAppConfigArgs = Record<string, string | string[]>;
15720
+
15697
15721
  /**
15698
15722
  * A general user bounds change event without event type.
15699
15723
  * @interface
@@ -17548,18 +17572,38 @@ declare namespace WebContentsEvents {
17548
17572
  *
17549
17573
  * @remarks We only support those web APIs listed by electron.
17550
17574
  *
17551
- * `audio`: Request access to audio devices.<br>
17552
- * `video`: Request access to video devices.<br>
17553
- * `geolocation`: Request access to user's current location.<br>
17575
+ * `audio`: Access to audio devices.<br>
17576
+ * `video`: Access to video devices.<br>
17577
+ * `geolocation`: Access to user's current location.<br>
17554
17578
  * `notifications`: Request notification creation and the ability to display them in the user's system tray.<br>
17555
- * `midiSysex`: Request the use of system exclusive messages in the webmidi API.<br>
17556
- * `pointerLock`: Request to directly interpret mouse movements as an input method.<br>
17557
- * `fullscreen`: Request for the app to enter fullscreen mode.<br>
17558
- * `openExternal`: Request to open links in external applications.<br>
17559
- * `clipboard-read`: Request access to read from the clipboard.<br>
17560
- * `clipboard-sanitized-write`: Request access to write to the clipboard.
17579
+ * `midiSysex`: Use of system exclusive messages in the webmidi API.<br>
17580
+ * `pointerLock`: Access to mouse movements as an input method.<br>
17581
+ * `fullscreen`: Access to fullscreen mode.<br>
17582
+ * `openExternal`: Access to open links in external applications.<br>
17583
+ * `clipboard-read`: Access to read from the clipboard.<br>
17584
+ * `clipboard-sanitized-write`: Access to write to the clipboard.
17585
+ * `usb`: Access to one or more USB devices
17586
+ * `hid : Access to one or more HID devices
17561
17587
  */
17562
- declare type WebPermission = 'audio' | 'video' | 'geolocation' | 'notifications' | 'midiSysex' | 'pointerLock' | 'fullscreen' | 'openExternal' | 'clipboard-read' | 'clipboard-sanitized-write' | 'hid' | 'usb' | OpenExternalPermission;
17588
+ declare type WebPermission = WebPermissionName | DevicePermissionName | OpenExternalPermission;
17589
+
17590
+ /**
17591
+ * Permission string keys for webAPIs
17592
+ *
17593
+ * @remarks We only support those web APIs listed by electron.
17594
+ *
17595
+ * `audio`: Access to audio devices.<br>
17596
+ * `video`: Access to video devices.<br>
17597
+ * `geolocation`: Access to user's current location.<br>
17598
+ * `notifications`: Request notification creation and the ability to display them in the user's system tray.<br>
17599
+ * `midiSysex`: Use of system exclusive messages in the webmidi API.<br>
17600
+ * `pointerLock`: Access to mouse movements as an input method.<br>
17601
+ * `fullscreen`: Access to fullscreen mode.<br>
17602
+ * `openExternal`: Access to open links in external applications.<br>
17603
+ * `clipboard-read`: Access to read from the clipboard.<br>
17604
+ * `clipboard-sanitized-write`: Access to write to the clipboard.
17605
+ */
17606
+ declare type WebPermissionName = 'audio' | 'video' | 'geolocation' | 'notifications' | 'midiSysex' | 'pointerLock' | 'fullscreen' | 'openExternal' | 'clipboard-read' | 'clipboard-sanitized-write';
17563
17607
 
17564
17608
  /**
17565
17609
  * Object representing headers and their values, where the
@@ -19080,6 +19124,32 @@ declare type WithPositioningOptions<T extends {} = {}> = T & {
19080
19124
  positioningOptions?: OpenFin.PositioningOptions;
19081
19125
  };
19082
19126
 
19127
+ declare type WithUserAppConfigArgs = {
19128
+ /**
19129
+ * Represents the key-value pairs for the parameters passed into any fin:// or fins:// link
19130
+ * that launches this application.
19131
+ *
19132
+ * @remarks
19133
+ * In the link, user defined parameters are separated by the `$$` delimeter, for example:
19134
+ * `fins://path.to/app/manifest.json?$$use-last-configuration=true`
19135
+ *
19136
+ * Results in the following object:
19137
+ * ```json
19138
+ * {
19139
+ * "use-last-configuration": true"
19140
+ * }
19141
+ * ```
19142
+ *
19143
+ * These args can be accessed via the {@link ApplicationInfo.initialOptions} object:
19144
+ * ```typescript
19145
+ * const appInfo = await fin.Application.getCurrentSync().getInfo();
19146
+ * const { userAppConfigArgs } = appInfo.initialOptions;
19147
+ * console.log(userAppConfigArgs['use-last-configuration']); // 'true'
19148
+ * ```
19149
+ */
19150
+ userAppConfigArgs?: UserAppConfigArgs;
19151
+ };
19152
+
19083
19153
  /* Excluded from this release type: WorkspacePlatformOptions */
19084
19154
 
19085
19155
  /**
@@ -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;
@@ -4521,6 +4521,17 @@ declare type DeviceInfo = {
4521
4521
  productId: string | number;
4522
4522
  };
4523
4523
 
4524
+ /**
4525
+ * Permission string keys for device APIs
4526
+ *
4527
+ * @remarks We currently only support USB and HID devices. Permissions for individual devices
4528
+ * must be granted in {@link Permissions.devices}.
4529
+ *
4530
+ * `usb`: Access to one or more USB devices
4531
+ * `hid : Access to one or more HID devices
4532
+ */
4533
+ declare type DevicePermissionName = 'usb' | 'hid';
4534
+
4524
4535
  /**
4525
4536
  * Generated when a page's theme color changes. This is usually due to encountering a meta tag.
4526
4537
  * @interface
@@ -10167,6 +10178,8 @@ declare namespace OpenFin {
10167
10178
  ApplicationPermissions,
10168
10179
  LaunchExternalProcessRule,
10169
10180
  SystemPermissions,
10181
+ DevicePermissionName,
10182
+ WebPermissionName,
10170
10183
  WebPermission,
10171
10184
  VerboseWebPermission,
10172
10185
  OpenExternalPermission,
@@ -10230,6 +10243,7 @@ declare namespace OpenFin {
10230
10243
  AppVersionError,
10231
10244
  AppVersionRuntimeInfo,
10232
10245
  LaunchEmitter,
10246
+ UserAppConfigArgs,
10233
10247
  RvmLaunchOptions,
10234
10248
  ShortCutConfig,
10235
10249
  TerminateExternalRequestType,
@@ -13055,7 +13069,7 @@ declare type RunRequestedEvent = OpenFin.ApplicationEvents.RunRequestedEvent;
13055
13069
  declare type RunRequestedEvent_2 = BaseEvents.IdentityEvent & {
13056
13070
  topic: 'application';
13057
13071
  type: 'run-requested';
13058
- userAppConfigArgs: Record<string, any>;
13072
+ userAppConfigArgs: OpenFin.UserAppConfigArgs;
13059
13073
  manifest: OpenFin.Manifest;
13060
13074
  };
13061
13075
 
@@ -13170,7 +13184,7 @@ declare type RvmLaunchOptions = {
13170
13184
  * True if no UI when launching
13171
13185
  */
13172
13186
  noUi?: boolean;
13173
- userAppConfigArgs?: object;
13187
+ userAppConfigArgs?: UserAppConfigArgs;
13174
13188
  /**
13175
13189
  * Timeout in seconds until RVM launch request expires.
13176
13190
  */
@@ -14972,8 +14986,13 @@ declare class System extends EmitterBase<OpenFin.SystemEvent> {
14972
14986
  launchManifest(manifestUrl: string, opts?: OpenFin.RvmLaunchOptions): Promise<OpenFin.Manifest>;
14973
14987
  /**
14974
14988
  * Query permission of a secured api in current context.
14989
+ *
14975
14990
  * @param apiName - The full name of a secured API.
14976
14991
  *
14992
+ * @remarks If a function has a structured permission value, the value of `granted` will reflect the `enabled` key
14993
+ * of the call's permissions literal. In this case, *permission may still be denied to a call* pending arguments or other
14994
+ * runtime state. This is indicated with `state: unavailable`.
14995
+ *
14977
14996
  * @example
14978
14997
  * ```js
14979
14998
  * fin.System.queryPermissionForCurrentContext('System.launchExternalProcess').then(result => console.log(result)).catch(err => console.log(err));
@@ -15694,6 +15713,11 @@ declare type UrlChangedEvent = BaseUrlEvent & ({
15694
15713
  httpStatusText: string;
15695
15714
  });
15696
15715
 
15716
+ /**
15717
+ * @interface
15718
+ */
15719
+ declare type UserAppConfigArgs = Record<string, string | string[]>;
15720
+
15697
15721
  /**
15698
15722
  * A general user bounds change event without event type.
15699
15723
  * @interface
@@ -17548,18 +17572,38 @@ declare namespace WebContentsEvents {
17548
17572
  *
17549
17573
  * @remarks We only support those web APIs listed by electron.
17550
17574
  *
17551
- * `audio`: Request access to audio devices.<br>
17552
- * `video`: Request access to video devices.<br>
17553
- * `geolocation`: Request access to user's current location.<br>
17575
+ * `audio`: Access to audio devices.<br>
17576
+ * `video`: Access to video devices.<br>
17577
+ * `geolocation`: Access to user's current location.<br>
17554
17578
  * `notifications`: Request notification creation and the ability to display them in the user's system tray.<br>
17555
- * `midiSysex`: Request the use of system exclusive messages in the webmidi API.<br>
17556
- * `pointerLock`: Request to directly interpret mouse movements as an input method.<br>
17557
- * `fullscreen`: Request for the app to enter fullscreen mode.<br>
17558
- * `openExternal`: Request to open links in external applications.<br>
17559
- * `clipboard-read`: Request access to read from the clipboard.<br>
17560
- * `clipboard-sanitized-write`: Request access to write to the clipboard.
17579
+ * `midiSysex`: Use of system exclusive messages in the webmidi API.<br>
17580
+ * `pointerLock`: Access to mouse movements as an input method.<br>
17581
+ * `fullscreen`: Access to fullscreen mode.<br>
17582
+ * `openExternal`: Access to open links in external applications.<br>
17583
+ * `clipboard-read`: Access to read from the clipboard.<br>
17584
+ * `clipboard-sanitized-write`: Access to write to the clipboard.
17585
+ * `usb`: Access to one or more USB devices
17586
+ * `hid : Access to one or more HID devices
17561
17587
  */
17562
- declare type WebPermission = 'audio' | 'video' | 'geolocation' | 'notifications' | 'midiSysex' | 'pointerLock' | 'fullscreen' | 'openExternal' | 'clipboard-read' | 'clipboard-sanitized-write' | 'hid' | 'usb' | OpenExternalPermission;
17588
+ declare type WebPermission = WebPermissionName | DevicePermissionName | OpenExternalPermission;
17589
+
17590
+ /**
17591
+ * Permission string keys for webAPIs
17592
+ *
17593
+ * @remarks We only support those web APIs listed by electron.
17594
+ *
17595
+ * `audio`: Access to audio devices.<br>
17596
+ * `video`: Access to video devices.<br>
17597
+ * `geolocation`: Access to user's current location.<br>
17598
+ * `notifications`: Request notification creation and the ability to display them in the user's system tray.<br>
17599
+ * `midiSysex`: Use of system exclusive messages in the webmidi API.<br>
17600
+ * `pointerLock`: Access to mouse movements as an input method.<br>
17601
+ * `fullscreen`: Access to fullscreen mode.<br>
17602
+ * `openExternal`: Access to open links in external applications.<br>
17603
+ * `clipboard-read`: Access to read from the clipboard.<br>
17604
+ * `clipboard-sanitized-write`: Access to write to the clipboard.
17605
+ */
17606
+ declare type WebPermissionName = 'audio' | 'video' | 'geolocation' | 'notifications' | 'midiSysex' | 'pointerLock' | 'fullscreen' | 'openExternal' | 'clipboard-read' | 'clipboard-sanitized-write';
17563
17607
 
17564
17608
  /**
17565
17609
  * Object representing headers and their values, where the
@@ -19080,6 +19124,32 @@ declare type WithPositioningOptions<T extends {} = {}> = T & {
19080
19124
  positioningOptions?: OpenFin.PositioningOptions;
19081
19125
  };
19082
19126
 
19127
+ declare type WithUserAppConfigArgs = {
19128
+ /**
19129
+ * Represents the key-value pairs for the parameters passed into any fin:// or fins:// link
19130
+ * that launches this application.
19131
+ *
19132
+ * @remarks
19133
+ * In the link, user defined parameters are separated by the `$$` delimeter, for example:
19134
+ * `fins://path.to/app/manifest.json?$$use-last-configuration=true`
19135
+ *
19136
+ * Results in the following object:
19137
+ * ```json
19138
+ * {
19139
+ * "use-last-configuration": true"
19140
+ * }
19141
+ * ```
19142
+ *
19143
+ * These args can be accessed via the {@link ApplicationInfo.initialOptions} object:
19144
+ * ```typescript
19145
+ * const appInfo = await fin.Application.getCurrentSync().getInfo();
19146
+ * const { userAppConfigArgs } = appInfo.initialOptions;
19147
+ * console.log(userAppConfigArgs['use-last-configuration']); // 'true'
19148
+ * ```
19149
+ */
19150
+ userAppConfigArgs?: UserAppConfigArgs;
19151
+ };
19152
+
19083
19153
  /* Excluded from this release type: WorkspacePlatformOptions */
19084
19154
 
19085
19155
  /**
package/out/fdc3-api.d.ts CHANGED
@@ -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;
@@ -4580,6 +4580,17 @@ declare type DeviceInfo = {
4580
4580
  productId: string | number;
4581
4581
  };
4582
4582
 
4583
+ /**
4584
+ * Permission string keys for device APIs
4585
+ *
4586
+ * @remarks We currently only support USB and HID devices. Permissions for individual devices
4587
+ * must be granted in {@link Permissions.devices}.
4588
+ *
4589
+ * `usb`: Access to one or more USB devices
4590
+ * `hid : Access to one or more HID devices
4591
+ */
4592
+ declare type DevicePermissionName = 'usb' | 'hid';
4593
+
4583
4594
  /**
4584
4595
  * Generated when a page's theme color changes. This is usually due to encountering a meta tag.
4585
4596
  * @interface
@@ -10482,6 +10493,8 @@ declare namespace OpenFin {
10482
10493
  ApplicationPermissions,
10483
10494
  LaunchExternalProcessRule,
10484
10495
  SystemPermissions,
10496
+ DevicePermissionName,
10497
+ WebPermissionName,
10485
10498
  WebPermission,
10486
10499
  VerboseWebPermission,
10487
10500
  OpenExternalPermission,
@@ -10545,6 +10558,7 @@ declare namespace OpenFin {
10545
10558
  AppVersionError,
10546
10559
  AppVersionRuntimeInfo,
10547
10560
  LaunchEmitter,
10561
+ UserAppConfigArgs,
10548
10562
  RvmLaunchOptions,
10549
10563
  ShortCutConfig,
10550
10564
  TerminateExternalRequestType,
@@ -13448,7 +13462,7 @@ declare type RunRequestedEvent = OpenFin.ApplicationEvents.RunRequestedEvent;
13448
13462
  declare type RunRequestedEvent_2 = BaseEvents.IdentityEvent & {
13449
13463
  topic: 'application';
13450
13464
  type: 'run-requested';
13451
- userAppConfigArgs: Record<string, any>;
13465
+ userAppConfigArgs: OpenFin.UserAppConfigArgs;
13452
13466
  manifest: OpenFin.Manifest;
13453
13467
  };
13454
13468
 
@@ -13563,7 +13577,7 @@ declare type RvmLaunchOptions = {
13563
13577
  * True if no UI when launching
13564
13578
  */
13565
13579
  noUi?: boolean;
13566
- userAppConfigArgs?: object;
13580
+ userAppConfigArgs?: UserAppConfigArgs;
13567
13581
  /**
13568
13582
  * Timeout in seconds until RVM launch request expires.
13569
13583
  */
@@ -15371,8 +15385,13 @@ declare class System extends EmitterBase<OpenFin.SystemEvent> {
15371
15385
  launchManifest(manifestUrl: string, opts?: OpenFin.RvmLaunchOptions): Promise<OpenFin.Manifest>;
15372
15386
  /**
15373
15387
  * Query permission of a secured api in current context.
15388
+ *
15374
15389
  * @param apiName - The full name of a secured API.
15375
15390
  *
15391
+ * @remarks If a function has a structured permission value, the value of `granted` will reflect the `enabled` key
15392
+ * of the call's permissions literal. In this case, *permission may still be denied to a call* pending arguments or other
15393
+ * runtime state. This is indicated with `state: unavailable`.
15394
+ *
15376
15395
  * @example
15377
15396
  * ```js
15378
15397
  * fin.System.queryPermissionForCurrentContext('System.launchExternalProcess').then(result => console.log(result)).catch(err => console.log(err));
@@ -16100,6 +16119,11 @@ declare type UrlChangedEvent = BaseUrlEvent & ({
16100
16119
  httpStatusText: string;
16101
16120
  });
16102
16121
 
16122
+ /**
16123
+ * @interface
16124
+ */
16125
+ declare type UserAppConfigArgs = Record<string, string | string[]>;
16126
+
16103
16127
  /**
16104
16128
  * A general user bounds change event without event type.
16105
16129
  * @interface
@@ -17991,18 +18015,38 @@ declare namespace WebContentsEvents {
17991
18015
  *
17992
18016
  * @remarks We only support those web APIs listed by electron.
17993
18017
  *
17994
- * `audio`: Request access to audio devices.<br>
17995
- * `video`: Request access to video devices.<br>
17996
- * `geolocation`: Request access to user's current location.<br>
18018
+ * `audio`: Access to audio devices.<br>
18019
+ * `video`: Access to video devices.<br>
18020
+ * `geolocation`: Access to user's current location.<br>
17997
18021
  * `notifications`: Request notification creation and the ability to display them in the user's system tray.<br>
17998
- * `midiSysex`: Request the use of system exclusive messages in the webmidi API.<br>
17999
- * `pointerLock`: Request to directly interpret mouse movements as an input method.<br>
18000
- * `fullscreen`: Request for the app to enter fullscreen mode.<br>
18001
- * `openExternal`: Request to open links in external applications.<br>
18002
- * `clipboard-read`: Request access to read from the clipboard.<br>
18003
- * `clipboard-sanitized-write`: Request access to write to the clipboard.
18022
+ * `midiSysex`: Use of system exclusive messages in the webmidi API.<br>
18023
+ * `pointerLock`: Access to mouse movements as an input method.<br>
18024
+ * `fullscreen`: Access to fullscreen mode.<br>
18025
+ * `openExternal`: Access to open links in external applications.<br>
18026
+ * `clipboard-read`: Access to read from the clipboard.<br>
18027
+ * `clipboard-sanitized-write`: Access to write to the clipboard.
18028
+ * `usb`: Access to one or more USB devices
18029
+ * `hid : Access to one or more HID devices
18004
18030
  */
18005
- declare type WebPermission = 'audio' | 'video' | 'geolocation' | 'notifications' | 'midiSysex' | 'pointerLock' | 'fullscreen' | 'openExternal' | 'clipboard-read' | 'clipboard-sanitized-write' | 'hid' | 'usb' | OpenExternalPermission;
18031
+ declare type WebPermission = WebPermissionName | DevicePermissionName | OpenExternalPermission;
18032
+
18033
+ /**
18034
+ * Permission string keys for webAPIs
18035
+ *
18036
+ * @remarks We only support those web APIs listed by electron.
18037
+ *
18038
+ * `audio`: Access to audio devices.<br>
18039
+ * `video`: Access to video devices.<br>
18040
+ * `geolocation`: Access to user's current location.<br>
18041
+ * `notifications`: Request notification creation and the ability to display them in the user's system tray.<br>
18042
+ * `midiSysex`: Use of system exclusive messages in the webmidi API.<br>
18043
+ * `pointerLock`: Access to mouse movements as an input method.<br>
18044
+ * `fullscreen`: Access to fullscreen mode.<br>
18045
+ * `openExternal`: Access to open links in external applications.<br>
18046
+ * `clipboard-read`: Access to read from the clipboard.<br>
18047
+ * `clipboard-sanitized-write`: Access to write to the clipboard.
18048
+ */
18049
+ declare type WebPermissionName = 'audio' | 'video' | 'geolocation' | 'notifications' | 'midiSysex' | 'pointerLock' | 'fullscreen' | 'openExternal' | 'clipboard-read' | 'clipboard-sanitized-write';
18006
18050
 
18007
18051
  /**
18008
18052
  * Object representing headers and their values, where the
@@ -19532,6 +19576,32 @@ declare type WithPositioningOptions<T extends {} = {}> = T & {
19532
19576
  positioningOptions?: OpenFin.PositioningOptions;
19533
19577
  };
19534
19578
 
19579
+ declare type WithUserAppConfigArgs = {
19580
+ /**
19581
+ * Represents the key-value pairs for the parameters passed into any fin:// or fins:// link
19582
+ * that launches this application.
19583
+ *
19584
+ * @remarks
19585
+ * In the link, user defined parameters are separated by the `$$` delimeter, for example:
19586
+ * `fins://path.to/app/manifest.json?$$use-last-configuration=true`
19587
+ *
19588
+ * Results in the following object:
19589
+ * ```json
19590
+ * {
19591
+ * "use-last-configuration": true"
19592
+ * }
19593
+ * ```
19594
+ *
19595
+ * These args can be accessed via the {@link ApplicationInfo.initialOptions} object:
19596
+ * ```typescript
19597
+ * const appInfo = await fin.Application.getCurrentSync().getInfo();
19598
+ * const { userAppConfigArgs } = appInfo.initialOptions;
19599
+ * console.log(userAppConfigArgs['use-last-configuration']); // 'true'
19600
+ * ```
19601
+ */
19602
+ userAppConfigArgs?: UserAppConfigArgs;
19603
+ };
19604
+
19535
19605
  /**
19536
19606
  * @internal
19537
19607
  * @interface
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openfin/fdc3-api",
3
- "version": "38.81.24",
3
+ "version": "38.81.30",
4
4
  "description": "OpenFin fdc3 module utilities and types.",
5
5
  "license": "SEE LICENSE IN LICENSE.MD",
6
6
  "private": false,