@openfin/fdc3-api 44.100.106 → 44.100.107

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.
@@ -3113,6 +3113,48 @@ declare type ClearCacheOption = {
3113
3113
  localStorage?: boolean;
3114
3114
  };
3115
3115
 
3116
+ /**
3117
+ * @interface
3118
+ * Options for clearing various types of browsing data. Based on Electron's session.clearData() API.
3119
+ */
3120
+ declare type ClearDataOptions = {
3121
+ /**
3122
+ * The types of data to clear. By default, this will clear all types of data.
3123
+ * This can potentially include data types not explicitly listed here.
3124
+ *
3125
+ * - `backgroundFetch` - Background Fetch
3126
+ * - `cache` - Cache (includes cachestorage and shadercache)
3127
+ * - `cookies` - Cookies
3128
+ * - `downloads` - Downloads
3129
+ * - `fileSystems` - File Systems
3130
+ * - `indexedDB` - IndexedDB
3131
+ * - `localStorage` - Local Storage
3132
+ * - `serviceWorkers` - Service Workers
3133
+ * - `webSQL` - WebSQL
3134
+ */
3135
+ dataTypes?: Array<'backgroundFetch' | 'cache' | 'cookies' | 'downloads' | 'fileSystems' | 'indexedDB' | 'localStorage' | 'serviceWorkers' | 'webSQL'>;
3136
+ /**
3137
+ * Clear data for only these origins. Cannot be used with excludeOrigins.
3138
+ * Example: ['http://localhost:8081', 'https://example.com']
3139
+ */
3140
+ origins?: string[];
3141
+ /**
3142
+ * Clear data for all origins except these ones. Cannot be used with origins.
3143
+ * Example: ['http://workspace.here.io']
3144
+ */
3145
+ excludeOrigins?: string[];
3146
+ /**
3147
+ * Skips deleting session/authentication cookies currently maintaining active connections. (Default: false)
3148
+ */
3149
+ avoidClosingConnections?: boolean;
3150
+ /**
3151
+ * The behavior for matching data to origins.
3152
+ * - `third-parties-included` (default) - Storage is matched on origin in first-party contexts and top-level-site in third-party contexts.
3153
+ * - `origin-in-all-contexts` - Storage is matched on origin only in all contexts.
3154
+ */
3155
+ originMatchingMode?: 'third-parties-included' | 'origin-in-all-contexts';
3156
+ };
3157
+
3116
3158
  /**
3117
3159
  * @typeParam Data User-defined shape for data returned upon menu item click. Should be a
3118
3160
  * [union](https://www.typescriptlang.org/docs/handbook/2/everyday-types.html#union-types)
@@ -4389,6 +4431,27 @@ declare type CreateLayoutOptions = {
4389
4431
  * @default 'default'
4390
4432
  */
4391
4433
  multiInstanceViewBehavior?: MultiInstanceViewBehavior;
4434
+ /**
4435
+ * Callback invoked for each stack when its header controls area is rendered.
4436
+ * The callback receives the `.lm_controls` DOM element and a context object
4437
+ * with a {@link HeaderControlsContext.getStack | getStack()} async getter.
4438
+ * Use this to inject custom controls (e.g. search buttons) into stack headers.
4439
+ *
4440
+ * Optionally return a cleanup function that will be called when the stack is destroyed.
4441
+ *
4442
+ * Custom controls are not serialized into snapshots since callbacks are not
4443
+ * serializable. The callback is re-invoked when layouts are restored.
4444
+ *
4445
+ * **NOTE**: This feature is currently only supported in OpenFin Runtime environments.
4446
+ *
4447
+ * @param controlsElement The `.lm_controls` DOM element for the stack header.
4448
+ * @param context Context object providing an async {@link HeaderControlsContext.getStack | getStack()} to
4449
+ * retrieve the {@link TabStack} instance.
4450
+ * @returns A callback to be called when the rendered element needs to be cleaned up.
4451
+ *
4452
+ * @experimental
4453
+ */
4454
+ renderCustomHeaderControls?: (controlsElement: HTMLElement, context: HeaderControlsContext) => (() => void) | void;
4392
4455
  };
4393
4456
 
4394
4457
  /**
@@ -6556,6 +6619,13 @@ declare type GpuInfo = {
6556
6619
  name: string;
6557
6620
  };
6558
6621
 
6622
+ /**
6623
+ * @interface @experimental
6624
+ */
6625
+ declare type HeaderControlsContext = {
6626
+ getStack: () => Promise<TabStack>;
6627
+ };
6628
+
6559
6629
  /**
6560
6630
  * Generated when a View is hidden.
6561
6631
  *
@@ -10588,6 +10658,7 @@ declare namespace OpenFin {
10588
10658
  NonAppProcessDetails,
10589
10659
  SystemProcessInfo,
10590
10660
  ClearCacheOption,
10661
+ ClearDataOptions,
10591
10662
  CookieInfo,
10592
10663
  CookieOption,
10593
10664
  CrashReporterOptions,
@@ -10744,6 +10815,7 @@ declare namespace OpenFin {
10744
10815
  LayoutManagerConstructor,
10745
10816
  LayoutManagerOverride,
10746
10817
  LayoutManager,
10818
+ HeaderControlsContext,
10747
10819
  CreateLayoutOptions,
10748
10820
  MultiInstanceViewBehavior,
10749
10821
  PresetLayoutOptions_2 as PresetLayoutOptions,
@@ -13516,6 +13588,8 @@ declare type ProtocolMap = ExternalAdapterOnlyCallsMap & AnalyticsProtocolMap &
13516
13588
  'get-theme-preferences': GetterCall<OpenFin.NativeTheme>;
13517
13589
  'get-version': GetterCall<string>;
13518
13590
  'clear-cache': ApiCall<OpenFin.ClearCacheOption, void>;
13591
+ 'clear-http-cache': VoidCall;
13592
+ 'clear-cache-data': ApiCall<OpenFin.ClearDataOptions, void>;
13519
13593
  'delete-cache-request': VoidCall;
13520
13594
  'exit-desktop': VoidCall;
13521
13595
  'fetch-manifest': ApiCall<{
@@ -15138,6 +15212,44 @@ declare class System extends EmitterBase<OpenFin.SystemEvent> {
15138
15212
  *
15139
15213
  */
15140
15214
  clearCache(options: OpenFin.ClearCacheOption): Promise<void>;
15215
+ /**
15216
+ * Clears only the HTTP cache (browser cache for HTML, CSS, JS, images).
15217
+ * Service workers and other storage data are preserved.
15218
+ *
15219
+ * This is useful when you need to clear stale content without breaking offline functionality.
15220
+ *
15221
+ * @example
15222
+ * ```js
15223
+ * // Clear HTTP cache without affecting service workers
15224
+ * await fin.System.clearHTTPCache();
15225
+ * ```
15226
+ */
15227
+ clearHTTPCache(): Promise<void>;
15228
+ /**
15229
+ * Clears browsing data with granular control over what to clear and which origins to target.
15230
+ *
15231
+ * @param options - Optional configuration for what data to clear
15232
+ *
15233
+ * @example
15234
+ * ```js
15235
+ * // Clear only cookies and localStorage for a specific origin
15236
+ * await fin.System.clearCacheData({
15237
+ * dataTypes: ['cookies', 'localStorage'],
15238
+ * origins: ['http://localhost:8081']
15239
+ * });
15240
+ *
15241
+ * // Clear everything except for a specific origin
15242
+ * await fin.System.clearCacheData({
15243
+ * excludeOrigins: ['http://example.com']
15244
+ * });
15245
+ *
15246
+ * // Clear all service workers across all origins
15247
+ * await fin.System.clearCacheData({
15248
+ * dataTypes: ['serviceWorkers']
15249
+ * });
15250
+ * ```
15251
+ */
15252
+ clearCacheData(options?: OpenFin.ClearDataOptions): Promise<void>;
15141
15253
  /**
15142
15254
  * Clears all cached data when OpenFin Runtime exits.
15143
15255
  *
@@ -3113,6 +3113,48 @@ declare type ClearCacheOption = {
3113
3113
  localStorage?: boolean;
3114
3114
  };
3115
3115
 
3116
+ /**
3117
+ * @interface
3118
+ * Options for clearing various types of browsing data. Based on Electron's session.clearData() API.
3119
+ */
3120
+ declare type ClearDataOptions = {
3121
+ /**
3122
+ * The types of data to clear. By default, this will clear all types of data.
3123
+ * This can potentially include data types not explicitly listed here.
3124
+ *
3125
+ * - `backgroundFetch` - Background Fetch
3126
+ * - `cache` - Cache (includes cachestorage and shadercache)
3127
+ * - `cookies` - Cookies
3128
+ * - `downloads` - Downloads
3129
+ * - `fileSystems` - File Systems
3130
+ * - `indexedDB` - IndexedDB
3131
+ * - `localStorage` - Local Storage
3132
+ * - `serviceWorkers` - Service Workers
3133
+ * - `webSQL` - WebSQL
3134
+ */
3135
+ dataTypes?: Array<'backgroundFetch' | 'cache' | 'cookies' | 'downloads' | 'fileSystems' | 'indexedDB' | 'localStorage' | 'serviceWorkers' | 'webSQL'>;
3136
+ /**
3137
+ * Clear data for only these origins. Cannot be used with excludeOrigins.
3138
+ * Example: ['http://localhost:8081', 'https://example.com']
3139
+ */
3140
+ origins?: string[];
3141
+ /**
3142
+ * Clear data for all origins except these ones. Cannot be used with origins.
3143
+ * Example: ['http://workspace.here.io']
3144
+ */
3145
+ excludeOrigins?: string[];
3146
+ /**
3147
+ * Skips deleting session/authentication cookies currently maintaining active connections. (Default: false)
3148
+ */
3149
+ avoidClosingConnections?: boolean;
3150
+ /**
3151
+ * The behavior for matching data to origins.
3152
+ * - `third-parties-included` (default) - Storage is matched on origin in first-party contexts and top-level-site in third-party contexts.
3153
+ * - `origin-in-all-contexts` - Storage is matched on origin only in all contexts.
3154
+ */
3155
+ originMatchingMode?: 'third-parties-included' | 'origin-in-all-contexts';
3156
+ };
3157
+
3116
3158
  /**
3117
3159
  * @typeParam Data User-defined shape for data returned upon menu item click. Should be a
3118
3160
  * [union](https://www.typescriptlang.org/docs/handbook/2/everyday-types.html#union-types)
@@ -4389,6 +4431,27 @@ declare type CreateLayoutOptions = {
4389
4431
  * @default 'default'
4390
4432
  */
4391
4433
  multiInstanceViewBehavior?: MultiInstanceViewBehavior;
4434
+ /**
4435
+ * Callback invoked for each stack when its header controls area is rendered.
4436
+ * The callback receives the `.lm_controls` DOM element and a context object
4437
+ * with a {@link HeaderControlsContext.getStack | getStack()} async getter.
4438
+ * Use this to inject custom controls (e.g. search buttons) into stack headers.
4439
+ *
4440
+ * Optionally return a cleanup function that will be called when the stack is destroyed.
4441
+ *
4442
+ * Custom controls are not serialized into snapshots since callbacks are not
4443
+ * serializable. The callback is re-invoked when layouts are restored.
4444
+ *
4445
+ * **NOTE**: This feature is currently only supported in OpenFin Runtime environments.
4446
+ *
4447
+ * @param controlsElement The `.lm_controls` DOM element for the stack header.
4448
+ * @param context Context object providing an async {@link HeaderControlsContext.getStack | getStack()} to
4449
+ * retrieve the {@link TabStack} instance.
4450
+ * @returns A callback to be called when the rendered element needs to be cleaned up.
4451
+ *
4452
+ * @experimental
4453
+ */
4454
+ renderCustomHeaderControls?: (controlsElement: HTMLElement, context: HeaderControlsContext) => (() => void) | void;
4392
4455
  };
4393
4456
 
4394
4457
  /**
@@ -6556,6 +6619,13 @@ declare type GpuInfo = {
6556
6619
  name: string;
6557
6620
  };
6558
6621
 
6622
+ /**
6623
+ * @interface @experimental
6624
+ */
6625
+ declare type HeaderControlsContext = {
6626
+ getStack: () => Promise<TabStack>;
6627
+ };
6628
+
6559
6629
  /**
6560
6630
  * Generated when a View is hidden.
6561
6631
  *
@@ -10588,6 +10658,7 @@ declare namespace OpenFin {
10588
10658
  NonAppProcessDetails,
10589
10659
  SystemProcessInfo,
10590
10660
  ClearCacheOption,
10661
+ ClearDataOptions,
10591
10662
  CookieInfo,
10592
10663
  CookieOption,
10593
10664
  CrashReporterOptions,
@@ -10744,6 +10815,7 @@ declare namespace OpenFin {
10744
10815
  LayoutManagerConstructor,
10745
10816
  LayoutManagerOverride,
10746
10817
  LayoutManager,
10818
+ HeaderControlsContext,
10747
10819
  CreateLayoutOptions,
10748
10820
  MultiInstanceViewBehavior,
10749
10821
  PresetLayoutOptions_2 as PresetLayoutOptions,
@@ -13516,6 +13588,8 @@ declare type ProtocolMap = ExternalAdapterOnlyCallsMap & AnalyticsProtocolMap &
13516
13588
  'get-theme-preferences': GetterCall<OpenFin.NativeTheme>;
13517
13589
  'get-version': GetterCall<string>;
13518
13590
  'clear-cache': ApiCall<OpenFin.ClearCacheOption, void>;
13591
+ 'clear-http-cache': VoidCall;
13592
+ 'clear-cache-data': ApiCall<OpenFin.ClearDataOptions, void>;
13519
13593
  'delete-cache-request': VoidCall;
13520
13594
  'exit-desktop': VoidCall;
13521
13595
  'fetch-manifest': ApiCall<{
@@ -15138,6 +15212,44 @@ declare class System extends EmitterBase<OpenFin.SystemEvent> {
15138
15212
  *
15139
15213
  */
15140
15214
  clearCache(options: OpenFin.ClearCacheOption): Promise<void>;
15215
+ /**
15216
+ * Clears only the HTTP cache (browser cache for HTML, CSS, JS, images).
15217
+ * Service workers and other storage data are preserved.
15218
+ *
15219
+ * This is useful when you need to clear stale content without breaking offline functionality.
15220
+ *
15221
+ * @example
15222
+ * ```js
15223
+ * // Clear HTTP cache without affecting service workers
15224
+ * await fin.System.clearHTTPCache();
15225
+ * ```
15226
+ */
15227
+ clearHTTPCache(): Promise<void>;
15228
+ /**
15229
+ * Clears browsing data with granular control over what to clear and which origins to target.
15230
+ *
15231
+ * @param options - Optional configuration for what data to clear
15232
+ *
15233
+ * @example
15234
+ * ```js
15235
+ * // Clear only cookies and localStorage for a specific origin
15236
+ * await fin.System.clearCacheData({
15237
+ * dataTypes: ['cookies', 'localStorage'],
15238
+ * origins: ['http://localhost:8081']
15239
+ * });
15240
+ *
15241
+ * // Clear everything except for a specific origin
15242
+ * await fin.System.clearCacheData({
15243
+ * excludeOrigins: ['http://example.com']
15244
+ * });
15245
+ *
15246
+ * // Clear all service workers across all origins
15247
+ * await fin.System.clearCacheData({
15248
+ * dataTypes: ['serviceWorkers']
15249
+ * });
15250
+ * ```
15251
+ */
15252
+ clearCacheData(options?: OpenFin.ClearDataOptions): Promise<void>;
15141
15253
  /**
15142
15254
  * Clears all cached data when OpenFin Runtime exits.
15143
15255
  *
@@ -3113,6 +3113,48 @@ declare type ClearCacheOption = {
3113
3113
  localStorage?: boolean;
3114
3114
  };
3115
3115
 
3116
+ /**
3117
+ * @interface
3118
+ * Options for clearing various types of browsing data. Based on Electron's session.clearData() API.
3119
+ */
3120
+ declare type ClearDataOptions = {
3121
+ /**
3122
+ * The types of data to clear. By default, this will clear all types of data.
3123
+ * This can potentially include data types not explicitly listed here.
3124
+ *
3125
+ * - `backgroundFetch` - Background Fetch
3126
+ * - `cache` - Cache (includes cachestorage and shadercache)
3127
+ * - `cookies` - Cookies
3128
+ * - `downloads` - Downloads
3129
+ * - `fileSystems` - File Systems
3130
+ * - `indexedDB` - IndexedDB
3131
+ * - `localStorage` - Local Storage
3132
+ * - `serviceWorkers` - Service Workers
3133
+ * - `webSQL` - WebSQL
3134
+ */
3135
+ dataTypes?: Array<'backgroundFetch' | 'cache' | 'cookies' | 'downloads' | 'fileSystems' | 'indexedDB' | 'localStorage' | 'serviceWorkers' | 'webSQL'>;
3136
+ /**
3137
+ * Clear data for only these origins. Cannot be used with excludeOrigins.
3138
+ * Example: ['http://localhost:8081', 'https://example.com']
3139
+ */
3140
+ origins?: string[];
3141
+ /**
3142
+ * Clear data for all origins except these ones. Cannot be used with origins.
3143
+ * Example: ['http://workspace.here.io']
3144
+ */
3145
+ excludeOrigins?: string[];
3146
+ /**
3147
+ * Skips deleting session/authentication cookies currently maintaining active connections. (Default: false)
3148
+ */
3149
+ avoidClosingConnections?: boolean;
3150
+ /**
3151
+ * The behavior for matching data to origins.
3152
+ * - `third-parties-included` (default) - Storage is matched on origin in first-party contexts and top-level-site in third-party contexts.
3153
+ * - `origin-in-all-contexts` - Storage is matched on origin only in all contexts.
3154
+ */
3155
+ originMatchingMode?: 'third-parties-included' | 'origin-in-all-contexts';
3156
+ };
3157
+
3116
3158
  /**
3117
3159
  * @typeParam Data User-defined shape for data returned upon menu item click. Should be a
3118
3160
  * [union](https://www.typescriptlang.org/docs/handbook/2/everyday-types.html#union-types)
@@ -4389,6 +4431,27 @@ declare type CreateLayoutOptions = {
4389
4431
  * @default 'default'
4390
4432
  */
4391
4433
  multiInstanceViewBehavior?: MultiInstanceViewBehavior;
4434
+ /**
4435
+ * Callback invoked for each stack when its header controls area is rendered.
4436
+ * The callback receives the `.lm_controls` DOM element and a context object
4437
+ * with a {@link HeaderControlsContext.getStack | getStack()} async getter.
4438
+ * Use this to inject custom controls (e.g. search buttons) into stack headers.
4439
+ *
4440
+ * Optionally return a cleanup function that will be called when the stack is destroyed.
4441
+ *
4442
+ * Custom controls are not serialized into snapshots since callbacks are not
4443
+ * serializable. The callback is re-invoked when layouts are restored.
4444
+ *
4445
+ * **NOTE**: This feature is currently only supported in OpenFin Runtime environments.
4446
+ *
4447
+ * @param controlsElement The `.lm_controls` DOM element for the stack header.
4448
+ * @param context Context object providing an async {@link HeaderControlsContext.getStack | getStack()} to
4449
+ * retrieve the {@link TabStack} instance.
4450
+ * @returns A callback to be called when the rendered element needs to be cleaned up.
4451
+ *
4452
+ * @experimental
4453
+ */
4454
+ renderCustomHeaderControls?: (controlsElement: HTMLElement, context: HeaderControlsContext) => (() => void) | void;
4392
4455
  };
4393
4456
 
4394
4457
  /**
@@ -6556,6 +6619,13 @@ declare type GpuInfo = {
6556
6619
  name: string;
6557
6620
  };
6558
6621
 
6622
+ /**
6623
+ * @interface @experimental
6624
+ */
6625
+ declare type HeaderControlsContext = {
6626
+ getStack: () => Promise<TabStack>;
6627
+ };
6628
+
6559
6629
  /**
6560
6630
  * Generated when a View is hidden.
6561
6631
  *
@@ -10588,6 +10658,7 @@ declare namespace OpenFin {
10588
10658
  NonAppProcessDetails,
10589
10659
  SystemProcessInfo,
10590
10660
  ClearCacheOption,
10661
+ ClearDataOptions,
10591
10662
  CookieInfo,
10592
10663
  CookieOption,
10593
10664
  CrashReporterOptions,
@@ -10744,6 +10815,7 @@ declare namespace OpenFin {
10744
10815
  LayoutManagerConstructor,
10745
10816
  LayoutManagerOverride,
10746
10817
  LayoutManager,
10818
+ HeaderControlsContext,
10747
10819
  CreateLayoutOptions,
10748
10820
  MultiInstanceViewBehavior,
10749
10821
  PresetLayoutOptions_2 as PresetLayoutOptions,
@@ -13516,6 +13588,8 @@ declare type ProtocolMap = ExternalAdapterOnlyCallsMap & AnalyticsProtocolMap &
13516
13588
  'get-theme-preferences': GetterCall<OpenFin.NativeTheme>;
13517
13589
  'get-version': GetterCall<string>;
13518
13590
  'clear-cache': ApiCall<OpenFin.ClearCacheOption, void>;
13591
+ 'clear-http-cache': VoidCall;
13592
+ 'clear-cache-data': ApiCall<OpenFin.ClearDataOptions, void>;
13519
13593
  'delete-cache-request': VoidCall;
13520
13594
  'exit-desktop': VoidCall;
13521
13595
  'fetch-manifest': ApiCall<{
@@ -15138,6 +15212,44 @@ declare class System extends EmitterBase<OpenFin.SystemEvent> {
15138
15212
  *
15139
15213
  */
15140
15214
  clearCache(options: OpenFin.ClearCacheOption): Promise<void>;
15215
+ /**
15216
+ * Clears only the HTTP cache (browser cache for HTML, CSS, JS, images).
15217
+ * Service workers and other storage data are preserved.
15218
+ *
15219
+ * This is useful when you need to clear stale content without breaking offline functionality.
15220
+ *
15221
+ * @example
15222
+ * ```js
15223
+ * // Clear HTTP cache without affecting service workers
15224
+ * await fin.System.clearHTTPCache();
15225
+ * ```
15226
+ */
15227
+ clearHTTPCache(): Promise<void>;
15228
+ /**
15229
+ * Clears browsing data with granular control over what to clear and which origins to target.
15230
+ *
15231
+ * @param options - Optional configuration for what data to clear
15232
+ *
15233
+ * @example
15234
+ * ```js
15235
+ * // Clear only cookies and localStorage for a specific origin
15236
+ * await fin.System.clearCacheData({
15237
+ * dataTypes: ['cookies', 'localStorage'],
15238
+ * origins: ['http://localhost:8081']
15239
+ * });
15240
+ *
15241
+ * // Clear everything except for a specific origin
15242
+ * await fin.System.clearCacheData({
15243
+ * excludeOrigins: ['http://example.com']
15244
+ * });
15245
+ *
15246
+ * // Clear all service workers across all origins
15247
+ * await fin.System.clearCacheData({
15248
+ * dataTypes: ['serviceWorkers']
15249
+ * });
15250
+ * ```
15251
+ */
15252
+ clearCacheData(options?: OpenFin.ClearDataOptions): Promise<void>;
15141
15253
  /**
15142
15254
  * Clears all cached data when OpenFin Runtime exits.
15143
15255
  *
package/out/fdc3-api.d.ts CHANGED
@@ -3169,6 +3169,48 @@ declare type ClearCacheOption = {
3169
3169
  localStorage?: boolean;
3170
3170
  };
3171
3171
 
3172
+ /**
3173
+ * @interface
3174
+ * Options for clearing various types of browsing data. Based on Electron's session.clearData() API.
3175
+ */
3176
+ declare type ClearDataOptions = {
3177
+ /**
3178
+ * The types of data to clear. By default, this will clear all types of data.
3179
+ * This can potentially include data types not explicitly listed here.
3180
+ *
3181
+ * - `backgroundFetch` - Background Fetch
3182
+ * - `cache` - Cache (includes cachestorage and shadercache)
3183
+ * - `cookies` - Cookies
3184
+ * - `downloads` - Downloads
3185
+ * - `fileSystems` - File Systems
3186
+ * - `indexedDB` - IndexedDB
3187
+ * - `localStorage` - Local Storage
3188
+ * - `serviceWorkers` - Service Workers
3189
+ * - `webSQL` - WebSQL
3190
+ */
3191
+ dataTypes?: Array<'backgroundFetch' | 'cache' | 'cookies' | 'downloads' | 'fileSystems' | 'indexedDB' | 'localStorage' | 'serviceWorkers' | 'webSQL'>;
3192
+ /**
3193
+ * Clear data for only these origins. Cannot be used with excludeOrigins.
3194
+ * Example: ['http://localhost:8081', 'https://example.com']
3195
+ */
3196
+ origins?: string[];
3197
+ /**
3198
+ * Clear data for all origins except these ones. Cannot be used with origins.
3199
+ * Example: ['http://workspace.here.io']
3200
+ */
3201
+ excludeOrigins?: string[];
3202
+ /**
3203
+ * Skips deleting session/authentication cookies currently maintaining active connections. (Default: false)
3204
+ */
3205
+ avoidClosingConnections?: boolean;
3206
+ /**
3207
+ * The behavior for matching data to origins.
3208
+ * - `third-parties-included` (default) - Storage is matched on origin in first-party contexts and top-level-site in third-party contexts.
3209
+ * - `origin-in-all-contexts` - Storage is matched on origin only in all contexts.
3210
+ */
3211
+ originMatchingMode?: 'third-parties-included' | 'origin-in-all-contexts';
3212
+ };
3213
+
3172
3214
  /**
3173
3215
  * @typeParam Data User-defined shape for data returned upon menu item click. Should be a
3174
3216
  * [union](https://www.typescriptlang.org/docs/handbook/2/everyday-types.html#union-types)
@@ -4448,6 +4490,27 @@ declare type CreateLayoutOptions = {
4448
4490
  * @default 'default'
4449
4491
  */
4450
4492
  multiInstanceViewBehavior?: MultiInstanceViewBehavior;
4493
+ /**
4494
+ * Callback invoked for each stack when its header controls area is rendered.
4495
+ * The callback receives the `.lm_controls` DOM element and a context object
4496
+ * with a {@link HeaderControlsContext.getStack | getStack()} async getter.
4497
+ * Use this to inject custom controls (e.g. search buttons) into stack headers.
4498
+ *
4499
+ * Optionally return a cleanup function that will be called when the stack is destroyed.
4500
+ *
4501
+ * Custom controls are not serialized into snapshots since callbacks are not
4502
+ * serializable. The callback is re-invoked when layouts are restored.
4503
+ *
4504
+ * **NOTE**: This feature is currently only supported in OpenFin Runtime environments.
4505
+ *
4506
+ * @param controlsElement The `.lm_controls` DOM element for the stack header.
4507
+ * @param context Context object providing an async {@link HeaderControlsContext.getStack | getStack()} to
4508
+ * retrieve the {@link TabStack} instance.
4509
+ * @returns A callback to be called when the rendered element needs to be cleaned up.
4510
+ *
4511
+ * @experimental
4512
+ */
4513
+ renderCustomHeaderControls?: (controlsElement: HTMLElement, context: HeaderControlsContext) => (() => void) | void;
4451
4514
  };
4452
4515
 
4453
4516
  /**
@@ -6647,6 +6710,13 @@ declare type GpuInfo = {
6647
6710
  name: string;
6648
6711
  };
6649
6712
 
6713
+ /**
6714
+ * @interface @experimental
6715
+ */
6716
+ declare type HeaderControlsContext = {
6717
+ getStack: () => Promise<TabStack>;
6718
+ };
6719
+
6650
6720
  /**
6651
6721
  * Generated when a View is hidden.
6652
6722
  *
@@ -10922,6 +10992,7 @@ declare namespace OpenFin {
10922
10992
  NonAppProcessDetails,
10923
10993
  SystemProcessInfo,
10924
10994
  ClearCacheOption,
10995
+ ClearDataOptions,
10925
10996
  CookieInfo,
10926
10997
  CookieOption,
10927
10998
  CrashReporterOptions,
@@ -11078,6 +11149,7 @@ declare namespace OpenFin {
11078
11149
  LayoutManagerConstructor,
11079
11150
  LayoutManagerOverride,
11080
11151
  LayoutManager,
11152
+ HeaderControlsContext,
11081
11153
  CreateLayoutOptions,
11082
11154
  MultiInstanceViewBehavior,
11083
11155
  PresetLayoutOptions_2 as PresetLayoutOptions,
@@ -13933,6 +14005,8 @@ declare type ProtocolMap = ExternalAdapterOnlyCallsMap & AnalyticsProtocolMap &
13933
14005
  'get-theme-preferences': GetterCall<OpenFin.NativeTheme>;
13934
14006
  'get-version': GetterCall<string>;
13935
14007
  'clear-cache': ApiCall<OpenFin.ClearCacheOption, void>;
14008
+ 'clear-http-cache': VoidCall;
14009
+ 'clear-cache-data': ApiCall<OpenFin.ClearDataOptions, void>;
13936
14010
  'delete-cache-request': VoidCall;
13937
14011
  'exit-desktop': VoidCall;
13938
14012
  'fetch-manifest': ApiCall<{
@@ -15561,6 +15635,44 @@ declare class System extends EmitterBase<OpenFin.SystemEvent> {
15561
15635
  *
15562
15636
  */
15563
15637
  clearCache(options: OpenFin.ClearCacheOption): Promise<void>;
15638
+ /**
15639
+ * Clears only the HTTP cache (browser cache for HTML, CSS, JS, images).
15640
+ * Service workers and other storage data are preserved.
15641
+ *
15642
+ * This is useful when you need to clear stale content without breaking offline functionality.
15643
+ *
15644
+ * @example
15645
+ * ```js
15646
+ * // Clear HTTP cache without affecting service workers
15647
+ * await fin.System.clearHTTPCache();
15648
+ * ```
15649
+ */
15650
+ clearHTTPCache(): Promise<void>;
15651
+ /**
15652
+ * Clears browsing data with granular control over what to clear and which origins to target.
15653
+ *
15654
+ * @param options - Optional configuration for what data to clear
15655
+ *
15656
+ * @example
15657
+ * ```js
15658
+ * // Clear only cookies and localStorage for a specific origin
15659
+ * await fin.System.clearCacheData({
15660
+ * dataTypes: ['cookies', 'localStorage'],
15661
+ * origins: ['http://localhost:8081']
15662
+ * });
15663
+ *
15664
+ * // Clear everything except for a specific origin
15665
+ * await fin.System.clearCacheData({
15666
+ * excludeOrigins: ['http://example.com']
15667
+ * });
15668
+ *
15669
+ * // Clear all service workers across all origins
15670
+ * await fin.System.clearCacheData({
15671
+ * dataTypes: ['serviceWorkers']
15672
+ * });
15673
+ * ```
15674
+ */
15675
+ clearCacheData(options?: OpenFin.ClearDataOptions): Promise<void>;
15564
15676
  /**
15565
15677
  * Clears all cached data when OpenFin Runtime exits.
15566
15678
  *
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openfin/fdc3-api",
3
- "version": "44.100.106",
3
+ "version": "44.100.107",
4
4
  "description": "OpenFin fdc3 module utilities and types.",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "private": false,