@openfin/node-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;
@@ -3557,7 +3459,7 @@ declare type ConstViewOptions = {
3557
3459
  /**
3558
3460
  * Configurations for API injection.
3559
3461
  */
3560
- api: Api;
3462
+ api: ApiSettings;
3561
3463
  /**
3562
3464
  * The name of the view.
3563
3465
  */
@@ -3977,7 +3879,23 @@ declare interface Container extends EventEmitter_2 {
3977
3879
  close(): boolean;
3978
3880
  }
3979
3881
 
3980
- declare type ContentCreationBehaviorNames = 'window' | 'view' | 'block' | 'browser';
3882
+ /**
3883
+ * Generated when content navigation or redirection is blocked by {@link OpenFin.DomainSettings}.
3884
+ */
3885
+ declare type ContentBlockedEvent = NamedEvent & {
3886
+ type: 'content-blocked';
3887
+ /**
3888
+ * The domain whose content was blocked.
3889
+ */
3890
+ url: string;
3891
+ };
3892
+
3893
+ declare type ContentCreationBehavior = 'window' | 'view' | 'block' | 'browser';
3894
+
3895
+ /**
3896
+ * @deprecated Renamed to {@link ContentCreationBehavior}.
3897
+ */
3898
+ declare type ContentCreationBehaviorNames = ContentCreationBehavior;
3981
3899
 
3982
3900
  /**
3983
3901
  * Configures how new content (e,g, from `window.open` or a link) is opened.
@@ -4001,7 +3919,7 @@ declare type ContentCreationOptions = {
4001
3919
  * @typeParam Behavior The way content governed by this rule will be created. If provided, this type will narrow to
4002
3920
  * the specified `behavior` key.
4003
3921
  */
4004
- declare type ContentCreationRule<Behavior extends ContentCreationBehaviorNames = ContentCreationBehaviorNames> = Extract<WindowContentCreationRule | ViewContentCreationRule | BrowserContentCreationRule | BlockedContentCreationRule, {
3922
+ declare type ContentCreationRule<Behavior extends ContentCreationBehavior = ContentCreationBehavior> = Extract<WindowContentCreationRule | ViewContentCreationRule | BrowserContentCreationRule | BlockedContentCreationRule, {
4005
3923
  behavior: Behavior;
4006
3924
  }>;
4007
3925
 
@@ -4251,39 +4169,39 @@ declare interface ContentItem extends EventEmitter_2 {
4251
4169
  * In the lack of an allowlist, navigation to URLs that match a denied pattern would be prohibited.
4252
4170
  * See [here](https://developer.chrome.com/docs/extensions/develop/concepts/match-patterns) for more details.
4253
4171
  *
4172
+ * @remarks Superseded by {@link DomainSettingsRule.content}. If {@link DomainSettings.default} includes a
4173
+ * `content` setting, this setting will be **ignored**.
4174
+ *
4254
4175
  * @interface
4255
4176
  */
4256
4177
  declare type ContentNavigation = NavigationRules;
4257
4178
 
4179
+ /**
4180
+ * Whether a content url is allowed or blocked for navigation or redirection.
4181
+ *
4182
+ * * 'allow': The content url is allowed.
4183
+ * * 'block': The content url is blocked.
4184
+ */
4185
+ declare type ContentPermission = 'allow' | 'block';
4186
+
4258
4187
  /**
4259
4188
  * Restrict redirects to URLs that match an allowed pattern.
4260
4189
  * In the lack of an allowlist, redirects to URLs that match a denied pattern would be prohibited.
4261
4190
  * See [here](https://developer.chrome.com/docs/extensions/develop/concepts/match-patterns) for more details.
4262
4191
  *
4192
+ * @remarks Superseded by {@link DomainSettingsRule.content}. If {@link DomainSettings.default} includes a
4193
+ * `content` setting, this setting will be **ignored**.
4194
+ *
4263
4195
  * @interface
4264
4196
  */
4265
4197
  declare type ContentRedirect = NavigationRules;
4266
4198
 
4267
- declare interface Context {
4268
- id?: { [key: string]: string };
4269
- name?: string;
4270
- type: string;
4271
- }
4272
-
4273
- declare interface Context_2 {
4274
- id?: { [key: string]: string };
4275
- name?: string;
4276
- type: string;
4277
- contextMetadata?: ContextMetadata;
4278
- metadata?: any;
4279
- }
4280
-
4281
4199
  /**
4282
4200
  * Data passed between entities and applications.
4283
4201
  *
4284
4202
  * @interface
4285
4203
  */
4286
- declare type Context_3 = {
4204
+ declare type Context = {
4287
4205
  /**
4288
4206
  * An object containing string key-value pairs for the bulk of the data for the context. Differs between context types.
4289
4207
  */
@@ -4312,7 +4230,7 @@ declare type ContextChangedEvent = BaseEvent_5 & {
4312
4230
  /**
4313
4231
  * @interface
4314
4232
  */
4315
- declare type ContextForIntent<MetadataType = any> = Context_3 & {
4233
+ declare type ContextForIntent<MetadataType = any> = Context & {
4316
4234
  metadata?: MetadataType;
4317
4235
  };
4318
4236
 
@@ -4328,23 +4246,19 @@ declare type ContextGroupInfo = {
4328
4246
  /**
4329
4247
  * Metadata for the Context Group. Contains the group's human-readable name, color, and an image, as defined by the Interop Broker.
4330
4248
  */
4331
- displayMetadata?: DisplayMetadata_3;
4249
+ displayMetadata?: DisplayMetadata;
4332
4250
  };
4333
4251
 
4334
4252
  declare type ContextGroupStates = {
4335
4253
  [key: string]: {
4336
- [key: string]: Context_3;
4254
+ [key: string]: Context;
4337
4255
  };
4338
4256
  };
4339
4257
 
4340
- declare type ContextHandler = (context: Context) => void;
4341
-
4342
- declare type ContextHandler_2 = (context: Context_2, metadata?: ContextMetadata) => void;
4343
-
4344
4258
  /**
4345
4259
  * Subscription function for addContextHandler.
4346
4260
  */
4347
- declare type ContextHandler_3 = (context: Context_3) => void;
4261
+ declare type ContextHandler = (context: Context) => void;
4348
4262
 
4349
4263
  /**
4350
4264
  * Configure the context menu when right-clicking on a window.
@@ -4383,20 +4297,6 @@ declare type ContextMenuSettings = {
4383
4297
  reload?: boolean;
4384
4298
  };
4385
4299
 
4386
- /**
4387
- * Metadata relating to a context or intent and context received through the
4388
- * `addContextListener` and `addIntentListener` functions.
4389
- *
4390
- * @experimental Introduced in FDC3 2.0 and may be refined by further changes outside the normal FDC3 versioning policy.
4391
- */
4392
- declare interface ContextMetadata {
4393
- /** Identifier for the app instance that sent the context and/or intent.
4394
- *
4395
- * @experimental
4396
- */
4397
- readonly source: AppIdentifier;
4398
- }
4399
-
4400
4300
  /**
4401
4301
  * @interface
4402
4302
  */
@@ -4643,45 +4543,6 @@ declare type DefaultDomainSettings = DomainSettings;
4643
4543
  */
4644
4544
  declare type DefaultDomainSettingsRule = DomainSettingsRule;
4645
4545
 
4646
- declare interface DesktopAgent {
4647
- open(app: TargetApp, context?: Context): Promise<void>;
4648
- findIntent(intent: string, context?: Context): Promise<AppIntent>;
4649
- findIntentsByContext(context: Context): Promise<Array<AppIntent>>;
4650
- broadcast(context: Context): void;
4651
- raiseIntent(intent: string, context: Context, app?: TargetApp): Promise<IntentResolution>;
4652
- raiseIntentForContext(context: Context, app?: TargetApp): Promise<IntentResolution>;
4653
- addIntentListener(intent: string, handler: ContextHandler): Listener;
4654
- joinChannel(channelId: string): Promise<void>;
4655
- leaveCurrentChannel(): Promise<void>;
4656
- getInfo(): ImplementationMetadata;
4657
- addContextListener(contextType: string | null, handler: ContextHandler): Listener & Promise<Listener>;
4658
- getOrCreateChannel(channelId: string): Promise<Channel_3>;
4659
- getSystemChannels(): Promise<SystemChannel[]>;
4660
- getCurrentChannel(): Promise<Channel_3 | null>;
4661
- }
4662
-
4663
- declare interface DesktopAgent_2 {
4664
- open(app: AppIdentifier | TargetApp, context?: Context_2): Promise<AppIdentifier>;
4665
- findIntent(intent: string, context?: Context_2, resultType?: string): Promise<AppIntent_2>;
4666
- findIntentsByContext(context: Context_2, resultType?: string): Promise<Array<AppIntent_2>>;
4667
- findInstances(app: AppIdentifier): Promise<Array<AppIdentifier>>;
4668
- broadcast(context: Context_2): Promise<void>;
4669
- raiseIntent(intent: string, context: Context_2, app?: AppIdentifier | TargetApp): Promise<IntentResolution_2>;
4670
- raiseIntentForContext(context: Context_2, app?: AppIdentifier | TargetApp): Promise<IntentResolution_2>;
4671
- addIntentListener(intent: string, handler: IntentHandler): Promise<Listener_2>;
4672
- addContextListener(contextType: string | null, handler: ContextHandler_2): Promise<Listener_2>;
4673
- getUserChannels(): Promise<Array<SystemChannel>>;
4674
- joinUserChannel(channelId: string): Promise<void>;
4675
- getOrCreateChannel(channelId: string): Promise<Channel_4>;
4676
- createPrivateChannel(): Promise<PrivateChannel>;
4677
- getCurrentChannel(): Promise<Channel_3 | null>;
4678
- leaveCurrentChannel(): Promise<void>;
4679
- getInfo(): Promise<ImplementationMetadata_2>;
4680
- getAppMetadata(app: AppIdentifier): Promise<AppMetadata_2>;
4681
- getSystemChannels(): Promise<Array<SystemChannel>>;
4682
- joinChannel(channelId: string): Promise<void>;
4683
- }
4684
-
4685
4546
  /**
4686
4547
  * Generated when the desktop icon is clicked while it's already running.
4687
4548
  * @interface
@@ -4826,52 +4687,12 @@ declare type DisconnectedEvent_3 = BaseFrameEvent & {
4826
4687
  type: 'disconnected';
4827
4688
  };
4828
4689
 
4829
- /**
4830
- * A system channel will be global enough to have a presence across many apps. This gives us some hints
4831
- * to render them in a standard way. It is assumed it may have other properties too, but if it has these,
4832
- * this is their meaning.
4833
- */
4834
- declare interface DisplayMetadata {
4835
- /**
4836
- * A user-readable name for this channel, e.g: `"Red"`
4837
- */
4838
- readonly name?: string;
4839
- /**
4840
- * The color that should be associated within this channel when displaying this channel in a UI, e.g: `0xFF0000`.
4841
- */
4842
- readonly color?: string;
4843
- /**
4844
- * A URL of an image that can be used to display this channel
4845
- */
4846
- readonly glyph?: string;
4847
- }
4848
-
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_2 {
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
4690
  /**
4870
4691
  * The display data for a context group.
4871
4692
  *
4872
4693
  * @interface
4873
4694
  */
4874
- declare type DisplayMetadata_3 = {
4695
+ declare type DisplayMetadata = {
4875
4696
  /**
4876
4697
  * A user-readable name for this context group, e.g: `"Red"`
4877
4698
  */
@@ -4886,6 +4707,25 @@ declare type DisplayMetadata_3 = {
4886
4707
  readonly glyph?: string;
4887
4708
  };
4888
4709
 
4710
+ /**
4711
+ * @interface
4712
+ *
4713
+ * Rules for domain-conditional `fin` API injection.
4714
+ *
4715
+ * @remarks Subset of {@link DomainSettings}.
4716
+ */
4717
+ declare type DomainApiSettings = {
4718
+ /**
4719
+ * Injection setting for the `fin` API for contexts on a matched domain.
4720
+ *
4721
+ * * 'none': The `fin` API will be not available.
4722
+ * * 'global': The entire `fin` API will be available.
4723
+ *
4724
+ * @defaultValue 'global'
4725
+ */
4726
+ fin: InjectionType;
4727
+ };
4728
+
4889
4729
  /**
4890
4730
  * @interface
4891
4731
  * Defines application settings that vary by the domain of the current context.
@@ -4898,6 +4738,10 @@ declare type DomainSettings = {
4898
4738
  * {@inheritDoc DomainSettingsRule}
4899
4739
  */
4900
4740
  rules: DomainSettingsRule[];
4741
+ /**
4742
+ * Default values for settings in {@link DomainSettingsRule}.
4743
+ */
4744
+ default?: PerDomainSettings;
4901
4745
  };
4902
4746
 
4903
4747
  /**
@@ -4910,22 +4754,11 @@ declare type DomainSettingsRule = {
4910
4754
  * Array of [match patterns](https://developer.chrome.com/docs/extensions/develop/concepts/match-patterns) specifying
4911
4755
  * the domain(s) for which the rule applies.
4912
4756
  */
4913
- match: string[];
4757
+ match?: string[];
4914
4758
  /**
4915
4759
  * Settings applied when a webcontents has been navigated to a matched domain.
4916
4760
  */
4917
- options: {
4918
- /**
4919
- * {@inheritDoc FileDownloadSettings}
4920
- *
4921
- * @remarks See: https://developers.openfin.co/of-docs/docs/file-download#manifest-properties-for-file-downloads
4922
- */
4923
- downloadSettings?: FileDownloadSettings;
4924
- /**
4925
- * {@inheritDoc ApiInjection}
4926
- */
4927
- api?: ApiInjection;
4928
- };
4761
+ options: PerDomainSettings;
4929
4762
  };
4930
4763
 
4931
4764
  /**
@@ -4963,18 +4796,19 @@ declare type DownloadPreloadOption = {
4963
4796
  /**
4964
4797
  * @interface
4965
4798
  *
4966
- * A rule governing domain-conditional download behavior.
4799
+ * A rule that governs download behavior, discriminated by the URL of the download.
4967
4800
  */
4968
4801
  declare type DownloadRule = {
4969
4802
  /**
4970
- * {@inheritDoc FileDownloadBehaviorNames}
4803
+ * {@inheritDoc FileDownloadBehavior}
4971
4804
  */
4972
- behavior: FileDownloadBehaviorNames;
4805
+ behavior: FileDownloadBehavior;
4973
4806
  /**
4974
4807
  * Array of [match patterns](https://developer.chrome.com/docs/extensions/develop/concepts/match-patterns) specifying
4975
- * the domain(s) for which the rule applies.
4808
+ * URL(s) of the resource(s) being downloaded.
4976
4809
  *
4977
- * @remarks The match is evaluated against the URL of the *download*.
4810
+ * @remarks The match is evaluated against the URL of the *file*, which is not necessarily the same as that
4811
+ * of the page in which a file download link is embedded.
4978
4812
  */
4979
4813
  match: string[];
4980
4814
  };
@@ -5254,7 +5088,7 @@ declare interface Environment {
5254
5088
  getWsConstructor(): typeof WebSocket;
5255
5089
  whenReady(): Promise<void>;
5256
5090
  getInteropInfo(fin: OpenFin.Fin<OpenFin.EntityType>): Promise<InternalInteropBrokerOptions & {
5257
- fdc3Version?: Fdc3Version;
5091
+ fdc3Version?: Version;
5258
5092
  }>;
5259
5093
  readonly type: EnvironmentType;
5260
5094
  }
@@ -5322,7 +5156,7 @@ declare type Event_4 = (WebContentsEvents.Event<'view'> & {
5322
5156
  */
5323
5157
  declare type Event_5<Topic extends string> = {
5324
5158
  topic: Topic;
5325
- } & (BlurredEvent | CertificateSelectionShownEvent | CrashedEvent_2 | DidChangeThemeColorEvent | FocusedEvent | NavigationRejectedEvent | UrlChangedEvent | DidFailLoadEvent | DidFinishLoadEvent | PageFaviconUpdatedEvent | PageTitleUpdatedEvent | ResourceLoadFailedEvent | ResourceResponseReceivedEvent | ChildContentBlockedEvent | ChildContentOpenedInBrowserEvent | ChildViewCreatedEvent | ChildWindowCreatedEvent | FileDownloadStartedEvent | FileDownloadProgressEvent | FileDownloadCompletedEvent | FoundInPageEvent | CertificateErrorEvent);
5159
+ } & (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);
5326
5160
 
5327
5161
  /**
5328
5162
  * [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
@@ -5684,13 +5518,12 @@ declare type FaviconUpdatedEvent = PageFaviconUpdatedEvent;
5684
5518
 
5685
5519
  declare namespace FDC3 {
5686
5520
  export {
5687
- v1,
5688
- v2
5521
+ Version,
5522
+ v1_2,
5523
+ v2_0
5689
5524
  }
5690
5525
  }
5691
5526
 
5692
- declare type Fdc3Version = '1.2' | '2.0';
5693
-
5694
5527
  /**
5695
5528
  * @interface
5696
5529
  */
@@ -5704,7 +5537,12 @@ declare type FetchManifestPayload = {
5704
5537
  /**
5705
5538
  * Whether file downloads raise a user prompt.
5706
5539
  */
5707
- declare type FileDownloadBehaviorNames = 'prompt' | 'no-prompt';
5540
+ declare type FileDownloadBehavior = 'prompt' | 'no-prompt';
5541
+
5542
+ /**
5543
+ * @deprecated Renamed to {@link FileDownloadBehavior}.
5544
+ */
5545
+ declare type FileDownloadBehaviorNames = FileDownloadBehavior;
5708
5546
 
5709
5547
  /**
5710
5548
  * Generated when a file download has completed.
@@ -5913,8 +5751,8 @@ declare type FindInPageResult = {
5913
5751
  /**
5914
5752
  * @interface
5915
5753
  */
5916
- declare type FindIntentsByContextOptions<MetadataType = IntentMetadata_3> = {
5917
- context: Context_3;
5754
+ declare type FindIntentsByContextOptions<MetadataType = IntentMetadata> = {
5755
+ context: Context;
5918
5756
  metadata?: MetadataType;
5919
5757
  };
5920
5758
 
@@ -6359,6 +6197,20 @@ declare class GoldenLayout_2 implements EventEmitter_2 {
6359
6197
 
6360
6198
  dropTargetIndicator: any;
6361
6199
 
6200
+ _isFullPage: boolean;
6201
+
6202
+ _onUnload: any;
6203
+
6204
+ tabDropPlaceholder: any;
6205
+
6206
+ transitionIndicator: any;
6207
+
6208
+ _dragSources: any;
6209
+
6210
+ _resizeFunction: any;
6211
+
6212
+ _unloadFunction: any;
6213
+
6362
6214
  /**
6363
6215
  * @param config A GoldenLayout configuration object
6364
6216
  * @param container The DOM element the layout will be initialised in. Default: document.body
@@ -6687,15 +6539,6 @@ declare type HotkeyEvent_2 = InputEvent_2 & BaseEvent_5 & {
6687
6539
  type: 'hotkey';
6688
6540
  };
6689
6541
 
6690
- declare interface Icon {
6691
- /** The icon url */
6692
- readonly src: string;
6693
- /** The icon dimension, formatted as `<height>x<width>`. */
6694
- readonly size?: string;
6695
- /** Icon media type. If not present the Desktop Agent may use the src file extension. */
6696
- readonly type?: string;
6697
- }
6698
-
6699
6542
  declare type Identity = OpenFin.Identity;
6700
6543
 
6701
6544
  declare type Identity_2 = OpenFin.Identity;
@@ -6757,17 +6600,6 @@ declare type IdleStateChangedEvent = BaseEvent_9 & {
6757
6600
  isIdle: boolean;
6758
6601
  };
6759
6602
 
6760
- declare interface Image_2 {
6761
- /** The image url. */
6762
- readonly src: string;
6763
- /** The image dimension, formatted as `<height>x<width>`. */
6764
- readonly size?: string;
6765
- /** Image media type. If not present the Desktop Agent may use the src file extension. */
6766
- readonly type?: string;
6767
- /** Caption for the image. */
6768
- readonly label?: string;
6769
- }
6770
-
6771
6603
  declare type ImageFormatOptions = {
6772
6604
  format: 'dataURL' | 'png' | 'bmp';
6773
6605
  } | {
@@ -6778,57 +6610,15 @@ declare type ImageFormatOptions = {
6778
6610
  quality?: number;
6779
6611
  };
6780
6612
 
6781
- /**
6782
- * Metadata relating to the FDC3 Desktop Agent implementation and its provider.
6783
- */
6784
- declare interface ImplementationMetadata {
6785
- /** The version number of the FDC3 specification that the implementation provides.
6786
- * The string must be a numeric semver version, e.g. 1.2 or 1.2.1.
6787
- */
6788
- readonly fdc3Version: string;
6789
- /** The name of the provider of the FDC3 Desktop Agent Implementation (e.g. Finsemble, Glue42, OpenFin etc.). */
6790
- readonly provider: string;
6791
- /** The version of the provider of the FDC3 Desktop Agent Implementation (e.g. 5.3.0). */
6792
- readonly providerVersion?: string;
6793
- }
6794
-
6795
- /**
6796
- * Metadata relating to the FDC3 Desktop Agent implementation and its provider.
6797
- */
6798
- declare interface ImplementationMetadata_2 {
6799
- /** The version number of the FDC3 specification that the implementation provides.
6800
- * The string must be a numeric semver version, e.g. 1.2 or 1.2.1.
6801
- */
6802
- readonly fdc3Version: string;
6803
- /** The name of the provider of the Desktop Agent implementation (e.g. Finsemble, Glue42, OpenFin etc.). */
6804
- readonly provider: string;
6805
- /** The version of the provider of the Desktop Agent implementation (e.g. 5.3.0). */
6806
- readonly providerVersion?: string;
6807
- /** Metadata indicating whether the Desktop Agent implements optional features of
6808
- * the Desktop Agent API.
6809
- */
6810
- readonly optionalFeatures: {
6811
- /** Used to indicate whether the exposure of 'originating app metadata' for
6812
- * context and intent messages is supported by the Desktop Agent. */
6813
- readonly OriginatingAppMetadata: boolean;
6814
- /** Used to indicate whether the optional `fdc3.joinUserChannel`,
6815
- * `fdc3.getCurrentChannel` and `fdc3.leaveCurrentChannel` are implemented by
6816
- * the Desktop Agent. */
6817
- readonly UserChannelMembershipAPIs: boolean;
6818
- };
6819
- /** The calling application instance's own metadata, according to the Desktop Agent (MUST include at least the `appId` and `instanceId`). */
6820
- readonly appMetadata: AppMetadata_2;
6821
- }
6822
-
6823
6613
  /**
6824
6614
  * @interface
6825
6615
  */
6826
- declare type InfoForIntentOptions<MetadataType = IntentMetadata_3> = {
6616
+ declare type InfoForIntentOptions<MetadataType = IntentMetadata> = {
6827
6617
  /**
6828
6618
  * Name of the intent to get info for.
6829
6619
  */
6830
6620
  name: string;
6831
- context?: Context_3;
6621
+ context?: Context;
6832
6622
  metadata?: MetadataType;
6833
6623
  };
6834
6624
 
@@ -6936,16 +6726,10 @@ declare type InstalledApps_2 = {
6936
6726
  [key: string]: InstallationInfo;
6937
6727
  };
6938
6728
 
6939
- declare interface Intent {
6940
- name: string;
6941
- context: Context_2;
6942
- metadata: IntentMetadata_2;
6943
- }
6944
-
6945
6729
  /**
6946
6730
  * Combination of an action and a context that is passed to an application for resolution.
6947
6731
  */
6948
- declare type Intent_2<MetadataType = IntentMetadata_3> = {
6732
+ declare type Intent<MetadataType = IntentMetadata> = {
6949
6733
  /**
6950
6734
  * Name of the intent.
6951
6735
  */
@@ -6953,54 +6737,25 @@ declare type Intent_2<MetadataType = IntentMetadata_3> = {
6953
6737
  /**
6954
6738
  * Data associated with the intent.
6955
6739
  */
6956
- context: Context_3;
6740
+ context: Context;
6957
6741
  metadata?: MetadataType;
6958
6742
  };
6959
6743
 
6960
- declare type IntentHandler = (context: Context_2, metadata?: ContextMetadata) => Promise<IntentResult> | void;
6961
-
6962
6744
  /**
6963
6745
  * Subscription function for registerIntentHandler.
6964
6746
  */
6965
- declare type IntentHandler_2 = (intent: Intent_2) => void;
6747
+ declare type IntentHandler = (intent: Intent) => void;
6966
6748
 
6967
6749
  /**
6968
- * Intent descriptor
6750
+ * The type used to describe an intent within the platform.
6751
+ * @interface
6969
6752
  */
6970
- declare interface IntentMetadata {
6971
- /** The unique name of the intent that can be invoked by the raiseIntent call */
6972
- readonly name: string;
6973
- /** A friendly display name for the intent that should be used to render UI elements */
6974
- readonly displayName: string;
6975
- }
6976
-
6977
- declare type IntentMetadata_2<TargetType = any> = {
6753
+ declare type IntentMetadata<TargetType = any> = {
6978
6754
  target?: TargetType;
6979
6755
  resultType?: string;
6980
6756
  intentResolutionResultId?: string;
6981
6757
  };
6982
6758
 
6983
- /**
6984
- * The type used to describe an intent within the platform.
6985
- * @interface
6986
- */
6987
- declare type IntentMetadata_3<TargetType = any> = FDC3.v2.IntentMetadata<TargetType>;
6988
-
6989
- declare interface IntentResolution {
6990
- source: TargetApp;
6991
- data?: object;
6992
- version: string;
6993
- }
6994
-
6995
- declare interface IntentResolution_2 {
6996
- source: AppIdentifier;
6997
- intent: string;
6998
- version?: string;
6999
- getResult(): Promise<IntentResult>;
7000
- }
7001
-
7002
- declare type IntentResult = Context_2 | Channel_4 | PrivateChannel;
7003
-
7004
6759
  /**
7005
6760
  * A messaging bus that allows for pub/sub messaging between different applications.
7006
6761
  *
@@ -7258,7 +7013,6 @@ declare type InteropActionLoggingOption = {
7258
7013
  */
7259
7014
  declare class InteropBroker extends Base {
7260
7015
  #private;
7261
- private getProvider;
7262
7016
  private interopClients;
7263
7017
  private contextGroupsById;
7264
7018
  private intentClientMap;
@@ -7269,7 +7023,8 @@ declare class InteropBroker extends Base {
7269
7023
  /**
7270
7024
  * @internal
7271
7025
  */
7272
- constructor(wire: Transport, getProvider: () => Promise<OpenFin.ChannelProvider>, options: InternalInteropBrokerOptions);
7026
+ constructor(wire: Transport, createProvider: () => Promise<OpenFin.ChannelProvider>, options: InternalInteropBrokerOptions);
7027
+ private getProvider;
7273
7028
  static createClosedConstructor(...args: ConstructorParameters<typeof InteropBroker>): {
7274
7029
  new (): InteropBroker;
7275
7030
  };
@@ -7574,23 +7329,23 @@ declare class InteropBroker extends Base {
7574
7329
  * @param clientIdentity Identity of the Client making the request.
7575
7330
  */
7576
7331
  fdc3HandleOpen({ app, context }: {
7577
- app: FDC3.v1.TargetApp | FDC3.v2.AppIdentifier;
7332
+ app: FDC3.v1_2.TargetApp | FDC3.v2_0.AppIdentifier;
7578
7333
  context: OpenFin.Context;
7579
- }, clientIdentity: OpenFin.ClientIdentity): Promise<void | FDC3.v2.AppIdentifier>;
7334
+ }, clientIdentity: OpenFin.ClientIdentity): Promise<void | FDC3.v2_0.AppIdentifier>;
7580
7335
  /**
7581
7336
  * Responsible for resolving the fdc3.findInstances call.
7582
7337
  * Must be overridden
7583
7338
  * @param app AppIdentifier that was passed to fdc3.findInstances
7584
7339
  * @param clientIdentity Identity of the Client making the request.
7585
7340
  */
7586
- fdc3HandleFindInstances(app: FDC3.v2.AppIdentifier, clientIdentity: OpenFin.ClientIdentity): Promise<unknown>;
7341
+ fdc3HandleFindInstances(app: FDC3.v2_0.AppIdentifier, clientIdentity: OpenFin.ClientIdentity): Promise<unknown>;
7587
7342
  /**
7588
7343
  * Responsible for resolving the fdc3.getAppMetadata call.
7589
7344
  * Must be overridden
7590
7345
  * @param app AppIdentifier that was passed to fdc3.getAppMetadata
7591
7346
  * @param clientIdentity Identity of the Client making the request.
7592
7347
  */
7593
- fdc3HandleGetAppMetadata(app: FDC3.v2.AppIdentifier, clientIdentity: OpenFin.ClientIdentity): Promise<unknown>;
7348
+ fdc3HandleGetAppMetadata(app: FDC3.v2_0.AppIdentifier, clientIdentity: OpenFin.ClientIdentity): Promise<unknown>;
7594
7349
  /**
7595
7350
  * This function is called by the Interop Broker whenever a Context handler would fire.
7596
7351
  * For FDC3 2.0 you would need to override this function and add the contextMetadata as
@@ -7835,7 +7590,7 @@ declare class InteropClient extends Base {
7835
7590
  /**
7836
7591
  * @internal
7837
7592
  */
7838
- constructor(wire: Transport, name: string, interopConfig?: OpenFin.InteropConfig);
7593
+ constructor(wire: Transport, clientPromise: Promise<OpenFin.ChannelClient>);
7839
7594
  /**
7840
7595
  * Sets a context for the context group of the current entity.
7841
7596
  *
@@ -7895,9 +7650,7 @@ declare class InteropClient extends Base {
7895
7650
  * ```
7896
7651
  *
7897
7652
  *
7898
- * We are also testing the ability to add a context handler for specific contexts. If you would like to use
7899
- * this, please make sure you add your context handlers at the top level of your application, on a page that
7900
- * does not navigate/reload/re-render, to avoid memory leaks. This feature is experimental:
7653
+ * Passing in a context type as the second parameter will cause the handler to only be invoked with that context type.
7901
7654
  *
7902
7655
  * ```js
7903
7656
  * function handleInstrumentContext(contextInfo) {
@@ -8187,6 +7940,23 @@ declare class InteropClient extends Base {
8187
7940
  * ```
8188
7941
  */
8189
7942
  onDisconnection(listener: OpenFin.InteropClientOnDisconnectionListener): Promise<void>;
7943
+ /**
7944
+ * Returns a representation of this Interop Client as an FDC3 DesktopAgent matching the given version.
7945
+ * Note that this does not set a global FDC3 object, it only returns an instance of the FDC3 DesktopAgent.
7946
+ * This also does not raise the FDC3Ready event.
7947
+ */
7948
+ getFDC3Sync(version: '2.0'): OpenFin.FDC3.v2_0.DesktopAgent;
7949
+ getFDC3Sync(version: '1.2'): OpenFin.FDC3.v1_2.DesktopAgent;
7950
+ getFDC3Sync(version: OpenFin.FDC3.Version): OpenFin.FDC3.v1_2.DesktopAgent | OpenFin.FDC3.v2_0.DesktopAgent;
7951
+ /**
7952
+ *
7953
+ * Returns a representation of this Interop Client as an FDC3 DesktopAgent matching the given version.
7954
+ * Note that this does not set a global FDC3 object, it only returns an instance of the FDC3 DesktopAgent.
7955
+ * This also does not raise the FDC3Ready event.
7956
+ */
7957
+ getFDC3(version: '2.0'): Promise<OpenFin.FDC3.v2_0.DesktopAgent>;
7958
+ getFDC3(version: '1.2'): Promise<OpenFin.FDC3.v1_2.DesktopAgent>;
7959
+ getFDC3(version: OpenFin.FDC3.Version): Promise<OpenFin.FDC3.v1_2.DesktopAgent | OpenFin.FDC3.v2_0.DesktopAgent>;
8190
7960
  /**
8191
7961
  * @internal
8192
7962
  *
@@ -9414,21 +9184,7 @@ declare type LayoutSnapshot = {
9414
9184
  */
9415
9185
  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'>;
9416
9186
 
9417
- declare interface Listener {
9418
- /**
9419
- * Unsubscribe the listener object.
9420
- */
9421
- unsubscribe(): void;
9422
- }
9423
-
9424
- declare interface Listener_2 {
9425
- /**
9426
- * Unsubscribe the listener object.
9427
- */
9428
- unsubscribe(): void;
9429
- }
9430
-
9431
- declare type Listener_3<T extends {
9187
+ declare type Listener<T extends {
9432
9188
  type: string;
9433
9189
  }> = (payload: T) => void;
9434
9190
 
@@ -9817,7 +9573,7 @@ declare type MutableViewOptions = {
9817
9573
  /**
9818
9574
  * Configurations for API injection.
9819
9575
  */
9820
- api: Api;
9576
+ api: ApiSettings;
9821
9577
  /**
9822
9578
  * Restrict navigation to URLs that match an allowed pattern.
9823
9579
  * In the lack of an allowlist, navigation to URLs that match a denylisted pattern would be prohibited.
@@ -10217,6 +9973,7 @@ declare namespace OpenFin {
10217
9973
  export {
10218
9974
  FinApi,
10219
9975
  Fin_2 as Fin,
9976
+ FDC3,
10220
9977
  Application,
10221
9978
  ApplicationModule,
10222
9979
  ExternalApplication,
@@ -10268,11 +10025,11 @@ declare namespace OpenFin {
10268
10025
  CustomProtocolOptions,
10269
10026
  InteropBrokerOptions,
10270
10027
  ContextGroupInfo,
10271
- DisplayMetadata_3 as DisplayMetadata,
10028
+ DisplayMetadata,
10272
10029
  LegacyWinOptionsInAppOptions,
10273
10030
  Snapshot,
10274
10031
  ContextGroupStates,
10275
- Context_3 as Context,
10032
+ Context,
10276
10033
  MonitorInfo,
10277
10034
  Point,
10278
10035
  PointTopLeft,
@@ -10299,6 +10056,7 @@ declare namespace OpenFin {
10299
10056
  ResizeRegion,
10300
10057
  Accelerator,
10301
10058
  Api,
10059
+ ApiSettings,
10302
10060
  InjectionType,
10303
10061
  NavigationRules,
10304
10062
  ContentNavigation,
@@ -10405,6 +10163,7 @@ declare namespace OpenFin {
10405
10163
  AppVersionError,
10406
10164
  AppVersionRuntimeInfo,
10407
10165
  LaunchEmitter,
10166
+ UserAppConfigArgs,
10408
10167
  RvmLaunchOptions,
10409
10168
  ShortCutConfig,
10410
10169
  TerminateExternalRequestType,
@@ -10450,14 +10209,19 @@ declare namespace OpenFin {
10450
10209
  DefaultDomainSettingsRule,
10451
10210
  DomainSettings,
10452
10211
  ApiInjection,
10212
+ DomainApiSettings,
10213
+ ContentPermission,
10214
+ PerDomainSettings,
10453
10215
  DomainSettingsRule,
10216
+ FileDownloadBehavior,
10454
10217
  FileDownloadBehaviorNames,
10455
10218
  FileDownloadSettings,
10456
10219
  DownloadRule,
10457
- ContextHandler_3 as ContextHandler,
10458
- Intent_2 as Intent,
10459
- IntentMetadata_3 as IntentMetadata,
10460
- IntentHandler_2 as IntentHandler,
10220
+ ContextHandler,
10221
+ Intent,
10222
+ IntentMetadata,
10223
+ IntentHandler,
10224
+ ContentCreationBehavior,
10461
10225
  ContentCreationBehaviorNames,
10462
10226
  MatchPattern,
10463
10227
  BaseContentCreationRule,
@@ -10678,6 +10442,31 @@ declare type Payload_9<Type extends EventType_8> = Extract<Event_11, {
10678
10442
  type: Type;
10679
10443
  }>;
10680
10444
 
10445
+ /**
10446
+ * @interface
10447
+ *
10448
+ * Conditional settings for a domain or set of domains.
10449
+ */
10450
+ declare type PerDomainSettings = {
10451
+ /**
10452
+ * {@inheritDoc FileDownloadSettings}
10453
+ *
10454
+ * @remarks See: https://developers.openfin.co/of-docs/docs/file-download#manifest-properties-for-file-downloads
10455
+ */
10456
+ downloadSettings?: FileDownloadSettings;
10457
+ /**
10458
+ * {@inheritDoc ApiInjection}
10459
+ */
10460
+ api?: DomainApiSettings;
10461
+ /**
10462
+ * Whether DOM content can be loaded (by navigation or redirect).
10463
+ *
10464
+ * @remarks If this is included in {@link DomainSettings.default}, then {@link ContentNavigation} and
10465
+ * {@link ContentRedirect} will be **ignored**.
10466
+ */
10467
+ content?: ContentPermission;
10468
+ };
10469
+
10681
10470
  /**
10682
10471
  * Generated when window finishes loading. Provides performance and navigation data.
10683
10472
  * @interface
@@ -10716,7 +10505,7 @@ declare class Platform extends EmitterBase<OpenFin.PlatformEvent> {
10716
10505
  /**
10717
10506
  * @internal
10718
10507
  */
10719
- constructor(identity: OpenFin.ApplicationIdentity, channel: Channel_5);
10508
+ constructor(identity: OpenFin.ApplicationIdentity, channel: Channel_3);
10720
10509
  getClient: (identity?: OpenFin.ApplicationIdentity) => Promise<ChannelClient_2>;
10721
10510
  /**
10722
10511
  * Creates a new view and attaches it to a specified target window.
@@ -12492,14 +12281,6 @@ declare type PrintOptions = {
12492
12281
  dpi?: Dpi;
12493
12282
  };
12494
12283
 
12495
- declare type PrivateChannel = Omit<Channel_4, 'addContextListener'> & {
12496
- addContextListener(contextType: string | null, handler: ContextHandler_2): Promise<Listener_2>;
12497
- onAddContextListener(handler: (contextType?: string) => void): Listener_2;
12498
- onUnsubscribe(handler: (contextType?: string) => void): Listener_2;
12499
- onDisconnect(handler: () => void): Listener_2;
12500
- disconnect(): void;
12501
- };
12502
-
12503
12284
  /**
12504
12285
  * Strategy to assign views to process affinity by domain.
12505
12286
  *
@@ -13268,7 +13049,7 @@ declare type RunRequestedEvent = OpenFin.ApplicationEvents.RunRequestedEvent;
13268
13049
  declare type RunRequestedEvent_2 = BaseEvents.IdentityEvent & {
13269
13050
  topic: 'application';
13270
13051
  type: 'run-requested';
13271
- userAppConfigArgs: Record<string, any>;
13052
+ userAppConfigArgs: OpenFin.UserAppConfigArgs;
13272
13053
  manifest: OpenFin.Manifest;
13273
13054
  };
13274
13055
 
@@ -13383,7 +13164,7 @@ declare type RvmLaunchOptions = {
13383
13164
  * True if no UI when launching
13384
13165
  */
13385
13166
  noUi?: boolean;
13386
- userAppConfigArgs?: object;
13167
+ userAppConfigArgs?: UserAppConfigArgs;
13387
13168
  /**
13388
13169
  * Timeout in seconds until RVM launch request expires.
13389
13170
  */
@@ -13465,19 +13246,19 @@ declare type SessionContextGroup = {
13465
13246
  * A SessionContextGroup instance method for setting a context in the SessionContextGroup.
13466
13247
  * @param context The Context to be set.
13467
13248
  */
13468
- setContext: (context: Context_3) => Promise<void>;
13249
+ setContext: (context: Context) => Promise<void>;
13469
13250
  /**
13470
13251
  * A SessionContextGroup instance method for getting the current context of a certain type.
13471
13252
  * @param type The Context Type to get. If not specified the last contextType set would get used.
13472
13253
  */
13473
- getCurrentContext: (type?: string) => Promise<Context_3>;
13254
+ getCurrentContext: (type?: string) => Promise<Context>;
13474
13255
  /**
13475
13256
  * A SessionContextGroup instance method for adding a handler for context change.
13476
13257
  * @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.
13477
13258
  * @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.
13478
13259
  *
13479
13260
  */
13480
- addContextHandler: (handler: ContextHandler_3, contextType?: string) => Promise<{
13261
+ addContextHandler: (handler: ContextHandler, contextType?: string) => Promise<{
13481
13262
  unsubscribe: () => void;
13482
13263
  }>;
13483
13264
  };
@@ -15370,12 +15151,6 @@ declare class System extends EmitterBase<OpenFin.SystemEvent> {
15370
15151
  setDomainSettings(domainSettings: OpenFin.DefaultDomainSettings): Promise<void>;
15371
15152
  }
15372
15153
 
15373
- declare type SystemChannel = Omit<Channel_3, 'addContextListener' | 'broadcast' | 'getCurrentContext'> & {
15374
- addContextListener(): Error;
15375
- broadcast(): Error;
15376
- getCurrentContext(): Error;
15377
- };
15378
-
15379
15154
  /**
15380
15155
  * @deprecated Renamed to {@link Event}.
15381
15156
  */
@@ -15654,8 +15429,6 @@ declare class TabStack extends LayoutNode {
15654
15429
  setActiveView: (view: OpenFin.Identity) => Promise<void>;
15655
15430
  }
15656
15431
 
15657
- declare type TargetApp = string | AppMetadata;
15658
-
15659
15432
  /**
15660
15433
  * Generated when a View changes its window target.
15661
15434
  * @remarks This event will fire during creation of a View.
@@ -15853,13 +15626,13 @@ declare type tween = 'linear' | 'ease-in' | 'ease-out' | 'ease-in-out' | 'ease-i
15853
15626
  declare interface TypedEventEmitter<Event extends {
15854
15627
  type: string;
15855
15628
  }, EmitterEventType = Event['type']> {
15856
- on<EventType extends EmitterEventType>(event: EventType, listener: Listener_3<Extract<Event, {
15629
+ on<EventType extends EmitterEventType>(event: EventType, listener: Listener<Extract<Event, {
15857
15630
  type: EventType;
15858
15631
  }>>): this;
15859
- addListener<EventType extends EmitterEventType>(event: EventType, listener: Listener_3<Extract<Event, {
15632
+ addListener<EventType extends EmitterEventType>(event: EventType, listener: Listener<Extract<Event, {
15860
15633
  type: EventType;
15861
15634
  }>>): this;
15862
- removeListener<EventType extends EmitterEventType>(event: EventType, listener: Listener_3<Extract<Event, {
15635
+ removeListener<EventType extends EmitterEventType>(event: EventType, listener: Listener<Extract<Event, {
15863
15636
  type: EventType;
15864
15637
  }>>): this;
15865
15638
  removeAllListeners<EventType extends EmitterEventType>(event?: EmitterEventType): this;
@@ -15902,6 +15675,11 @@ declare type UrlChangedEvent = BaseUrlEvent & ({
15902
15675
  httpStatusText: string;
15903
15676
  });
15904
15677
 
15678
+ /**
15679
+ * @interface
15680
+ */
15681
+ declare type UserAppConfigArgs = Record<string, string | string[]>;
15682
+
15905
15683
  /**
15906
15684
  * A general user bounds change event without event type.
15907
15685
  * @interface
@@ -15930,45 +15708,102 @@ declare type UserMovementEnabledEvent = BaseEvent_5 & {
15930
15708
  type: 'user-movement-enabled';
15931
15709
  };
15932
15710
 
15933
- declare namespace v1 {
15934
- export {
15935
- Listener,
15936
- AppMetadata,
15937
- IntentMetadata,
15711
+ declare namespace v1_2 {
15712
+ {
15938
15713
  AppIntent,
15714
+ AppMetadata,
15939
15715
  DisplayMetadata,
15716
+ OpenError,
15717
+ ResolveError,
15718
+ ChannelError,
15940
15719
  ImplementationMetadata,
15941
- ContextHandler,
15942
- TargetApp,
15720
+ IntentMetadata,
15721
+ Listener,
15722
+ ContextTypes,
15723
+ ContextType,
15943
15724
  Context,
15725
+ ContactList,
15726
+ Contact,
15727
+ ContactID,
15728
+ InstrumentList,
15729
+ Instrument,
15730
+ InstrumentID,
15731
+ Country,
15732
+ CountryID,
15733
+ Organization,
15734
+ OrganizationID,
15735
+ Portfolio,
15736
+ Position,
15737
+ Convert,
15738
+ Intents,
15739
+ Channel,
15740
+ DesktopAgent,
15944
15741
  IntentResolution,
15945
- Channel_3 as Channel,
15946
- SystemChannel,
15947
- DesktopAgent
15742
+ TargetApp,
15743
+ ContextHandler
15948
15744
  }
15949
15745
  }
15950
15746
 
15951
- declare namespace v2 {
15952
- export {
15953
- IntentMetadata_2 as IntentMetadata,
15747
+ declare namespace v2_0 {
15748
+ {
15954
15749
  AppIdentifier,
15955
- Listener_2 as Listener,
15956
15750
  AppIntent_2 as AppIntent,
15957
- ImplementationMetadata_2 as ImplementationMetadata,
15751
+ AppMetadata_2 as AppMetadata,
15958
15752
  ContextMetadata,
15753
+ DisplayMetadata_2 as DisplayMetadata,
15754
+ OpenError_2 as OpenError,
15755
+ ResolveError_2 as ResolveError,
15756
+ ResultError,
15757
+ ChannelError_2 as ChannelError,
15959
15758
  Icon,
15960
15759
  Image_2 as Image,
15961
- AppMetadata_2 as AppMetadata,
15962
- DisplayMetadata_2 as DisplayMetadata,
15963
- ContextHandler_2 as ContextHandler,
15964
- IntentHandler,
15965
- IntentResult,
15760
+ ImplementationMetadata_2 as ImplementationMetadata,
15761
+ IntentMetadata_2 as IntentMetadata,
15762
+ Listener_2 as Listener,
15763
+ ContextTypes_2 as ContextTypes,
15764
+ ContextType_2 as ContextType,
15765
+ Chart,
15766
+ InstrumentElement,
15767
+ PurpleID,
15768
+ PurpleMarket,
15769
+ TimeRangeObject,
15770
+ Style,
15771
+ ChatInitSettings,
15772
+ ContactListObject,
15773
+ ContactElement,
15774
+ FluffyID,
15775
+ Contact_2 as Contact,
15776
+ TentacledID,
15777
+ ContactList_2 as ContactList,
15966
15778
  Context_2 as Context,
15967
- Intent,
15779
+ Country_2 as Country,
15780
+ CountryID_2 as CountryID,
15781
+ Currency,
15782
+ CurrencyID,
15783
+ Email,
15784
+ RecipientsObject,
15785
+ RecipientsID,
15786
+ Instrument_2 as Instrument,
15787
+ StickyID,
15788
+ FluffyMarket,
15789
+ InstrumentList_2 as InstrumentList,
15790
+ Nothing,
15791
+ Organization_2 as Organization,
15792
+ OrganizationID_2 as OrganizationID,
15793
+ Portfolio_2 as Portfolio,
15794
+ PositionElement,
15795
+ Position_2 as Position,
15796
+ TimeRange,
15797
+ Valuation,
15798
+ Convert_2 as Convert,
15799
+ Intents_2 as Intents,
15800
+ Channel_2 as Channel,
15801
+ DesktopAgent_2 as DesktopAgent,
15968
15802
  IntentResolution_2 as IntentResolution,
15969
- Channel_4 as Channel,
15970
15803
  PrivateChannel,
15971
- DesktopAgent_2 as DesktopAgent
15804
+ ContextHandler_2 as ContextHandler,
15805
+ IntentResult,
15806
+ IntentHandler
15972
15807
  }
15973
15808
  }
15974
15809
 
@@ -15977,6 +15812,13 @@ declare type VerboseWebPermission = {
15977
15812
  enabled: boolean;
15978
15813
  };
15979
15814
 
15815
+ declare type Version = (typeof versions)[keyof typeof versions];
15816
+
15817
+ declare const versions: {
15818
+ readonly v1_2: "1.2";
15819
+ readonly v2_0: "2.0";
15820
+ };
15821
+
15980
15822
  declare type View = OpenFin.View;
15981
15823
 
15982
15824
  /**
@@ -17715,10 +17557,12 @@ declare namespace WebContentsEvents {
17715
17557
  FileDownloadStartedEvent,
17716
17558
  FileDownloadProgressEvent,
17717
17559
  FileDownloadCompletedEvent,
17560
+ ContentBlockedEvent,
17718
17561
  Event_5 as Event,
17719
17562
  WebContentsEvent,
17720
17563
  WillPropagateWebContentsEvent,
17721
- NonPropagatedWebContentsEvent
17564
+ NonPropagatedWebContentsEvent,
17565
+ WillRedirectEvent
17722
17566
  }
17723
17567
  }
17724
17568
 
@@ -17796,14 +17640,15 @@ declare type WillPropagateWebContentsEvent = Event_5<string>;
17796
17640
  declare type WillPropagateWindowEvent = WindowSourcedEvent;
17797
17641
 
17798
17642
  /**
17799
- * Generated when window is being redirected as per contentRedirect allowlist/denylist rules.
17643
+ * Generated whenever a redirection occurs.
17800
17644
  * @interface
17801
17645
  */
17802
- declare type WillRedirectEvent = BaseEvent_5 & {
17646
+ declare type WillRedirectEvent = NamedEvent & {
17803
17647
  type: 'will-redirect';
17804
17648
  blocked: boolean;
17805
17649
  isInPlace: boolean;
17806
17650
  url: string;
17651
+ isMainFrame: boolean;
17807
17652
  };
17808
17653
 
17809
17654
  /**
@@ -17828,10 +17673,6 @@ declare class _Window extends WebContents<OpenFin.WindowEvent> {
17828
17673
  * @internal
17829
17674
  */
17830
17675
  constructor(wire: Transport, identity: OpenFin.Identity);
17831
- /**
17832
- * create a new window
17833
- * @internal
17834
- */
17835
17676
  createWindow(options: OpenFin.WindowCreationOptions): Promise<OpenFin.Window>;
17836
17677
  /**
17837
17678
  * Retrieves an array of frame info objects representing the main frame and any
@@ -18955,7 +18796,6 @@ declare namespace WindowEvents {
18955
18796
  AlertRequestedEvent,
18956
18797
  AuthRequestedEvent,
18957
18798
  EndLoadEvent,
18958
- WillRedirectEvent,
18959
18799
  ReloadedEvent,
18960
18800
  OptionsChangedEvent,
18961
18801
  WindowOptionsChangedEvent_2 as WindowOptionsChangedEvent,
@@ -19211,7 +19051,7 @@ declare type WindowShowRequestedEvent = ShowRequestedEvent;
19211
19051
  * A union of all events that emit natively on the `Window` topic, i.e. excluding those that propagate
19212
19052
  * from {@link OpenFin.ViewEvents}.
19213
19053
  */
19214
- 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;
19054
+ 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;
19215
19055
 
19216
19056
  /**
19217
19057
  * Generated when a child window starts loading.
@@ -19272,6 +19112,32 @@ declare type WithPositioningOptions<T extends {} = {}> = T & {
19272
19112
  positioningOptions?: OpenFin.PositioningOptions;
19273
19113
  };
19274
19114
 
19115
+ declare type WithUserAppConfigArgs = {
19116
+ /**
19117
+ * Represents the key-value pairs for the parameters passed into any fin:// or fins:// link
19118
+ * that launches this application.
19119
+ *
19120
+ * @remarks
19121
+ * In the link, user defined parameters are separated by the `$$` delimeter, for example:
19122
+ * `fins://path.to/app/manifest.json?$$use-last-configuration=true`
19123
+ *
19124
+ * Results in the following object:
19125
+ * ```json
19126
+ * {
19127
+ * "use-last-configuration": true"
19128
+ * }
19129
+ * ```
19130
+ *
19131
+ * These args can be accessed via the {@link ApplicationInfo.initialOptions} object:
19132
+ * ```typescript
19133
+ * const appInfo = await fin.Application.getCurrentSync().getInfo();
19134
+ * const { userAppConfigArgs } = appInfo.initialOptions;
19135
+ * console.log(userAppConfigArgs['use-last-configuration']); // 'true'
19136
+ * ```
19137
+ */
19138
+ userAppConfigArgs?: UserAppConfigArgs;
19139
+ };
19140
+
19275
19141
  /**
19276
19142
  * @internal
19277
19143
  * @interface