@openfin/remote-adapter 37.80.39 → 37.81.20

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.
@@ -76,14 +76,42 @@ declare type AnchorType = 'top-left' | 'top-right' | 'bottom-left' | 'bottom-rig
76
76
 
77
77
  declare type AnyStrategy = ChannelStrategy<any>;
78
78
 
79
+ /**
80
+ * @deprecated Renamed to {@link ApiSettings}.
81
+ */
82
+ declare type Api = ApiSettings;
83
+
84
+ declare type ApiCall<Request, Response> = {
85
+ request: Request;
86
+ response: Response;
87
+ };
88
+
89
+ declare type ApiClient<T extends Record<any, any>> = {
90
+ [key in keyof PickOfType<T, Function>]: (...args: Parameters<T[key]>) => ReturnType<T[key]> extends Promise<any> ? ReturnType<T[key]> : Promise<ReturnType<T[key]>>;
91
+ };
92
+
93
+ /**
94
+ * @deprecated Renamed to {@link DomainApiSettings}.
95
+ */
96
+ declare type ApiInjection = DomainApiSettings;
97
+
98
+ /**
99
+ * Generated when a new Platform's API becomes responsive.
100
+ * @interface
101
+ */
102
+ declare type ApiReadyEvent = BaseEvent & {
103
+ topic: 'application';
104
+ type: 'platform-api-ready';
105
+ };
106
+
79
107
  /**
80
108
  * Configurations for API injection.
81
109
  *
82
110
  * @interface
83
111
  */
84
- declare type Api = {
112
+ declare type ApiSettings = {
85
113
  /**
86
- * Configure injection of OpenFin API into iframes based on domain
114
+ * Configure conditional injection of OpenFin API into iframes
87
115
  */
88
116
  iframe?: {
89
117
  /**
@@ -114,41 +142,6 @@ declare type Api = {
114
142
  fin?: InjectionType;
115
143
  };
116
144
 
117
- declare type ApiCall<Request, Response> = {
118
- request: Request;
119
- response: Response;
120
- };
121
-
122
- declare type ApiClient<T extends Record<any, any>> = {
123
- [key in keyof PickOfType<T, Function>]: (...args: Parameters<T[key]>) => ReturnType<T[key]> extends Promise<any> ? ReturnType<T[key]> : Promise<ReturnType<T[key]>>;
124
- };
125
-
126
- /**
127
- * @interface
128
- *
129
- * Rules for domain-conditional `fin` API injection.
130
- */
131
- declare type ApiInjection = {
132
- /**
133
- * Injection setting for the `fin` API for contexts on a matched domain.
134
- *
135
- * * 'none': The `fin` API will be not available.
136
- * * 'global': The entire `fin` API will be available.
137
- *
138
- * @defaultValue 'global'
139
- */
140
- fin: InjectionType;
141
- };
142
-
143
- /**
144
- * Generated when a new Platform's API becomes responsive.
145
- * @interface
146
- */
147
- declare type ApiReadyEvent = BaseEvent & {
148
- topic: 'application';
149
- type: 'platform-api-ready';
150
- };
151
-
152
145
  /**
153
146
  * @interface
154
147
  */
@@ -187,31 +180,6 @@ declare type AppAssetRequest = {
187
180
  alias: string;
188
181
  };
189
182
 
190
- declare interface AppIdentifier {
191
- /** The unique application identifier located within a specific application directory instance. An example of an appId might be 'app@sub.root' */
192
- readonly appId: string;
193
- /** An optional instance identifier, indicating that this object represents a specific instance of the application described. */
194
- readonly instanceId?: string;
195
- }
196
-
197
- /**
198
- * An interface that relates an intent to apps
199
- */
200
- declare interface AppIntent {
201
- readonly intent: IntentMetadata;
202
- readonly apps: Array<AppMetadata>;
203
- }
204
-
205
- /**
206
- * An interface that relates an intent to apps
207
- */
208
- declare interface AppIntent_2 {
209
- /** Details of the intent whose relationship to resolving applications is being described. */
210
- readonly intent: IntentMetadata_2;
211
- /** Details of applications that can resolve the intent. */
212
- readonly apps: Array<AppMetadata_2>;
213
- }
214
-
215
183
  /**
216
184
  * An object representing an application. Allows the developer to create,
217
185
  * execute, show/close an application as well as listen to {@link OpenFin.ApplicationEvents application events}.
@@ -972,7 +940,7 @@ declare type ApplicationIdentity_2 = {
972
940
  * @interface
973
941
  */
974
942
  declare type ApplicationInfo = {
975
- initialOptions: ApplicationCreationOptions | PlatformOptions;
943
+ initialOptions: WithUserAppConfigArgs & (ApplicationCreationOptions | PlatformOptions);
976
944
  launchMode: string;
977
945
  manifest: Manifest & {
978
946
  [key: string]: any;
@@ -1428,60 +1396,6 @@ declare type ApplySnapshotPayload = {
1428
1396
  options?: ApplySnapshotOptions;
1429
1397
  };
1430
1398
 
1431
- /**
1432
- * App definition as provided by the application directory
1433
- */
1434
- declare interface AppMetadata {
1435
- /** The unique app name that can be used with the open and raiseIntent calls. */
1436
- readonly name: string;
1437
- /** The unique application identifier located within a specific application directory instance. An example of an appId might be 'app@sub.root' */
1438
- readonly appId?: string;
1439
- /** The Version of the application. */
1440
- readonly version?: string;
1441
- /** A more user-friendly application title that can be used to render UI elements */
1442
- readonly title?: string;
1443
- /** A tooltip for the application that can be used to render UI elements */
1444
- readonly tooltip?: string;
1445
- /** A longer, multi-paragraph description for the application that could include markup */
1446
- readonly description?: string;
1447
- /** A list of icon URLs for the application that can be used to render UI elements */
1448
- readonly icons?: Array<string>;
1449
- /** A list of image URLs for the application that can be used to render UI elements */
1450
- readonly images?: Array<string>;
1451
- }
1452
-
1453
- /**
1454
- * Extends an `AppIdentifier`, describing an application or instance of an application, with additional descriptive metadata that is usually provided by an FDC3 App Directory that the desktop agent connects to.
1455
- *
1456
- * The additional information from an app directory can aid in rendering UI elements, such as a launcher menu or resolver UI. This includes a title, description, tooltip and icon and screenshot URLs.
1457
- *
1458
- * Note that as `AppMetadata` instances are also `AppIdentifiers` they may be passed to the `app` argument of `fdc3.open`, `fdc3.raiseIntent` etc.
1459
- */
1460
- declare interface AppMetadata_2 extends AppIdentifier {
1461
- /**
1462
- The 'friendly' app name.
1463
- This field was used with the `open` and `raiseIntent` calls in FDC3 <2.0, which now require an `AppIdentifier` wth `appId` set.
1464
- Note that for display purposes the `title` field should be used, if set, in preference to this field.
1465
- */
1466
- readonly name?: string;
1467
- /** The Version of the application. */
1468
- readonly version?: string;
1469
- /** An optional set of, implementation specific, metadata fields that can be used to disambiguate instances, such as a window title or screen position. Must only be set if `instanceId` is set. */
1470
- readonly instanceMetadata?: Record<string, any>;
1471
- /** A more user-friendly application title that can be used to render UI elements */
1472
- readonly title?: string;
1473
- /** A tooltip for the application that can be used to render UI elements */
1474
- readonly tooltip?: string;
1475
- /** A longer, multi-paragraph description for the application that could include markup */
1476
- readonly description?: string;
1477
- /** A list of icon URLs for the application that can be used to render UI elements */
1478
- readonly icons?: Array<Icon>;
1479
- /** Images representing the app in common usage scenarios that can be used to render UI elements */
1480
- readonly screenshots?: Array<Image_2>;
1481
- /** The type of output returned for any intent specified during resolution. May express a particular context type (e.g. "fdc3.instrument"), channel (e.g. "channel") or a channel that will receive a specified type (e.g. "channel<fdc3.instrument>"). */
1482
- readonly resultType?: string | null;
1483
- }
1484
-
1485
1399
  /**
1486
1400
  * @interface
1487
1401
  */
@@ -2408,25 +2322,7 @@ declare class Channel extends EmitterBase<ChannelEvent> {
2408
2322
 
2409
2323
  declare type Channel_2 = OpenFin.Fin['InterApplicationBus']['Channel'];
2410
2324
 
2411
- declare interface Channel_3 {
2412
- id: string;
2413
- type: string;
2414
- displayMetadata?: DisplayMetadata;
2415
- broadcast(context: Context): void;
2416
- getCurrentContext(contextType?: string): Promise<Context | null>;
2417
- addContextListener(contextType: string | null, handler: ContextHandler): Listener & Promise<Listener>;
2418
- }
2419
-
2420
- declare interface Channel_4 {
2421
- readonly id: string;
2422
- readonly type: 'user' | 'app' | 'private';
2423
- readonly displayMetadata?: DisplayMetadata_2;
2424
- broadcast(context: Context_2): Promise<void>;
2425
- getCurrentContext(contextType?: string): Promise<Context_2 | null>;
2426
- addContextListener(contextType: string | null, handler: ContextHandler_2): Listener_2 & Promise<Listener_2>;
2427
- }
2428
-
2429
- declare type Channel_5 = OpenFin.Fin['InterApplicationBus']['Channel'];
2325
+ declare type Channel_3 = OpenFin.Fin['InterApplicationBus']['Channel'];
2430
2326
 
2431
2327
  declare type ChannelAction = OpenFin.ChannelAction;
2432
2328
 
@@ -2743,7 +2639,7 @@ declare class ChannelClient extends ChannelBase {
2743
2639
  /**
2744
2640
  * @internal
2745
2641
  */
2746
- constructor(routingInfo: OpenFin.RoutingInfo, wire: Transport, strategy: AnyStrategy);
2642
+ constructor(routingInfo: OpenFin.RoutingInfo, close: () => Promise<void>, strategy: AnyStrategy);
2747
2643
  protected processAction: (action: string, payload: any, senderIdentity: OpenFin.ProviderIdentity | OpenFin.ClientIdentity) => Promise<any>;
2748
2644
  /**
2749
2645
  * a read-only provider identity
@@ -2809,6 +2705,11 @@ declare class ChannelClient extends ChannelBase {
2809
2705
  */
2810
2706
  disconnect(): Promise<void>;
2811
2707
  sendDisconnectAction(): Promise<void>;
2708
+ /**
2709
+ * @internal
2710
+ * Writing this as a static to keep code together, but in environments with a wire, this will be DI'd into the protectedObject class as close.
2711
+ */
2712
+ static wireClose(wire: Transport, providerIdentity: OpenFin.ProviderIdentity, endpointId: string): Promise<void>;
2812
2713
  }
2813
2714
 
2814
2715
  declare type ChannelClient_2 = OpenFin.ChannelClient;
@@ -2896,7 +2797,7 @@ declare class ChannelProvider extends ChannelBase {
2896
2797
  /**
2897
2798
  * @internal
2898
2799
  */
2899
- constructor(providerIdentity: ProviderIdentity_3, wire: Transport, strategy: AnyStrategy);
2800
+ constructor(providerIdentity: ProviderIdentity_3, close: () => Promise<void>, strategy: AnyStrategy);
2900
2801
  /**
2901
2802
  * Dispatch an action to a specified client. Returns a promise for the result of executing that action on the client side.
2902
2803
  *
@@ -3052,6 +2953,7 @@ declare class ChannelProvider extends ChannelBase {
3052
2953
  private getEndpointIdForOpenFinId;
3053
2954
  private static clientIdentityIncludesEndpointId;
3054
2955
  private static clientIsMultiRuntime;
2956
+ static wireClose(wire: Transport, channelName: string): Promise<void>;
3055
2957
  }
3056
2958
 
3057
2959
  declare type ChannelProviderDisconnectionListener = (identity: ProviderIdentity_4) => any;
@@ -3577,7 +3479,7 @@ declare type ConstViewOptions = {
3577
3479
  /**
3578
3480
  * Configurations for API injection.
3579
3481
  */
3580
- api: Api;
3482
+ api: ApiSettings;
3581
3483
  /**
3582
3484
  * The name of the view.
3583
3485
  */
@@ -3997,7 +3899,23 @@ declare interface Container extends EventEmitter_2 {
3997
3899
  close(): boolean;
3998
3900
  }
3999
3901
 
4000
- declare type ContentCreationBehaviorNames = 'window' | 'view' | 'block' | 'browser';
3902
+ /**
3903
+ * Generated when content navigation or redirection is blocked by {@link OpenFin.DomainSettings}.
3904
+ */
3905
+ declare type ContentBlockedEvent = NamedEvent & {
3906
+ type: 'content-blocked';
3907
+ /**
3908
+ * The domain whose content was blocked.
3909
+ */
3910
+ url: string;
3911
+ };
3912
+
3913
+ declare type ContentCreationBehavior = 'window' | 'view' | 'block' | 'browser';
3914
+
3915
+ /**
3916
+ * @deprecated Renamed to {@link ContentCreationBehavior}.
3917
+ */
3918
+ declare type ContentCreationBehaviorNames = ContentCreationBehavior;
4001
3919
 
4002
3920
  /**
4003
3921
  * Configures how new content (e,g, from `window.open` or a link) is opened.
@@ -4021,7 +3939,7 @@ declare type ContentCreationOptions = {
4021
3939
  * @typeParam Behavior The way content governed by this rule will be created. If provided, this type will narrow to
4022
3940
  * the specified `behavior` key.
4023
3941
  */
4024
- declare type ContentCreationRule<Behavior extends ContentCreationBehaviorNames = ContentCreationBehaviorNames> = Extract<WindowContentCreationRule | ViewContentCreationRule | BrowserContentCreationRule | BlockedContentCreationRule, {
3942
+ declare type ContentCreationRule<Behavior extends ContentCreationBehavior = ContentCreationBehavior> = Extract<WindowContentCreationRule | ViewContentCreationRule | BrowserContentCreationRule | BlockedContentCreationRule, {
4025
3943
  behavior: Behavior;
4026
3944
  }>;
4027
3945
 
@@ -4271,39 +4189,39 @@ declare interface ContentItem extends EventEmitter_2 {
4271
4189
  * In the lack of an allowlist, navigation to URLs that match a denied pattern would be prohibited.
4272
4190
  * See [here](https://developer.chrome.com/docs/extensions/develop/concepts/match-patterns) for more details.
4273
4191
  *
4192
+ * @remarks Superseded by {@link DomainSettingsRule.content}. If {@link DomainSettings.default} includes a
4193
+ * `content` setting, this setting will be **ignored**.
4194
+ *
4274
4195
  * @interface
4275
4196
  */
4276
4197
  declare type ContentNavigation = NavigationRules;
4277
4198
 
4199
+ /**
4200
+ * Whether a content url is allowed or blocked for navigation or redirection.
4201
+ *
4202
+ * * 'allow': The content url is allowed.
4203
+ * * 'block': The content url is blocked.
4204
+ */
4205
+ declare type ContentPermission = 'allow' | 'block';
4206
+
4278
4207
  /**
4279
4208
  * Restrict redirects to URLs that match an allowed pattern.
4280
4209
  * In the lack of an allowlist, redirects to URLs that match a denied pattern would be prohibited.
4281
4210
  * See [here](https://developer.chrome.com/docs/extensions/develop/concepts/match-patterns) for more details.
4282
4211
  *
4212
+ * @remarks Superseded by {@link DomainSettingsRule.content}. If {@link DomainSettings.default} includes a
4213
+ * `content` setting, this setting will be **ignored**.
4214
+ *
4283
4215
  * @interface
4284
4216
  */
4285
4217
  declare type ContentRedirect = NavigationRules;
4286
4218
 
4287
- declare interface Context {
4288
- id?: { [key: string]: string };
4289
- name?: string;
4290
- type: string;
4291
- }
4292
-
4293
- declare interface Context_2 {
4294
- id?: { [key: string]: string };
4295
- name?: string;
4296
- type: string;
4297
- contextMetadata?: ContextMetadata;
4298
- metadata?: any;
4299
- }
4300
-
4301
4219
  /**
4302
4220
  * Data passed between entities and applications.
4303
4221
  *
4304
4222
  * @interface
4305
4223
  */
4306
- declare type Context_3 = {
4224
+ declare type Context = {
4307
4225
  /**
4308
4226
  * An object containing string key-value pairs for the bulk of the data for the context. Differs between context types.
4309
4227
  */
@@ -4332,7 +4250,7 @@ declare type ContextChangedEvent = BaseEvent_5 & {
4332
4250
  /**
4333
4251
  * @interface
4334
4252
  */
4335
- declare type ContextForIntent<MetadataType = any> = Context_3 & {
4253
+ declare type ContextForIntent<MetadataType = any> = Context & {
4336
4254
  metadata?: MetadataType;
4337
4255
  };
4338
4256
 
@@ -4348,23 +4266,19 @@ declare type ContextGroupInfo = {
4348
4266
  /**
4349
4267
  * Metadata for the Context Group. Contains the group's human-readable name, color, and an image, as defined by the Interop Broker.
4350
4268
  */
4351
- displayMetadata?: DisplayMetadata_3;
4269
+ displayMetadata?: DisplayMetadata;
4352
4270
  };
4353
4271
 
4354
4272
  declare type ContextGroupStates = {
4355
4273
  [key: string]: {
4356
- [key: string]: Context_3;
4274
+ [key: string]: Context;
4357
4275
  };
4358
4276
  };
4359
4277
 
4360
- declare type ContextHandler = (context: Context) => void;
4361
-
4362
- declare type ContextHandler_2 = (context: Context_2, metadata?: ContextMetadata) => void;
4363
-
4364
4278
  /**
4365
4279
  * Subscription function for addContextHandler.
4366
4280
  */
4367
- declare type ContextHandler_3 = (context: Context_3) => void;
4281
+ declare type ContextHandler = (context: Context) => void;
4368
4282
 
4369
4283
  /**
4370
4284
  * Configure the context menu when right-clicking on a window.
@@ -4403,20 +4317,6 @@ declare type ContextMenuSettings = {
4403
4317
  reload?: boolean;
4404
4318
  };
4405
4319
 
4406
- /**
4407
- * Metadata relating to a context or intent and context received through the
4408
- * `addContextListener` and `addIntentListener` functions.
4409
- *
4410
- * @experimental Introduced in FDC3 2.0 and may be refined by further changes outside the normal FDC3 versioning policy.
4411
- */
4412
- declare interface ContextMetadata {
4413
- /** Identifier for the app instance that sent the context and/or intent.
4414
- *
4415
- * @experimental
4416
- */
4417
- readonly source: AppIdentifier;
4418
- }
4419
-
4420
4320
  /**
4421
4321
  * @interface
4422
4322
  */
@@ -4663,45 +4563,6 @@ declare type DefaultDomainSettings = DomainSettings;
4663
4563
  */
4664
4564
  declare type DefaultDomainSettingsRule = DomainSettingsRule;
4665
4565
 
4666
- declare interface DesktopAgent {
4667
- open(app: TargetApp, context?: Context): Promise<void>;
4668
- findIntent(intent: string, context?: Context): Promise<AppIntent>;
4669
- findIntentsByContext(context: Context): Promise<Array<AppIntent>>;
4670
- broadcast(context: Context): void;
4671
- raiseIntent(intent: string, context: Context, app?: TargetApp): Promise<IntentResolution>;
4672
- raiseIntentForContext(context: Context, app?: TargetApp): Promise<IntentResolution>;
4673
- addIntentListener(intent: string, handler: ContextHandler): Listener;
4674
- joinChannel(channelId: string): Promise<void>;
4675
- leaveCurrentChannel(): Promise<void>;
4676
- getInfo(): ImplementationMetadata;
4677
- addContextListener(contextType: string | null, handler: ContextHandler): Listener & Promise<Listener>;
4678
- getOrCreateChannel(channelId: string): Promise<Channel_3>;
4679
- getSystemChannels(): Promise<SystemChannel[]>;
4680
- getCurrentChannel(): Promise<Channel_3 | null>;
4681
- }
4682
-
4683
- declare interface DesktopAgent_2 {
4684
- open(app: AppIdentifier | TargetApp, context?: Context_2): Promise<AppIdentifier>;
4685
- findIntent(intent: string, context?: Context_2, resultType?: string): Promise<AppIntent_2>;
4686
- findIntentsByContext(context: Context_2, resultType?: string): Promise<Array<AppIntent_2>>;
4687
- findInstances(app: AppIdentifier): Promise<Array<AppIdentifier>>;
4688
- broadcast(context: Context_2): Promise<void>;
4689
- raiseIntent(intent: string, context: Context_2, app?: AppIdentifier | TargetApp): Promise<IntentResolution_2>;
4690
- raiseIntentForContext(context: Context_2, app?: AppIdentifier | TargetApp): Promise<IntentResolution_2>;
4691
- addIntentListener(intent: string, handler: IntentHandler): Promise<Listener_2>;
4692
- addContextListener(contextType: string | null, handler: ContextHandler_2): Promise<Listener_2>;
4693
- getUserChannels(): Promise<Array<SystemChannel>>;
4694
- joinUserChannel(channelId: string): Promise<void>;
4695
- getOrCreateChannel(channelId: string): Promise<Channel_4>;
4696
- createPrivateChannel(): Promise<PrivateChannel>;
4697
- getCurrentChannel(): Promise<Channel_3 | null>;
4698
- leaveCurrentChannel(): Promise<void>;
4699
- getInfo(): Promise<ImplementationMetadata_2>;
4700
- getAppMetadata(app: AppIdentifier): Promise<AppMetadata_2>;
4701
- getSystemChannels(): Promise<Array<SystemChannel>>;
4702
- joinChannel(channelId: string): Promise<void>;
4703
- }
4704
-
4705
4566
  /**
4706
4567
  * Generated when the desktop icon is clicked while it's already running.
4707
4568
  * @interface
@@ -4846,52 +4707,12 @@ declare type DisconnectedEvent_3 = BaseFrameEvent & {
4846
4707
  type: 'disconnected';
4847
4708
  };
4848
4709
 
4849
- /**
4850
- * A system channel will be global enough to have a presence across many apps. This gives us some hints
4851
- * to render them in a standard way. It is assumed it may have other properties too, but if it has these,
4852
- * this is their meaning.
4853
- */
4854
- declare interface DisplayMetadata {
4855
- /**
4856
- * A user-readable name for this channel, e.g: `"Red"`
4857
- */
4858
- readonly name?: string;
4859
- /**
4860
- * The color that should be associated within this channel when displaying this channel in a UI, e.g: `0xFF0000`.
4861
- */
4862
- readonly color?: string;
4863
- /**
4864
- * A URL of an image that can be used to display this channel
4865
- */
4866
- readonly glyph?: string;
4867
- }
4868
-
4869
- /**
4870
- * A system channel will be global enough to have a presence across many apps. This gives us some hints
4871
- * to render them in a standard way. It is assumed it may have other properties too, but if it has these,
4872
- * this is their meaning.
4873
- */
4874
- declare interface DisplayMetadata_2 {
4875
- /**
4876
- * A user-readable name for this channel, e.g: `"Red"`
4877
- */
4878
- readonly name?: string;
4879
- /**
4880
- * The color that should be associated within this channel when displaying this channel in a UI, e.g: `0xFF0000`.
4881
- */
4882
- readonly color?: string;
4883
- /**
4884
- * A URL of an image that can be used to display this channel
4885
- */
4886
- readonly glyph?: string;
4887
- }
4888
-
4889
4710
  /**
4890
4711
  * The display data for a context group.
4891
4712
  *
4892
4713
  * @interface
4893
4714
  */
4894
- declare type DisplayMetadata_3 = {
4715
+ declare type DisplayMetadata = {
4895
4716
  /**
4896
4717
  * A user-readable name for this context group, e.g: `"Red"`
4897
4718
  */
@@ -4906,6 +4727,25 @@ declare type DisplayMetadata_3 = {
4906
4727
  readonly glyph?: string;
4907
4728
  };
4908
4729
 
4730
+ /**
4731
+ * @interface
4732
+ *
4733
+ * Rules for domain-conditional `fin` API injection.
4734
+ *
4735
+ * @remarks Subset of {@link DomainSettings}.
4736
+ */
4737
+ declare type DomainApiSettings = {
4738
+ /**
4739
+ * Injection setting for the `fin` API for contexts on a matched domain.
4740
+ *
4741
+ * * 'none': The `fin` API will be not available.
4742
+ * * 'global': The entire `fin` API will be available.
4743
+ *
4744
+ * @defaultValue 'global'
4745
+ */
4746
+ fin: InjectionType;
4747
+ };
4748
+
4909
4749
  /**
4910
4750
  * @interface
4911
4751
  * Defines application settings that vary by the domain of the current context.
@@ -4918,6 +4758,10 @@ declare type DomainSettings = {
4918
4758
  * {@inheritDoc DomainSettingsRule}
4919
4759
  */
4920
4760
  rules: DomainSettingsRule[];
4761
+ /**
4762
+ * Default values for settings in {@link DomainSettingsRule}.
4763
+ */
4764
+ default?: PerDomainSettings;
4921
4765
  };
4922
4766
 
4923
4767
  /**
@@ -4930,22 +4774,11 @@ declare type DomainSettingsRule = {
4930
4774
  * Array of [match patterns](https://developer.chrome.com/docs/extensions/develop/concepts/match-patterns) specifying
4931
4775
  * the domain(s) for which the rule applies.
4932
4776
  */
4933
- match: string[];
4777
+ match?: string[];
4934
4778
  /**
4935
4779
  * Settings applied when a webcontents has been navigated to a matched domain.
4936
4780
  */
4937
- options: {
4938
- /**
4939
- * {@inheritDoc FileDownloadSettings}
4940
- *
4941
- * @remarks See: https://developers.openfin.co/of-docs/docs/file-download#manifest-properties-for-file-downloads
4942
- */
4943
- downloadSettings?: FileDownloadSettings;
4944
- /**
4945
- * {@inheritDoc ApiInjection}
4946
- */
4947
- api?: ApiInjection;
4948
- };
4781
+ options: PerDomainSettings;
4949
4782
  };
4950
4783
 
4951
4784
  /**
@@ -4983,18 +4816,19 @@ declare type DownloadPreloadOption = {
4983
4816
  /**
4984
4817
  * @interface
4985
4818
  *
4986
- * A rule governing domain-conditional download behavior.
4819
+ * A rule that governs download behavior, discriminated by the URL of the download.
4987
4820
  */
4988
4821
  declare type DownloadRule = {
4989
4822
  /**
4990
- * {@inheritDoc FileDownloadBehaviorNames}
4823
+ * {@inheritDoc FileDownloadBehavior}
4991
4824
  */
4992
- behavior: FileDownloadBehaviorNames;
4825
+ behavior: FileDownloadBehavior;
4993
4826
  /**
4994
4827
  * Array of [match patterns](https://developer.chrome.com/docs/extensions/develop/concepts/match-patterns) specifying
4995
- * the domain(s) for which the rule applies.
4828
+ * URL(s) of the resource(s) being downloaded.
4996
4829
  *
4997
- * @remarks The match is evaluated against the URL of the *download*.
4830
+ * @remarks The match is evaluated against the URL of the *file*, which is not necessarily the same as that
4831
+ * of the page in which a file download link is embedded.
4998
4832
  */
4999
4833
  match: string[];
5000
4834
  };
@@ -5274,7 +5108,7 @@ declare interface Environment {
5274
5108
  getWsConstructor(): typeof WebSocket;
5275
5109
  whenReady(): Promise<void>;
5276
5110
  getInteropInfo(fin: OpenFin.Fin<OpenFin.EntityType>): Promise<InternalInteropBrokerOptions & {
5277
- fdc3Version?: Fdc3Version;
5111
+ fdc3Version?: Version;
5278
5112
  }>;
5279
5113
  readonly type: EnvironmentType;
5280
5114
  }
@@ -5342,7 +5176,7 @@ declare type Event_4 = (WebContentsEvents.Event<'view'> & {
5342
5176
  */
5343
5177
  declare type Event_5<Topic extends string> = {
5344
5178
  topic: Topic;
5345
- } & (BlurredEvent | CertificateSelectionShownEvent | CrashedEvent_2 | DidChangeThemeColorEvent | FocusedEvent | NavigationRejectedEvent | UrlChangedEvent | DidFailLoadEvent | DidFinishLoadEvent | PageFaviconUpdatedEvent | PageTitleUpdatedEvent | ResourceLoadFailedEvent | ResourceResponseReceivedEvent | ChildContentBlockedEvent | ChildContentOpenedInBrowserEvent | ChildViewCreatedEvent | ChildWindowCreatedEvent | FileDownloadStartedEvent | FileDownloadProgressEvent | FileDownloadCompletedEvent | FoundInPageEvent | CertificateErrorEvent);
5179
+ } & (BlurredEvent | CertificateSelectionShownEvent | CrashedEvent_2 | DidChangeThemeColorEvent | FocusedEvent | NavigationRejectedEvent | UrlChangedEvent | DidFailLoadEvent | DidFinishLoadEvent | PageFaviconUpdatedEvent | PageTitleUpdatedEvent | ResourceLoadFailedEvent | ResourceResponseReceivedEvent | ChildContentBlockedEvent | ChildContentOpenedInBrowserEvent | ChildViewCreatedEvent | ChildWindowCreatedEvent | FileDownloadStartedEvent | FileDownloadProgressEvent | FileDownloadCompletedEvent | FoundInPageEvent | CertificateErrorEvent | ContentBlockedEvent | WillRedirectEvent);
5346
5180
 
5347
5181
  /**
5348
5182
  * [Union](https://www.typescriptlang.org/docs/handbook/2/everyday-types.html#union-types) containing every possible event that can be emitted by a {@link Window}. Events are
@@ -5700,13 +5534,12 @@ declare type FaviconUpdatedEvent = PageFaviconUpdatedEvent;
5700
5534
 
5701
5535
  declare namespace FDC3 {
5702
5536
  export {
5703
- v1,
5704
- v2
5537
+ Version,
5538
+ v1_2,
5539
+ v2_0
5705
5540
  }
5706
5541
  }
5707
5542
 
5708
- declare type Fdc3Version = '1.2' | '2.0';
5709
-
5710
5543
  /**
5711
5544
  * @interface
5712
5545
  */
@@ -5720,7 +5553,12 @@ declare type FetchManifestPayload = {
5720
5553
  /**
5721
5554
  * Whether file downloads raise a user prompt.
5722
5555
  */
5723
- declare type FileDownloadBehaviorNames = 'prompt' | 'no-prompt';
5556
+ declare type FileDownloadBehavior = 'prompt' | 'no-prompt';
5557
+
5558
+ /**
5559
+ * @deprecated Renamed to {@link FileDownloadBehavior}.
5560
+ */
5561
+ declare type FileDownloadBehaviorNames = FileDownloadBehavior;
5724
5562
 
5725
5563
  /**
5726
5564
  * Generated when a file download has completed.
@@ -5905,8 +5743,8 @@ declare type FindInPageResult = {
5905
5743
  /**
5906
5744
  * @interface
5907
5745
  */
5908
- declare type FindIntentsByContextOptions<MetadataType = IntentMetadata_3> = {
5909
- context: Context_3;
5746
+ declare type FindIntentsByContextOptions<MetadataType = IntentMetadata> = {
5747
+ context: Context;
5910
5748
  metadata?: MetadataType;
5911
5749
  };
5912
5750
 
@@ -6351,6 +6189,20 @@ declare class GoldenLayout_2 implements EventEmitter_2 {
6351
6189
 
6352
6190
  dropTargetIndicator: any;
6353
6191
 
6192
+ _isFullPage: boolean;
6193
+
6194
+ _onUnload: any;
6195
+
6196
+ tabDropPlaceholder: any;
6197
+
6198
+ transitionIndicator: any;
6199
+
6200
+ _dragSources: any;
6201
+
6202
+ _resizeFunction: any;
6203
+
6204
+ _unloadFunction: any;
6205
+
6354
6206
  /**
6355
6207
  * @param config A GoldenLayout configuration object
6356
6208
  * @param container The DOM element the layout will be initialised in. Default: document.body
@@ -6679,15 +6531,6 @@ declare type HotkeyEvent_2 = InputEvent_2 & BaseEvent_5 & {
6679
6531
  type: 'hotkey';
6680
6532
  };
6681
6533
 
6682
- declare interface Icon {
6683
- /** The icon url */
6684
- readonly src: string;
6685
- /** The icon dimension, formatted as `<height>x<width>`. */
6686
- readonly size?: string;
6687
- /** Icon media type. If not present the Desktop Agent may use the src file extension. */
6688
- readonly type?: string;
6689
- }
6690
-
6691
6534
  declare type Identity = OpenFin.Identity;
6692
6535
 
6693
6536
  declare type Identity_2 = OpenFin.Identity;
@@ -6749,17 +6592,6 @@ declare type IdleStateChangedEvent = BaseEvent_9 & {
6749
6592
  isIdle: boolean;
6750
6593
  };
6751
6594
 
6752
- declare interface Image_2 {
6753
- /** The image url. */
6754
- readonly src: string;
6755
- /** The image dimension, formatted as `<height>x<width>`. */
6756
- readonly size?: string;
6757
- /** Image media type. If not present the Desktop Agent may use the src file extension. */
6758
- readonly type?: string;
6759
- /** Caption for the image. */
6760
- readonly label?: string;
6761
- }
6762
-
6763
6595
  declare type ImageFormatOptions = {
6764
6596
  format: 'dataURL' | 'png' | 'bmp';
6765
6597
  } | {
@@ -6770,57 +6602,15 @@ declare type ImageFormatOptions = {
6770
6602
  quality?: number;
6771
6603
  };
6772
6604
 
6773
- /**
6774
- * Metadata relating to the FDC3 Desktop Agent implementation and its provider.
6775
- */
6776
- declare interface ImplementationMetadata {
6777
- /** The version number of the FDC3 specification that the implementation provides.
6778
- * The string must be a numeric semver version, e.g. 1.2 or 1.2.1.
6779
- */
6780
- readonly fdc3Version: string;
6781
- /** The name of the provider of the FDC3 Desktop Agent Implementation (e.g. Finsemble, Glue42, OpenFin etc.). */
6782
- readonly provider: string;
6783
- /** The version of the provider of the FDC3 Desktop Agent Implementation (e.g. 5.3.0). */
6784
- readonly providerVersion?: string;
6785
- }
6786
-
6787
- /**
6788
- * Metadata relating to the FDC3 Desktop Agent implementation and its provider.
6789
- */
6790
- declare interface ImplementationMetadata_2 {
6791
- /** The version number of the FDC3 specification that the implementation provides.
6792
- * The string must be a numeric semver version, e.g. 1.2 or 1.2.1.
6793
- */
6794
- readonly fdc3Version: string;
6795
- /** The name of the provider of the Desktop Agent implementation (e.g. Finsemble, Glue42, OpenFin etc.). */
6796
- readonly provider: string;
6797
- /** The version of the provider of the Desktop Agent implementation (e.g. 5.3.0). */
6798
- readonly providerVersion?: string;
6799
- /** Metadata indicating whether the Desktop Agent implements optional features of
6800
- * the Desktop Agent API.
6801
- */
6802
- readonly optionalFeatures: {
6803
- /** Used to indicate whether the exposure of 'originating app metadata' for
6804
- * context and intent messages is supported by the Desktop Agent. */
6805
- readonly OriginatingAppMetadata: boolean;
6806
- /** Used to indicate whether the optional `fdc3.joinUserChannel`,
6807
- * `fdc3.getCurrentChannel` and `fdc3.leaveCurrentChannel` are implemented by
6808
- * the Desktop Agent. */
6809
- readonly UserChannelMembershipAPIs: boolean;
6810
- };
6811
- /** The calling application instance's own metadata, according to the Desktop Agent (MUST include at least the `appId` and `instanceId`). */
6812
- readonly appMetadata: AppMetadata_2;
6813
- }
6814
-
6815
6605
  /**
6816
6606
  * @interface
6817
6607
  */
6818
- declare type InfoForIntentOptions<MetadataType = IntentMetadata_3> = {
6608
+ declare type InfoForIntentOptions<MetadataType = IntentMetadata> = {
6819
6609
  /**
6820
6610
  * Name of the intent to get info for.
6821
6611
  */
6822
6612
  name: string;
6823
- context?: Context_3;
6613
+ context?: Context;
6824
6614
  metadata?: MetadataType;
6825
6615
  };
6826
6616
 
@@ -6949,16 +6739,10 @@ declare type InstalledApps_2 = {
6949
6739
  [key: string]: InstallationInfo;
6950
6740
  };
6951
6741
 
6952
- declare interface Intent {
6953
- name: string;
6954
- context: Context_2;
6955
- metadata: IntentMetadata_2;
6956
- }
6957
-
6958
6742
  /**
6959
6743
  * Combination of an action and a context that is passed to an application for resolution.
6960
6744
  */
6961
- declare type Intent_2<MetadataType = IntentMetadata_3> = {
6745
+ declare type Intent<MetadataType = IntentMetadata> = {
6962
6746
  /**
6963
6747
  * Name of the intent.
6964
6748
  */
@@ -6966,54 +6750,25 @@ declare type Intent_2<MetadataType = IntentMetadata_3> = {
6966
6750
  /**
6967
6751
  * Data associated with the intent.
6968
6752
  */
6969
- context: Context_3;
6753
+ context: Context;
6970
6754
  metadata?: MetadataType;
6971
6755
  };
6972
6756
 
6973
- declare type IntentHandler = (context: Context_2, metadata?: ContextMetadata) => Promise<IntentResult> | void;
6974
-
6975
6757
  /**
6976
6758
  * Subscription function for registerIntentHandler.
6977
6759
  */
6978
- declare type IntentHandler_2 = (intent: Intent_2) => void;
6760
+ declare type IntentHandler = (intent: Intent) => void;
6979
6761
 
6980
6762
  /**
6981
- * Intent descriptor
6763
+ * The type used to describe an intent within the platform.
6764
+ * @interface
6982
6765
  */
6983
- declare interface IntentMetadata {
6984
- /** The unique name of the intent that can be invoked by the raiseIntent call */
6985
- readonly name: string;
6986
- /** A friendly display name for the intent that should be used to render UI elements */
6987
- readonly displayName: string;
6988
- }
6989
-
6990
- declare type IntentMetadata_2<TargetType = any> = {
6766
+ declare type IntentMetadata<TargetType = any> = {
6991
6767
  target?: TargetType;
6992
6768
  resultType?: string;
6993
6769
  intentResolutionResultId?: string;
6994
6770
  };
6995
6771
 
6996
- /**
6997
- * The type used to describe an intent within the platform.
6998
- * @interface
6999
- */
7000
- declare type IntentMetadata_3<TargetType = any> = FDC3.v2.IntentMetadata<TargetType>;
7001
-
7002
- declare interface IntentResolution {
7003
- source: TargetApp;
7004
- data?: object;
7005
- version: string;
7006
- }
7007
-
7008
- declare interface IntentResolution_2 {
7009
- source: AppIdentifier;
7010
- intent: string;
7011
- version?: string;
7012
- getResult(): Promise<IntentResult>;
7013
- }
7014
-
7015
- declare type IntentResult = Context_2 | Channel_4 | PrivateChannel;
7016
-
7017
6772
  /**
7018
6773
  * A messaging bus that allows for pub/sub messaging between different applications.
7019
6774
  *
@@ -7271,7 +7026,6 @@ declare type InteropActionLoggingOption = {
7271
7026
  */
7272
7027
  declare class InteropBroker extends Base {
7273
7028
  #private;
7274
- private getProvider;
7275
7029
  private interopClients;
7276
7030
  private contextGroupsById;
7277
7031
  private intentClientMap;
@@ -7282,7 +7036,8 @@ declare class InteropBroker extends Base {
7282
7036
  /**
7283
7037
  * @internal
7284
7038
  */
7285
- constructor(wire: Transport, getProvider: () => Promise<OpenFin.ChannelProvider>, options: InternalInteropBrokerOptions);
7039
+ constructor(wire: Transport, createProvider: () => Promise<OpenFin.ChannelProvider>, options: InternalInteropBrokerOptions);
7040
+ private getProvider;
7286
7041
  static createClosedConstructor(...args: ConstructorParameters<typeof InteropBroker>): {
7287
7042
  new (): InteropBroker;
7288
7043
  };
@@ -7587,23 +7342,23 @@ declare class InteropBroker extends Base {
7587
7342
  * @param clientIdentity Identity of the Client making the request.
7588
7343
  */
7589
7344
  fdc3HandleOpen({ app, context }: {
7590
- app: FDC3.v1.TargetApp | FDC3.v2.AppIdentifier;
7345
+ app: FDC3.v1_2.TargetApp | FDC3.v2_0.AppIdentifier;
7591
7346
  context: OpenFin.Context;
7592
- }, clientIdentity: OpenFin.ClientIdentity): Promise<void | FDC3.v2.AppIdentifier>;
7347
+ }, clientIdentity: OpenFin.ClientIdentity): Promise<void | FDC3.v2_0.AppIdentifier>;
7593
7348
  /**
7594
7349
  * Responsible for resolving the fdc3.findInstances call.
7595
7350
  * Must be overridden
7596
7351
  * @param app AppIdentifier that was passed to fdc3.findInstances
7597
7352
  * @param clientIdentity Identity of the Client making the request.
7598
7353
  */
7599
- fdc3HandleFindInstances(app: FDC3.v2.AppIdentifier, clientIdentity: OpenFin.ClientIdentity): Promise<unknown>;
7354
+ fdc3HandleFindInstances(app: FDC3.v2_0.AppIdentifier, clientIdentity: OpenFin.ClientIdentity): Promise<unknown>;
7600
7355
  /**
7601
7356
  * Responsible for resolving the fdc3.getAppMetadata call.
7602
7357
  * Must be overridden
7603
7358
  * @param app AppIdentifier that was passed to fdc3.getAppMetadata
7604
7359
  * @param clientIdentity Identity of the Client making the request.
7605
7360
  */
7606
- fdc3HandleGetAppMetadata(app: FDC3.v2.AppIdentifier, clientIdentity: OpenFin.ClientIdentity): Promise<unknown>;
7361
+ fdc3HandleGetAppMetadata(app: FDC3.v2_0.AppIdentifier, clientIdentity: OpenFin.ClientIdentity): Promise<unknown>;
7607
7362
  /**
7608
7363
  * This function is called by the Interop Broker whenever a Context handler would fire.
7609
7364
  * For FDC3 2.0 you would need to override this function and add the contextMetadata as
@@ -7848,7 +7603,7 @@ declare class InteropClient extends Base {
7848
7603
  /**
7849
7604
  * @internal
7850
7605
  */
7851
- constructor(wire: Transport, name: string, interopConfig?: OpenFin.InteropConfig);
7606
+ constructor(wire: Transport, clientPromise: Promise<OpenFin.ChannelClient>);
7852
7607
  /**
7853
7608
  * Sets a context for the context group of the current entity.
7854
7609
  *
@@ -7908,9 +7663,7 @@ declare class InteropClient extends Base {
7908
7663
  * ```
7909
7664
  *
7910
7665
  *
7911
- * We are also testing the ability to add a context handler for specific contexts. If you would like to use
7912
- * this, please make sure you add your context handlers at the top level of your application, on a page that
7913
- * does not navigate/reload/re-render, to avoid memory leaks. This feature is experimental:
7666
+ * Passing in a context type as the second parameter will cause the handler to only be invoked with that context type.
7914
7667
  *
7915
7668
  * ```js
7916
7669
  * function handleInstrumentContext(contextInfo) {
@@ -8200,6 +7953,23 @@ declare class InteropClient extends Base {
8200
7953
  * ```
8201
7954
  */
8202
7955
  onDisconnection(listener: OpenFin.InteropClientOnDisconnectionListener): Promise<void>;
7956
+ /**
7957
+ * Returns a representation of this Interop Client as an FDC3 DesktopAgent matching the given version.
7958
+ * Note that this does not set a global FDC3 object, it only returns an instance of the FDC3 DesktopAgent.
7959
+ * This also does not raise the FDC3Ready event.
7960
+ */
7961
+ getFDC3Sync(version: '2.0'): OpenFin.FDC3.v2_0.DesktopAgent;
7962
+ getFDC3Sync(version: '1.2'): OpenFin.FDC3.v1_2.DesktopAgent;
7963
+ getFDC3Sync(version: OpenFin.FDC3.Version): OpenFin.FDC3.v1_2.DesktopAgent | OpenFin.FDC3.v2_0.DesktopAgent;
7964
+ /**
7965
+ *
7966
+ * Returns a representation of this Interop Client as an FDC3 DesktopAgent matching the given version.
7967
+ * Note that this does not set a global FDC3 object, it only returns an instance of the FDC3 DesktopAgent.
7968
+ * This also does not raise the FDC3Ready event.
7969
+ */
7970
+ getFDC3(version: '2.0'): Promise<OpenFin.FDC3.v2_0.DesktopAgent>;
7971
+ getFDC3(version: '1.2'): Promise<OpenFin.FDC3.v1_2.DesktopAgent>;
7972
+ getFDC3(version: OpenFin.FDC3.Version): Promise<OpenFin.FDC3.v1_2.DesktopAgent | OpenFin.FDC3.v2_0.DesktopAgent>;
8203
7973
  /**
8204
7974
  * @internal
8205
7975
  *
@@ -9425,21 +9195,7 @@ declare type LayoutSnapshot = {
9425
9195
  */
9426
9196
  declare type LegacyWinOptionsInAppOptions = Pick<WindowCreationOptions, 'accelerator' | 'alwaysOnTop' | 'api' | 'aspectRatio' | 'autoplayPolicy' | 'autoShow' | 'backgroundColor' | 'contentNavigation' | 'contextMenu' | 'cornerRounding' | 'customData' | 'customRequestHeaders' | 'defaultCentered' | 'defaultHeight' | 'defaultLeft' | 'defaultTop' | 'defaultWidth' | 'frame' | 'hideOnClose' | 'icon' | 'maxHeight' | 'maximizable' | 'maxWidth' | 'minHeight' | 'minimizable' | 'minWidth' | 'opacity' | 'preloadScripts' | 'resizable' | 'resizeRegion' | 'saveWindowState' | 'ignoreSavedWindowState' | 'shadow' | 'showTaskbarIcon' | 'smallWindow' | 'state' | 'taskbarIconGroup' | 'waitForPageLoad' | '_internalWorkspaceData'>;
9427
9197
 
9428
- declare interface Listener {
9429
- /**
9430
- * Unsubscribe the listener object.
9431
- */
9432
- unsubscribe(): void;
9433
- }
9434
-
9435
- declare interface Listener_2 {
9436
- /**
9437
- * Unsubscribe the listener object.
9438
- */
9439
- unsubscribe(): void;
9440
- }
9441
-
9442
- declare type Listener_3<T extends {
9198
+ declare type Listener<T extends {
9443
9199
  type: string;
9444
9200
  }> = (payload: T) => void;
9445
9201
 
@@ -9828,7 +9584,7 @@ declare type MutableViewOptions = {
9828
9584
  /**
9829
9585
  * Configurations for API injection.
9830
9586
  */
9831
- api: Api;
9587
+ api: ApiSettings;
9832
9588
  /**
9833
9589
  * Restrict navigation to URLs that match an allowed pattern.
9834
9590
  * In the lack of an allowlist, navigation to URLs that match a denylisted pattern would be prohibited.
@@ -10228,6 +9984,7 @@ declare namespace OpenFin {
10228
9984
  export {
10229
9985
  FinApi,
10230
9986
  Fin,
9987
+ FDC3,
10231
9988
  Application,
10232
9989
  ApplicationModule,
10233
9990
  ExternalApplication,
@@ -10279,11 +10036,11 @@ declare namespace OpenFin {
10279
10036
  CustomProtocolOptions,
10280
10037
  InteropBrokerOptions,
10281
10038
  ContextGroupInfo,
10282
- DisplayMetadata_3 as DisplayMetadata,
10039
+ DisplayMetadata,
10283
10040
  LegacyWinOptionsInAppOptions,
10284
10041
  Snapshot,
10285
10042
  ContextGroupStates,
10286
- Context_3 as Context,
10043
+ Context,
10287
10044
  MonitorInfo,
10288
10045
  Point,
10289
10046
  PointTopLeft,
@@ -10310,6 +10067,7 @@ declare namespace OpenFin {
10310
10067
  ResizeRegion,
10311
10068
  Accelerator,
10312
10069
  Api,
10070
+ ApiSettings,
10313
10071
  InjectionType,
10314
10072
  NavigationRules,
10315
10073
  ContentNavigation,
@@ -10416,6 +10174,7 @@ declare namespace OpenFin {
10416
10174
  AppVersionError,
10417
10175
  AppVersionRuntimeInfo,
10418
10176
  LaunchEmitter,
10177
+ UserAppConfigArgs,
10419
10178
  RvmLaunchOptions,
10420
10179
  ShortCutConfig,
10421
10180
  TerminateExternalRequestType,
@@ -10461,14 +10220,19 @@ declare namespace OpenFin {
10461
10220
  DefaultDomainSettingsRule,
10462
10221
  DomainSettings,
10463
10222
  ApiInjection,
10223
+ DomainApiSettings,
10224
+ ContentPermission,
10225
+ PerDomainSettings,
10464
10226
  DomainSettingsRule,
10227
+ FileDownloadBehavior,
10465
10228
  FileDownloadBehaviorNames,
10466
10229
  FileDownloadSettings,
10467
10230
  DownloadRule,
10468
- ContextHandler_3 as ContextHandler,
10469
- Intent_2 as Intent,
10470
- IntentMetadata_3 as IntentMetadata,
10471
- IntentHandler_2 as IntentHandler,
10231
+ ContextHandler,
10232
+ Intent,
10233
+ IntentMetadata,
10234
+ IntentHandler,
10235
+ ContentCreationBehavior,
10472
10236
  ContentCreationBehaviorNames,
10473
10237
  MatchPattern,
10474
10238
  BaseContentCreationRule,
@@ -10688,6 +10452,31 @@ declare type Payload_9<Type extends EventType_8> = Extract<Event_11, {
10688
10452
  type: Type;
10689
10453
  }>;
10690
10454
 
10455
+ /**
10456
+ * @interface
10457
+ *
10458
+ * Conditional settings for a domain or set of domains.
10459
+ */
10460
+ declare type PerDomainSettings = {
10461
+ /**
10462
+ * {@inheritDoc FileDownloadSettings}
10463
+ *
10464
+ * @remarks See: https://developers.openfin.co/of-docs/docs/file-download#manifest-properties-for-file-downloads
10465
+ */
10466
+ downloadSettings?: FileDownloadSettings;
10467
+ /**
10468
+ * {@inheritDoc ApiInjection}
10469
+ */
10470
+ api?: DomainApiSettings;
10471
+ /**
10472
+ * Whether DOM content can be loaded (by navigation or redirect).
10473
+ *
10474
+ * @remarks If this is included in {@link DomainSettings.default}, then {@link ContentNavigation} and
10475
+ * {@link ContentRedirect} will be **ignored**.
10476
+ */
10477
+ content?: ContentPermission;
10478
+ };
10479
+
10691
10480
  /**
10692
10481
  * Generated when window finishes loading. Provides performance and navigation data.
10693
10482
  * @interface
@@ -10726,7 +10515,7 @@ declare class Platform extends EmitterBase<OpenFin.PlatformEvent> {
10726
10515
  /**
10727
10516
  * @internal
10728
10517
  */
10729
- constructor(identity: OpenFin.ApplicationIdentity, channel: Channel_5);
10518
+ constructor(identity: OpenFin.ApplicationIdentity, channel: Channel_3);
10730
10519
  getClient: (identity?: OpenFin.ApplicationIdentity) => Promise<ChannelClient_2>;
10731
10520
  /**
10732
10521
  * Creates a new view and attaches it to a specified target window.
@@ -12502,14 +12291,6 @@ declare type PrintOptions = {
12502
12291
  dpi?: Dpi;
12503
12292
  };
12504
12293
 
12505
- declare type PrivateChannel = Omit<Channel_4, 'addContextListener'> & {
12506
- addContextListener(contextType: string | null, handler: ContextHandler_2): Promise<Listener_2>;
12507
- onAddContextListener(handler: (contextType?: string) => void): Listener_2;
12508
- onUnsubscribe(handler: (contextType?: string) => void): Listener_2;
12509
- onDisconnect(handler: () => void): Listener_2;
12510
- disconnect(): void;
12511
- };
12512
-
12513
12294
  /**
12514
12295
  * Strategy to assign views to process affinity by domain.
12515
12296
  *
@@ -13278,7 +13059,7 @@ declare type RunRequestedEvent = OpenFin.ApplicationEvents.RunRequestedEvent;
13278
13059
  declare type RunRequestedEvent_2 = BaseEvents.IdentityEvent & {
13279
13060
  topic: 'application';
13280
13061
  type: 'run-requested';
13281
- userAppConfigArgs: Record<string, any>;
13062
+ userAppConfigArgs: OpenFin.UserAppConfigArgs;
13282
13063
  manifest: OpenFin.Manifest;
13283
13064
  };
13284
13065
 
@@ -13393,7 +13174,7 @@ declare type RvmLaunchOptions = {
13393
13174
  * True if no UI when launching
13394
13175
  */
13395
13176
  noUi?: boolean;
13396
- userAppConfigArgs?: object;
13177
+ userAppConfigArgs?: UserAppConfigArgs;
13397
13178
  /**
13398
13179
  * Timeout in seconds until RVM launch request expires.
13399
13180
  */
@@ -13475,19 +13256,19 @@ declare type SessionContextGroup = {
13475
13256
  * A SessionContextGroup instance method for setting a context in the SessionContextGroup.
13476
13257
  * @param context The Context to be set.
13477
13258
  */
13478
- setContext: (context: Context_3) => Promise<void>;
13259
+ setContext: (context: Context) => Promise<void>;
13479
13260
  /**
13480
13261
  * A SessionContextGroup instance method for getting the current context of a certain type.
13481
13262
  * @param type The Context Type to get. If not specified the last contextType set would get used.
13482
13263
  */
13483
- getCurrentContext: (type?: string) => Promise<Context_3>;
13264
+ getCurrentContext: (type?: string) => Promise<Context>;
13484
13265
  /**
13485
13266
  * A SessionContextGroup instance method for adding a handler for context change.
13486
13267
  * @param handler The callback to be invoked. Is invoked when (a) the context changes or (b) immediately after getting created if the context is already set.
13487
13268
  * @param contextType The context type this handler should listen to. If not specified, a global handler for all context types will get created. Only one global handler is allowed per SessionContextGroup.
13488
13269
  *
13489
13270
  */
13490
- addContextHandler: (handler: ContextHandler_3, contextType?: string) => Promise<{
13271
+ addContextHandler: (handler: ContextHandler, contextType?: string) => Promise<{
13491
13272
  unsubscribe: () => void;
13492
13273
  }>;
13493
13274
  };
@@ -15380,12 +15161,6 @@ declare class System extends EmitterBase<OpenFin.SystemEvent> {
15380
15161
  setDomainSettings(domainSettings: OpenFin.DefaultDomainSettings): Promise<void>;
15381
15162
  }
15382
15163
 
15383
- declare type SystemChannel = Omit<Channel_3, 'addContextListener' | 'broadcast' | 'getCurrentContext'> & {
15384
- addContextListener(): Error;
15385
- broadcast(): Error;
15386
- getCurrentContext(): Error;
15387
- };
15388
-
15389
15164
  /**
15390
15165
  * @deprecated Renamed to {@link Event}.
15391
15166
  */
@@ -15664,8 +15439,6 @@ declare class TabStack extends LayoutNode {
15664
15439
  setActiveView: (view: OpenFin.Identity) => Promise<void>;
15665
15440
  }
15666
15441
 
15667
- declare type TargetApp = string | AppMetadata;
15668
-
15669
15442
  /**
15670
15443
  * Generated when a View changes its window target.
15671
15444
  * @remarks This event will fire during creation of a View.
@@ -15863,13 +15636,13 @@ declare type tween = 'linear' | 'ease-in' | 'ease-out' | 'ease-in-out' | 'ease-i
15863
15636
  declare interface TypedEventEmitter<Event extends {
15864
15637
  type: string;
15865
15638
  }, EmitterEventType = Event['type']> {
15866
- on<EventType extends EmitterEventType>(event: EventType, listener: Listener_3<Extract<Event, {
15639
+ on<EventType extends EmitterEventType>(event: EventType, listener: Listener<Extract<Event, {
15867
15640
  type: EventType;
15868
15641
  }>>): this;
15869
- addListener<EventType extends EmitterEventType>(event: EventType, listener: Listener_3<Extract<Event, {
15642
+ addListener<EventType extends EmitterEventType>(event: EventType, listener: Listener<Extract<Event, {
15870
15643
  type: EventType;
15871
15644
  }>>): this;
15872
- removeListener<EventType extends EmitterEventType>(event: EventType, listener: Listener_3<Extract<Event, {
15645
+ removeListener<EventType extends EmitterEventType>(event: EventType, listener: Listener<Extract<Event, {
15873
15646
  type: EventType;
15874
15647
  }>>): this;
15875
15648
  removeAllListeners<EventType extends EmitterEventType>(event?: EmitterEventType): this;
@@ -15912,6 +15685,11 @@ declare type UrlChangedEvent = BaseUrlEvent & ({
15912
15685
  httpStatusText: string;
15913
15686
  });
15914
15687
 
15688
+ /**
15689
+ * @interface
15690
+ */
15691
+ declare type UserAppConfigArgs = Record<string, string | string[]>;
15692
+
15915
15693
  /**
15916
15694
  * A general user bounds change event without event type.
15917
15695
  * @interface
@@ -15940,45 +15718,102 @@ declare type UserMovementEnabledEvent = BaseEvent_5 & {
15940
15718
  type: 'user-movement-enabled';
15941
15719
  };
15942
15720
 
15943
- declare namespace v1 {
15944
- export {
15945
- Listener,
15946
- AppMetadata,
15947
- IntentMetadata,
15721
+ declare namespace v1_2 {
15722
+ {
15948
15723
  AppIntent,
15724
+ AppMetadata,
15949
15725
  DisplayMetadata,
15726
+ OpenError,
15727
+ ResolveError,
15728
+ ChannelError,
15950
15729
  ImplementationMetadata,
15951
- ContextHandler,
15952
- TargetApp,
15730
+ IntentMetadata,
15731
+ Listener,
15732
+ ContextTypes,
15733
+ ContextType,
15953
15734
  Context,
15735
+ ContactList,
15736
+ Contact,
15737
+ ContactID,
15738
+ InstrumentList,
15739
+ Instrument,
15740
+ InstrumentID,
15741
+ Country,
15742
+ CountryID,
15743
+ Organization,
15744
+ OrganizationID,
15745
+ Portfolio,
15746
+ Position,
15747
+ Convert,
15748
+ Intents,
15749
+ Channel,
15750
+ DesktopAgent,
15954
15751
  IntentResolution,
15955
- Channel_3 as Channel,
15956
- SystemChannel,
15957
- DesktopAgent
15752
+ TargetApp,
15753
+ ContextHandler
15958
15754
  }
15959
15755
  }
15960
15756
 
15961
- declare namespace v2 {
15962
- export {
15963
- IntentMetadata_2 as IntentMetadata,
15757
+ declare namespace v2_0 {
15758
+ {
15964
15759
  AppIdentifier,
15965
- Listener_2 as Listener,
15966
15760
  AppIntent_2 as AppIntent,
15967
- ImplementationMetadata_2 as ImplementationMetadata,
15761
+ AppMetadata_2 as AppMetadata,
15968
15762
  ContextMetadata,
15763
+ DisplayMetadata_2 as DisplayMetadata,
15764
+ OpenError_2 as OpenError,
15765
+ ResolveError_2 as ResolveError,
15766
+ ResultError,
15767
+ ChannelError_2 as ChannelError,
15969
15768
  Icon,
15970
15769
  Image_2 as Image,
15971
- AppMetadata_2 as AppMetadata,
15972
- DisplayMetadata_2 as DisplayMetadata,
15973
- ContextHandler_2 as ContextHandler,
15974
- IntentHandler,
15975
- IntentResult,
15770
+ ImplementationMetadata_2 as ImplementationMetadata,
15771
+ IntentMetadata_2 as IntentMetadata,
15772
+ Listener_2 as Listener,
15773
+ ContextTypes_2 as ContextTypes,
15774
+ ContextType_2 as ContextType,
15775
+ Chart,
15776
+ InstrumentElement,
15777
+ PurpleID,
15778
+ PurpleMarket,
15779
+ TimeRangeObject,
15780
+ Style,
15781
+ ChatInitSettings,
15782
+ ContactListObject,
15783
+ ContactElement,
15784
+ FluffyID,
15785
+ Contact_2 as Contact,
15786
+ TentacledID,
15787
+ ContactList_2 as ContactList,
15976
15788
  Context_2 as Context,
15977
- Intent,
15789
+ Country_2 as Country,
15790
+ CountryID_2 as CountryID,
15791
+ Currency,
15792
+ CurrencyID,
15793
+ Email,
15794
+ RecipientsObject,
15795
+ RecipientsID,
15796
+ Instrument_2 as Instrument,
15797
+ StickyID,
15798
+ FluffyMarket,
15799
+ InstrumentList_2 as InstrumentList,
15800
+ Nothing,
15801
+ Organization_2 as Organization,
15802
+ OrganizationID_2 as OrganizationID,
15803
+ Portfolio_2 as Portfolio,
15804
+ PositionElement,
15805
+ Position_2 as Position,
15806
+ TimeRange,
15807
+ Valuation,
15808
+ Convert_2 as Convert,
15809
+ Intents_2 as Intents,
15810
+ Channel_2 as Channel,
15811
+ DesktopAgent_2 as DesktopAgent,
15978
15812
  IntentResolution_2 as IntentResolution,
15979
- Channel_4 as Channel,
15980
15813
  PrivateChannel,
15981
- DesktopAgent_2 as DesktopAgent
15814
+ ContextHandler_2 as ContextHandler,
15815
+ IntentResult,
15816
+ IntentHandler
15982
15817
  }
15983
15818
  }
15984
15819
 
@@ -15987,6 +15822,13 @@ declare type VerboseWebPermission = {
15987
15822
  enabled: boolean;
15988
15823
  };
15989
15824
 
15825
+ declare type Version = (typeof versions)[keyof typeof versions];
15826
+
15827
+ declare const versions: {
15828
+ readonly v1_2: "1.2";
15829
+ readonly v2_0: "2.0";
15830
+ };
15831
+
15990
15832
  declare type View = OpenFin.View;
15991
15833
 
15992
15834
  /**
@@ -17725,10 +17567,12 @@ declare namespace WebContentsEvents {
17725
17567
  FileDownloadStartedEvent,
17726
17568
  FileDownloadProgressEvent,
17727
17569
  FileDownloadCompletedEvent,
17570
+ ContentBlockedEvent,
17728
17571
  Event_5 as Event,
17729
17572
  WebContentsEvent,
17730
17573
  WillPropagateWebContentsEvent,
17731
- NonPropagatedWebContentsEvent
17574
+ NonPropagatedWebContentsEvent,
17575
+ WillRedirectEvent
17732
17576
  }
17733
17577
  }
17734
17578
 
@@ -17806,14 +17650,15 @@ declare type WillPropagateWebContentsEvent = Event_5<string>;
17806
17650
  declare type WillPropagateWindowEvent = WindowSourcedEvent;
17807
17651
 
17808
17652
  /**
17809
- * Generated when window is being redirected as per contentRedirect allowlist/denylist rules.
17653
+ * Generated whenever a redirection occurs.
17810
17654
  * @interface
17811
17655
  */
17812
- declare type WillRedirectEvent = BaseEvent_5 & {
17656
+ declare type WillRedirectEvent = NamedEvent & {
17813
17657
  type: 'will-redirect';
17814
17658
  blocked: boolean;
17815
17659
  isInPlace: boolean;
17816
17660
  url: string;
17661
+ isMainFrame: boolean;
17817
17662
  };
17818
17663
 
17819
17664
  /**
@@ -17838,10 +17683,6 @@ declare class _Window extends WebContents<OpenFin.WindowEvent> {
17838
17683
  * @internal
17839
17684
  */
17840
17685
  constructor(wire: Transport, identity: OpenFin.Identity);
17841
- /**
17842
- * create a new window
17843
- * @internal
17844
- */
17845
17686
  createWindow(options: OpenFin.WindowCreationOptions): Promise<OpenFin.Window>;
17846
17687
  /**
17847
17688
  * Retrieves an array of frame info objects representing the main frame and any
@@ -18965,7 +18806,6 @@ declare namespace WindowEvents {
18965
18806
  AlertRequestedEvent,
18966
18807
  AuthRequestedEvent,
18967
18808
  EndLoadEvent,
18968
- WillRedirectEvent,
18969
18809
  ReloadedEvent,
18970
18810
  OptionsChangedEvent,
18971
18811
  WindowOptionsChangedEvent_2 as WindowOptionsChangedEvent,
@@ -19221,7 +19061,7 @@ declare type WindowShowRequestedEvent = ShowRequestedEvent;
19221
19061
  * A union of all events that emit natively on the `Window` topic, i.e. excluding those that propagate
19222
19062
  * from {@link OpenFin.ViewEvents}.
19223
19063
  */
19224
- declare type WindowSourcedEvent = WebContentsEvents.Event<'window'> | WindowViewEvent | AuthRequestedEvent | BeginUserBoundsChangingEvent | BoundsChangedEvent | BoundsChangingEvent | ContextChangedEvent | CloseRequestedEvent | ClosedEvent_2 | ClosingEvent | DisabledMovementBoundsChangedEvent | DisabledMovementBoundsChangingEvent | EmbeddedEvent | EndUserBoundsChangingEvent | ExternalProcessExitedEvent | ExternalProcessStartedEvent | HiddenEvent_2 | HotkeyEvent_2 | InitializedEvent_2 | LayoutInitializedEvent | LayoutReadyEvent | MaximizedEvent | MinimizedEvent | OptionsChangedEvent | PerformanceReportEvent | PreloadScriptsStateChangedEvent | PreloadScriptsStateChangingEvent | ReloadedEvent | RestoredEvent | ShowRequestedEvent | ShownEvent_2 | UserMovementDisabledEvent | UserMovementEnabledEvent | WillMoveEvent | WillRedirectEvent | WillResizeEvent | ShowAllDownloadsEvent | DownloadShelfVisibilityChangedEvent;
19064
+ declare type WindowSourcedEvent = WebContentsEvents.Event<'window'> | WindowViewEvent | AuthRequestedEvent | BeginUserBoundsChangingEvent | BoundsChangedEvent | BoundsChangingEvent | ContextChangedEvent | CloseRequestedEvent | ClosedEvent_2 | ClosingEvent | DisabledMovementBoundsChangedEvent | DisabledMovementBoundsChangingEvent | EmbeddedEvent | EndUserBoundsChangingEvent | ExternalProcessExitedEvent | ExternalProcessStartedEvent | HiddenEvent_2 | HotkeyEvent_2 | InitializedEvent_2 | LayoutInitializedEvent | LayoutReadyEvent | MaximizedEvent | MinimizedEvent | OptionsChangedEvent | PerformanceReportEvent | PreloadScriptsStateChangedEvent | PreloadScriptsStateChangingEvent | ReloadedEvent | RestoredEvent | ShowRequestedEvent | ShownEvent_2 | UserMovementDisabledEvent | UserMovementEnabledEvent | WillMoveEvent | WillResizeEvent | ShowAllDownloadsEvent | DownloadShelfVisibilityChangedEvent;
19225
19065
 
19226
19066
  /**
19227
19067
  * Generated when a child window starts loading.
@@ -19282,6 +19122,32 @@ declare type WithPositioningOptions<T extends {} = {}> = T & {
19282
19122
  positioningOptions?: OpenFin.PositioningOptions;
19283
19123
  };
19284
19124
 
19125
+ declare type WithUserAppConfigArgs = {
19126
+ /**
19127
+ * Represents the key-value pairs for the parameters passed into any fin:// or fins:// link
19128
+ * that launches this application.
19129
+ *
19130
+ * @remarks
19131
+ * In the link, user defined parameters are separated by the `$$` delimeter, for example:
19132
+ * `fins://path.to/app/manifest.json?$$use-last-configuration=true`
19133
+ *
19134
+ * Results in the following object:
19135
+ * ```json
19136
+ * {
19137
+ * "use-last-configuration": true"
19138
+ * }
19139
+ * ```
19140
+ *
19141
+ * These args can be accessed via the {@link ApplicationInfo.initialOptions} object:
19142
+ * ```typescript
19143
+ * const appInfo = await fin.Application.getCurrentSync().getInfo();
19144
+ * const { userAppConfigArgs } = appInfo.initialOptions;
19145
+ * console.log(userAppConfigArgs['use-last-configuration']); // 'true'
19146
+ * ```
19147
+ */
19148
+ userAppConfigArgs?: UserAppConfigArgs;
19149
+ };
19150
+
19285
19151
  /**
19286
19152
  * @internal
19287
19153
  * @interface