@openfin/core 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.
@@ -3116,6 +3116,48 @@ declare type ClearCacheOption = {
3116
3116
  localStorage?: boolean;
3117
3117
  };
3118
3118
 
3119
+ /**
3120
+ * @interface
3121
+ * Options for clearing various types of browsing data. Based on Electron's session.clearData() API.
3122
+ */
3123
+ declare type ClearDataOptions = {
3124
+ /**
3125
+ * The types of data to clear. By default, this will clear all types of data.
3126
+ * This can potentially include data types not explicitly listed here.
3127
+ *
3128
+ * - `backgroundFetch` - Background Fetch
3129
+ * - `cache` - Cache (includes cachestorage and shadercache)
3130
+ * - `cookies` - Cookies
3131
+ * - `downloads` - Downloads
3132
+ * - `fileSystems` - File Systems
3133
+ * - `indexedDB` - IndexedDB
3134
+ * - `localStorage` - Local Storage
3135
+ * - `serviceWorkers` - Service Workers
3136
+ * - `webSQL` - WebSQL
3137
+ */
3138
+ dataTypes?: Array<'backgroundFetch' | 'cache' | 'cookies' | 'downloads' | 'fileSystems' | 'indexedDB' | 'localStorage' | 'serviceWorkers' | 'webSQL'>;
3139
+ /**
3140
+ * Clear data for only these origins. Cannot be used with excludeOrigins.
3141
+ * Example: ['http://localhost:8081', 'https://example.com']
3142
+ */
3143
+ origins?: string[];
3144
+ /**
3145
+ * Clear data for all origins except these ones. Cannot be used with origins.
3146
+ * Example: ['http://workspace.here.io']
3147
+ */
3148
+ excludeOrigins?: string[];
3149
+ /**
3150
+ * Skips deleting session/authentication cookies currently maintaining active connections. (Default: false)
3151
+ */
3152
+ avoidClosingConnections?: boolean;
3153
+ /**
3154
+ * The behavior for matching data to origins.
3155
+ * - `third-parties-included` (default) - Storage is matched on origin in first-party contexts and top-level-site in third-party contexts.
3156
+ * - `origin-in-all-contexts` - Storage is matched on origin only in all contexts.
3157
+ */
3158
+ originMatchingMode?: 'third-parties-included' | 'origin-in-all-contexts';
3159
+ };
3160
+
3119
3161
  /**
3120
3162
  * @typeParam Data User-defined shape for data returned upon menu item click. Should be a
3121
3163
  * [union](https://www.typescriptlang.org/docs/handbook/2/everyday-types.html#union-types)
@@ -4392,6 +4434,27 @@ declare type CreateLayoutOptions = {
4392
4434
  * @default 'default'
4393
4435
  */
4394
4436
  multiInstanceViewBehavior?: MultiInstanceViewBehavior;
4437
+ /**
4438
+ * Callback invoked for each stack when its header controls area is rendered.
4439
+ * The callback receives the `.lm_controls` DOM element and a context object
4440
+ * with a {@link HeaderControlsContext.getStack | getStack()} async getter.
4441
+ * Use this to inject custom controls (e.g. search buttons) into stack headers.
4442
+ *
4443
+ * Optionally return a cleanup function that will be called when the stack is destroyed.
4444
+ *
4445
+ * Custom controls are not serialized into snapshots since callbacks are not
4446
+ * serializable. The callback is re-invoked when layouts are restored.
4447
+ *
4448
+ * **NOTE**: This feature is currently only supported in OpenFin Runtime environments.
4449
+ *
4450
+ * @param controlsElement The `.lm_controls` DOM element for the stack header.
4451
+ * @param context Context object providing an async {@link HeaderControlsContext.getStack | getStack()} to
4452
+ * retrieve the {@link TabStack} instance.
4453
+ * @returns A callback to be called when the rendered element needs to be cleaned up.
4454
+ *
4455
+ * @experimental
4456
+ */
4457
+ renderCustomHeaderControls?: (controlsElement: HTMLElement, context: HeaderControlsContext) => (() => void) | void;
4395
4458
  };
4396
4459
 
4397
4460
  /**
@@ -6214,6 +6277,13 @@ declare type GpuInfo = {
6214
6277
  name: string;
6215
6278
  };
6216
6279
 
6280
+ /**
6281
+ * @interface @experimental
6282
+ */
6283
+ declare type HeaderControlsContext = {
6284
+ getStack: () => Promise<TabStack>;
6285
+ };
6286
+
6217
6287
  /**
6218
6288
  * Generated when a View is hidden.
6219
6289
  *
@@ -10246,6 +10316,7 @@ declare namespace OpenFin_2 {
10246
10316
  NonAppProcessDetails,
10247
10317
  SystemProcessInfo,
10248
10318
  ClearCacheOption,
10319
+ ClearDataOptions,
10249
10320
  CookieInfo,
10250
10321
  CookieOption,
10251
10322
  CrashReporterOptions,
@@ -10402,6 +10473,7 @@ declare namespace OpenFin_2 {
10402
10473
  LayoutManagerConstructor,
10403
10474
  LayoutManagerOverride,
10404
10475
  LayoutManager,
10476
+ HeaderControlsContext,
10405
10477
  CreateLayoutOptions,
10406
10478
  MultiInstanceViewBehavior,
10407
10479
  PresetLayoutOptions_2 as PresetLayoutOptions,
@@ -13176,6 +13248,8 @@ declare type ProtocolMap = ExternalAdapterOnlyCallsMap & AnalyticsProtocolMap &
13176
13248
  'get-theme-preferences': GetterCall<OpenFin_2.NativeTheme>;
13177
13249
  'get-version': GetterCall<string>;
13178
13250
  'clear-cache': ApiCall<OpenFin_2.ClearCacheOption, void>;
13251
+ 'clear-http-cache': VoidCall;
13252
+ 'clear-cache-data': ApiCall<OpenFin_2.ClearDataOptions, void>;
13179
13253
  'delete-cache-request': VoidCall;
13180
13254
  'exit-desktop': VoidCall;
13181
13255
  'fetch-manifest': ApiCall<{
@@ -14798,6 +14872,44 @@ declare class System extends EmitterBase<OpenFin_2.SystemEvent> {
14798
14872
  *
14799
14873
  */
14800
14874
  clearCache(options: OpenFin_2.ClearCacheOption): Promise<void>;
14875
+ /**
14876
+ * Clears only the HTTP cache (browser cache for HTML, CSS, JS, images).
14877
+ * Service workers and other storage data are preserved.
14878
+ *
14879
+ * This is useful when you need to clear stale content without breaking offline functionality.
14880
+ *
14881
+ * @example
14882
+ * ```js
14883
+ * // Clear HTTP cache without affecting service workers
14884
+ * await fin.System.clearHTTPCache();
14885
+ * ```
14886
+ */
14887
+ clearHTTPCache(): Promise<void>;
14888
+ /**
14889
+ * Clears browsing data with granular control over what to clear and which origins to target.
14890
+ *
14891
+ * @param options - Optional configuration for what data to clear
14892
+ *
14893
+ * @example
14894
+ * ```js
14895
+ * // Clear only cookies and localStorage for a specific origin
14896
+ * await fin.System.clearCacheData({
14897
+ * dataTypes: ['cookies', 'localStorage'],
14898
+ * origins: ['http://localhost:8081']
14899
+ * });
14900
+ *
14901
+ * // Clear everything except for a specific origin
14902
+ * await fin.System.clearCacheData({
14903
+ * excludeOrigins: ['http://example.com']
14904
+ * });
14905
+ *
14906
+ * // Clear all service workers across all origins
14907
+ * await fin.System.clearCacheData({
14908
+ * dataTypes: ['serviceWorkers']
14909
+ * });
14910
+ * ```
14911
+ */
14912
+ clearCacheData(options?: OpenFin_2.ClearDataOptions): Promise<void>;
14801
14913
  /**
14802
14914
  * Clears all cached data when OpenFin Runtime exits.
14803
14915
  *
@@ -3116,6 +3116,48 @@ declare type ClearCacheOption = {
3116
3116
  localStorage?: boolean;
3117
3117
  };
3118
3118
 
3119
+ /**
3120
+ * @interface
3121
+ * Options for clearing various types of browsing data. Based on Electron's session.clearData() API.
3122
+ */
3123
+ declare type ClearDataOptions = {
3124
+ /**
3125
+ * The types of data to clear. By default, this will clear all types of data.
3126
+ * This can potentially include data types not explicitly listed here.
3127
+ *
3128
+ * - `backgroundFetch` - Background Fetch
3129
+ * - `cache` - Cache (includes cachestorage and shadercache)
3130
+ * - `cookies` - Cookies
3131
+ * - `downloads` - Downloads
3132
+ * - `fileSystems` - File Systems
3133
+ * - `indexedDB` - IndexedDB
3134
+ * - `localStorage` - Local Storage
3135
+ * - `serviceWorkers` - Service Workers
3136
+ * - `webSQL` - WebSQL
3137
+ */
3138
+ dataTypes?: Array<'backgroundFetch' | 'cache' | 'cookies' | 'downloads' | 'fileSystems' | 'indexedDB' | 'localStorage' | 'serviceWorkers' | 'webSQL'>;
3139
+ /**
3140
+ * Clear data for only these origins. Cannot be used with excludeOrigins.
3141
+ * Example: ['http://localhost:8081', 'https://example.com']
3142
+ */
3143
+ origins?: string[];
3144
+ /**
3145
+ * Clear data for all origins except these ones. Cannot be used with origins.
3146
+ * Example: ['http://workspace.here.io']
3147
+ */
3148
+ excludeOrigins?: string[];
3149
+ /**
3150
+ * Skips deleting session/authentication cookies currently maintaining active connections. (Default: false)
3151
+ */
3152
+ avoidClosingConnections?: boolean;
3153
+ /**
3154
+ * The behavior for matching data to origins.
3155
+ * - `third-parties-included` (default) - Storage is matched on origin in first-party contexts and top-level-site in third-party contexts.
3156
+ * - `origin-in-all-contexts` - Storage is matched on origin only in all contexts.
3157
+ */
3158
+ originMatchingMode?: 'third-parties-included' | 'origin-in-all-contexts';
3159
+ };
3160
+
3119
3161
  /**
3120
3162
  * @typeParam Data User-defined shape for data returned upon menu item click. Should be a
3121
3163
  * [union](https://www.typescriptlang.org/docs/handbook/2/everyday-types.html#union-types)
@@ -4392,6 +4434,27 @@ declare type CreateLayoutOptions = {
4392
4434
  * @default 'default'
4393
4435
  */
4394
4436
  multiInstanceViewBehavior?: MultiInstanceViewBehavior;
4437
+ /**
4438
+ * Callback invoked for each stack when its header controls area is rendered.
4439
+ * The callback receives the `.lm_controls` DOM element and a context object
4440
+ * with a {@link HeaderControlsContext.getStack | getStack()} async getter.
4441
+ * Use this to inject custom controls (e.g. search buttons) into stack headers.
4442
+ *
4443
+ * Optionally return a cleanup function that will be called when the stack is destroyed.
4444
+ *
4445
+ * Custom controls are not serialized into snapshots since callbacks are not
4446
+ * serializable. The callback is re-invoked when layouts are restored.
4447
+ *
4448
+ * **NOTE**: This feature is currently only supported in OpenFin Runtime environments.
4449
+ *
4450
+ * @param controlsElement The `.lm_controls` DOM element for the stack header.
4451
+ * @param context Context object providing an async {@link HeaderControlsContext.getStack | getStack()} to
4452
+ * retrieve the {@link TabStack} instance.
4453
+ * @returns A callback to be called when the rendered element needs to be cleaned up.
4454
+ *
4455
+ * @experimental
4456
+ */
4457
+ renderCustomHeaderControls?: (controlsElement: HTMLElement, context: HeaderControlsContext) => (() => void) | void;
4395
4458
  };
4396
4459
 
4397
4460
  /**
@@ -6214,6 +6277,13 @@ declare type GpuInfo = {
6214
6277
  name: string;
6215
6278
  };
6216
6279
 
6280
+ /**
6281
+ * @interface @experimental
6282
+ */
6283
+ declare type HeaderControlsContext = {
6284
+ getStack: () => Promise<TabStack>;
6285
+ };
6286
+
6217
6287
  /**
6218
6288
  * Generated when a View is hidden.
6219
6289
  *
@@ -10246,6 +10316,7 @@ declare namespace OpenFin_2 {
10246
10316
  NonAppProcessDetails,
10247
10317
  SystemProcessInfo,
10248
10318
  ClearCacheOption,
10319
+ ClearDataOptions,
10249
10320
  CookieInfo,
10250
10321
  CookieOption,
10251
10322
  CrashReporterOptions,
@@ -10402,6 +10473,7 @@ declare namespace OpenFin_2 {
10402
10473
  LayoutManagerConstructor,
10403
10474
  LayoutManagerOverride,
10404
10475
  LayoutManager,
10476
+ HeaderControlsContext,
10405
10477
  CreateLayoutOptions,
10406
10478
  MultiInstanceViewBehavior,
10407
10479
  PresetLayoutOptions_2 as PresetLayoutOptions,
@@ -13176,6 +13248,8 @@ declare type ProtocolMap = ExternalAdapterOnlyCallsMap & AnalyticsProtocolMap &
13176
13248
  'get-theme-preferences': GetterCall<OpenFin_2.NativeTheme>;
13177
13249
  'get-version': GetterCall<string>;
13178
13250
  'clear-cache': ApiCall<OpenFin_2.ClearCacheOption, void>;
13251
+ 'clear-http-cache': VoidCall;
13252
+ 'clear-cache-data': ApiCall<OpenFin_2.ClearDataOptions, void>;
13179
13253
  'delete-cache-request': VoidCall;
13180
13254
  'exit-desktop': VoidCall;
13181
13255
  'fetch-manifest': ApiCall<{
@@ -14798,6 +14872,44 @@ declare class System extends EmitterBase<OpenFin_2.SystemEvent> {
14798
14872
  *
14799
14873
  */
14800
14874
  clearCache(options: OpenFin_2.ClearCacheOption): Promise<void>;
14875
+ /**
14876
+ * Clears only the HTTP cache (browser cache for HTML, CSS, JS, images).
14877
+ * Service workers and other storage data are preserved.
14878
+ *
14879
+ * This is useful when you need to clear stale content without breaking offline functionality.
14880
+ *
14881
+ * @example
14882
+ * ```js
14883
+ * // Clear HTTP cache without affecting service workers
14884
+ * await fin.System.clearHTTPCache();
14885
+ * ```
14886
+ */
14887
+ clearHTTPCache(): Promise<void>;
14888
+ /**
14889
+ * Clears browsing data with granular control over what to clear and which origins to target.
14890
+ *
14891
+ * @param options - Optional configuration for what data to clear
14892
+ *
14893
+ * @example
14894
+ * ```js
14895
+ * // Clear only cookies and localStorage for a specific origin
14896
+ * await fin.System.clearCacheData({
14897
+ * dataTypes: ['cookies', 'localStorage'],
14898
+ * origins: ['http://localhost:8081']
14899
+ * });
14900
+ *
14901
+ * // Clear everything except for a specific origin
14902
+ * await fin.System.clearCacheData({
14903
+ * excludeOrigins: ['http://example.com']
14904
+ * });
14905
+ *
14906
+ * // Clear all service workers across all origins
14907
+ * await fin.System.clearCacheData({
14908
+ * dataTypes: ['serviceWorkers']
14909
+ * });
14910
+ * ```
14911
+ */
14912
+ clearCacheData(options?: OpenFin_2.ClearDataOptions): Promise<void>;
14801
14913
  /**
14802
14914
  * Clears all cached data when OpenFin Runtime exits.
14803
14915
  *
@@ -3116,6 +3116,48 @@ declare type ClearCacheOption = {
3116
3116
  localStorage?: boolean;
3117
3117
  };
3118
3118
 
3119
+ /**
3120
+ * @interface
3121
+ * Options for clearing various types of browsing data. Based on Electron's session.clearData() API.
3122
+ */
3123
+ declare type ClearDataOptions = {
3124
+ /**
3125
+ * The types of data to clear. By default, this will clear all types of data.
3126
+ * This can potentially include data types not explicitly listed here.
3127
+ *
3128
+ * - `backgroundFetch` - Background Fetch
3129
+ * - `cache` - Cache (includes cachestorage and shadercache)
3130
+ * - `cookies` - Cookies
3131
+ * - `downloads` - Downloads
3132
+ * - `fileSystems` - File Systems
3133
+ * - `indexedDB` - IndexedDB
3134
+ * - `localStorage` - Local Storage
3135
+ * - `serviceWorkers` - Service Workers
3136
+ * - `webSQL` - WebSQL
3137
+ */
3138
+ dataTypes?: Array<'backgroundFetch' | 'cache' | 'cookies' | 'downloads' | 'fileSystems' | 'indexedDB' | 'localStorage' | 'serviceWorkers' | 'webSQL'>;
3139
+ /**
3140
+ * Clear data for only these origins. Cannot be used with excludeOrigins.
3141
+ * Example: ['http://localhost:8081', 'https://example.com']
3142
+ */
3143
+ origins?: string[];
3144
+ /**
3145
+ * Clear data for all origins except these ones. Cannot be used with origins.
3146
+ * Example: ['http://workspace.here.io']
3147
+ */
3148
+ excludeOrigins?: string[];
3149
+ /**
3150
+ * Skips deleting session/authentication cookies currently maintaining active connections. (Default: false)
3151
+ */
3152
+ avoidClosingConnections?: boolean;
3153
+ /**
3154
+ * The behavior for matching data to origins.
3155
+ * - `third-parties-included` (default) - Storage is matched on origin in first-party contexts and top-level-site in third-party contexts.
3156
+ * - `origin-in-all-contexts` - Storage is matched on origin only in all contexts.
3157
+ */
3158
+ originMatchingMode?: 'third-parties-included' | 'origin-in-all-contexts';
3159
+ };
3160
+
3119
3161
  /**
3120
3162
  * @typeParam Data User-defined shape for data returned upon menu item click. Should be a
3121
3163
  * [union](https://www.typescriptlang.org/docs/handbook/2/everyday-types.html#union-types)
@@ -4392,6 +4434,27 @@ declare type CreateLayoutOptions = {
4392
4434
  * @default 'default'
4393
4435
  */
4394
4436
  multiInstanceViewBehavior?: MultiInstanceViewBehavior;
4437
+ /**
4438
+ * Callback invoked for each stack when its header controls area is rendered.
4439
+ * The callback receives the `.lm_controls` DOM element and a context object
4440
+ * with a {@link HeaderControlsContext.getStack | getStack()} async getter.
4441
+ * Use this to inject custom controls (e.g. search buttons) into stack headers.
4442
+ *
4443
+ * Optionally return a cleanup function that will be called when the stack is destroyed.
4444
+ *
4445
+ * Custom controls are not serialized into snapshots since callbacks are not
4446
+ * serializable. The callback is re-invoked when layouts are restored.
4447
+ *
4448
+ * **NOTE**: This feature is currently only supported in OpenFin Runtime environments.
4449
+ *
4450
+ * @param controlsElement The `.lm_controls` DOM element for the stack header.
4451
+ * @param context Context object providing an async {@link HeaderControlsContext.getStack | getStack()} to
4452
+ * retrieve the {@link TabStack} instance.
4453
+ * @returns A callback to be called when the rendered element needs to be cleaned up.
4454
+ *
4455
+ * @experimental
4456
+ */
4457
+ renderCustomHeaderControls?: (controlsElement: HTMLElement, context: HeaderControlsContext) => (() => void) | void;
4395
4458
  };
4396
4459
 
4397
4460
  /**
@@ -6214,6 +6277,13 @@ declare type GpuInfo = {
6214
6277
  name: string;
6215
6278
  };
6216
6279
 
6280
+ /**
6281
+ * @interface @experimental
6282
+ */
6283
+ declare type HeaderControlsContext = {
6284
+ getStack: () => Promise<TabStack>;
6285
+ };
6286
+
6217
6287
  /**
6218
6288
  * Generated when a View is hidden.
6219
6289
  *
@@ -10246,6 +10316,7 @@ declare namespace OpenFin_2 {
10246
10316
  NonAppProcessDetails,
10247
10317
  SystemProcessInfo,
10248
10318
  ClearCacheOption,
10319
+ ClearDataOptions,
10249
10320
  CookieInfo,
10250
10321
  CookieOption,
10251
10322
  CrashReporterOptions,
@@ -10402,6 +10473,7 @@ declare namespace OpenFin_2 {
10402
10473
  LayoutManagerConstructor,
10403
10474
  LayoutManagerOverride,
10404
10475
  LayoutManager,
10476
+ HeaderControlsContext,
10405
10477
  CreateLayoutOptions,
10406
10478
  MultiInstanceViewBehavior,
10407
10479
  PresetLayoutOptions_2 as PresetLayoutOptions,
@@ -13176,6 +13248,8 @@ declare type ProtocolMap = ExternalAdapterOnlyCallsMap & AnalyticsProtocolMap &
13176
13248
  'get-theme-preferences': GetterCall<OpenFin_2.NativeTheme>;
13177
13249
  'get-version': GetterCall<string>;
13178
13250
  'clear-cache': ApiCall<OpenFin_2.ClearCacheOption, void>;
13251
+ 'clear-http-cache': VoidCall;
13252
+ 'clear-cache-data': ApiCall<OpenFin_2.ClearDataOptions, void>;
13179
13253
  'delete-cache-request': VoidCall;
13180
13254
  'exit-desktop': VoidCall;
13181
13255
  'fetch-manifest': ApiCall<{
@@ -14798,6 +14872,44 @@ declare class System extends EmitterBase<OpenFin_2.SystemEvent> {
14798
14872
  *
14799
14873
  */
14800
14874
  clearCache(options: OpenFin_2.ClearCacheOption): Promise<void>;
14875
+ /**
14876
+ * Clears only the HTTP cache (browser cache for HTML, CSS, JS, images).
14877
+ * Service workers and other storage data are preserved.
14878
+ *
14879
+ * This is useful when you need to clear stale content without breaking offline functionality.
14880
+ *
14881
+ * @example
14882
+ * ```js
14883
+ * // Clear HTTP cache without affecting service workers
14884
+ * await fin.System.clearHTTPCache();
14885
+ * ```
14886
+ */
14887
+ clearHTTPCache(): Promise<void>;
14888
+ /**
14889
+ * Clears browsing data with granular control over what to clear and which origins to target.
14890
+ *
14891
+ * @param options - Optional configuration for what data to clear
14892
+ *
14893
+ * @example
14894
+ * ```js
14895
+ * // Clear only cookies and localStorage for a specific origin
14896
+ * await fin.System.clearCacheData({
14897
+ * dataTypes: ['cookies', 'localStorage'],
14898
+ * origins: ['http://localhost:8081']
14899
+ * });
14900
+ *
14901
+ * // Clear everything except for a specific origin
14902
+ * await fin.System.clearCacheData({
14903
+ * excludeOrigins: ['http://example.com']
14904
+ * });
14905
+ *
14906
+ * // Clear all service workers across all origins
14907
+ * await fin.System.clearCacheData({
14908
+ * dataTypes: ['serviceWorkers']
14909
+ * });
14910
+ * ```
14911
+ */
14912
+ clearCacheData(options?: OpenFin_2.ClearDataOptions): Promise<void>;
14801
14913
  /**
14802
14914
  * Clears all cached data when OpenFin Runtime exits.
14803
14915
  *
package/out/stub.d.ts CHANGED
@@ -3172,6 +3172,48 @@ declare type ClearCacheOption = {
3172
3172
  localStorage?: boolean;
3173
3173
  };
3174
3174
 
3175
+ /**
3176
+ * @interface
3177
+ * Options for clearing various types of browsing data. Based on Electron's session.clearData() API.
3178
+ */
3179
+ declare type ClearDataOptions = {
3180
+ /**
3181
+ * The types of data to clear. By default, this will clear all types of data.
3182
+ * This can potentially include data types not explicitly listed here.
3183
+ *
3184
+ * - `backgroundFetch` - Background Fetch
3185
+ * - `cache` - Cache (includes cachestorage and shadercache)
3186
+ * - `cookies` - Cookies
3187
+ * - `downloads` - Downloads
3188
+ * - `fileSystems` - File Systems
3189
+ * - `indexedDB` - IndexedDB
3190
+ * - `localStorage` - Local Storage
3191
+ * - `serviceWorkers` - Service Workers
3192
+ * - `webSQL` - WebSQL
3193
+ */
3194
+ dataTypes?: Array<'backgroundFetch' | 'cache' | 'cookies' | 'downloads' | 'fileSystems' | 'indexedDB' | 'localStorage' | 'serviceWorkers' | 'webSQL'>;
3195
+ /**
3196
+ * Clear data for only these origins. Cannot be used with excludeOrigins.
3197
+ * Example: ['http://localhost:8081', 'https://example.com']
3198
+ */
3199
+ origins?: string[];
3200
+ /**
3201
+ * Clear data for all origins except these ones. Cannot be used with origins.
3202
+ * Example: ['http://workspace.here.io']
3203
+ */
3204
+ excludeOrigins?: string[];
3205
+ /**
3206
+ * Skips deleting session/authentication cookies currently maintaining active connections. (Default: false)
3207
+ */
3208
+ avoidClosingConnections?: boolean;
3209
+ /**
3210
+ * The behavior for matching data to origins.
3211
+ * - `third-parties-included` (default) - Storage is matched on origin in first-party contexts and top-level-site in third-party contexts.
3212
+ * - `origin-in-all-contexts` - Storage is matched on origin only in all contexts.
3213
+ */
3214
+ originMatchingMode?: 'third-parties-included' | 'origin-in-all-contexts';
3215
+ };
3216
+
3175
3217
  /**
3176
3218
  * @typeParam Data User-defined shape for data returned upon menu item click. Should be a
3177
3219
  * [union](https://www.typescriptlang.org/docs/handbook/2/everyday-types.html#union-types)
@@ -4451,6 +4493,27 @@ declare type CreateLayoutOptions = {
4451
4493
  * @default 'default'
4452
4494
  */
4453
4495
  multiInstanceViewBehavior?: MultiInstanceViewBehavior;
4496
+ /**
4497
+ * Callback invoked for each stack when its header controls area is rendered.
4498
+ * The callback receives the `.lm_controls` DOM element and a context object
4499
+ * with a {@link HeaderControlsContext.getStack | getStack()} async getter.
4500
+ * Use this to inject custom controls (e.g. search buttons) into stack headers.
4501
+ *
4502
+ * Optionally return a cleanup function that will be called when the stack is destroyed.
4503
+ *
4504
+ * Custom controls are not serialized into snapshots since callbacks are not
4505
+ * serializable. The callback is re-invoked when layouts are restored.
4506
+ *
4507
+ * **NOTE**: This feature is currently only supported in OpenFin Runtime environments.
4508
+ *
4509
+ * @param controlsElement The `.lm_controls` DOM element for the stack header.
4510
+ * @param context Context object providing an async {@link HeaderControlsContext.getStack | getStack()} to
4511
+ * retrieve the {@link TabStack} instance.
4512
+ * @returns A callback to be called when the rendered element needs to be cleaned up.
4513
+ *
4514
+ * @experimental
4515
+ */
4516
+ renderCustomHeaderControls?: (controlsElement: HTMLElement, context: HeaderControlsContext) => (() => void) | void;
4454
4517
  };
4455
4518
 
4456
4519
  /**
@@ -6305,6 +6368,13 @@ declare type GpuInfo = {
6305
6368
  name: string;
6306
6369
  };
6307
6370
 
6371
+ /**
6372
+ * @interface @experimental
6373
+ */
6374
+ declare type HeaderControlsContext = {
6375
+ getStack: () => Promise<TabStack>;
6376
+ };
6377
+
6308
6378
  /**
6309
6379
  * Generated when a View is hidden.
6310
6380
  *
@@ -10580,6 +10650,7 @@ declare namespace OpenFin_2 {
10580
10650
  NonAppProcessDetails,
10581
10651
  SystemProcessInfo,
10582
10652
  ClearCacheOption,
10653
+ ClearDataOptions,
10583
10654
  CookieInfo,
10584
10655
  CookieOption,
10585
10656
  CrashReporterOptions,
@@ -10736,6 +10807,7 @@ declare namespace OpenFin_2 {
10736
10807
  LayoutManagerConstructor,
10737
10808
  LayoutManagerOverride,
10738
10809
  LayoutManager,
10810
+ HeaderControlsContext,
10739
10811
  CreateLayoutOptions,
10740
10812
  MultiInstanceViewBehavior,
10741
10813
  PresetLayoutOptions_2 as PresetLayoutOptions,
@@ -13593,6 +13665,8 @@ declare type ProtocolMap = ExternalAdapterOnlyCallsMap & AnalyticsProtocolMap &
13593
13665
  'get-theme-preferences': GetterCall<OpenFin_2.NativeTheme>;
13594
13666
  'get-version': GetterCall<string>;
13595
13667
  'clear-cache': ApiCall<OpenFin_2.ClearCacheOption, void>;
13668
+ 'clear-http-cache': VoidCall;
13669
+ 'clear-cache-data': ApiCall<OpenFin_2.ClearDataOptions, void>;
13596
13670
  'delete-cache-request': VoidCall;
13597
13671
  'exit-desktop': VoidCall;
13598
13672
  'fetch-manifest': ApiCall<{
@@ -15221,6 +15295,44 @@ declare class System extends EmitterBase<OpenFin_2.SystemEvent> {
15221
15295
  *
15222
15296
  */
15223
15297
  clearCache(options: OpenFin_2.ClearCacheOption): Promise<void>;
15298
+ /**
15299
+ * Clears only the HTTP cache (browser cache for HTML, CSS, JS, images).
15300
+ * Service workers and other storage data are preserved.
15301
+ *
15302
+ * This is useful when you need to clear stale content without breaking offline functionality.
15303
+ *
15304
+ * @example
15305
+ * ```js
15306
+ * // Clear HTTP cache without affecting service workers
15307
+ * await fin.System.clearHTTPCache();
15308
+ * ```
15309
+ */
15310
+ clearHTTPCache(): Promise<void>;
15311
+ /**
15312
+ * Clears browsing data with granular control over what to clear and which origins to target.
15313
+ *
15314
+ * @param options - Optional configuration for what data to clear
15315
+ *
15316
+ * @example
15317
+ * ```js
15318
+ * // Clear only cookies and localStorage for a specific origin
15319
+ * await fin.System.clearCacheData({
15320
+ * dataTypes: ['cookies', 'localStorage'],
15321
+ * origins: ['http://localhost:8081']
15322
+ * });
15323
+ *
15324
+ * // Clear everything except for a specific origin
15325
+ * await fin.System.clearCacheData({
15326
+ * excludeOrigins: ['http://example.com']
15327
+ * });
15328
+ *
15329
+ * // Clear all service workers across all origins
15330
+ * await fin.System.clearCacheData({
15331
+ * dataTypes: ['serviceWorkers']
15332
+ * });
15333
+ * ```
15334
+ */
15335
+ clearCacheData(options?: OpenFin_2.ClearDataOptions): Promise<void>;
15224
15336
  /**
15225
15337
  * Clears all cached data when OpenFin Runtime exits.
15226
15338
  *
package/out/stub.js CHANGED
@@ -5552,6 +5552,48 @@ class System extends base_1$m.EmitterBase {
5552
5552
  clearCache(options) {
5553
5553
  return this.wire.sendAction('clear-cache', options).then(() => undefined);
5554
5554
  }
5555
+ /**
5556
+ * Clears only the HTTP cache (browser cache for HTML, CSS, JS, images).
5557
+ * Service workers and other storage data are preserved.
5558
+ *
5559
+ * This is useful when you need to clear stale content without breaking offline functionality.
5560
+ *
5561
+ * @example
5562
+ * ```js
5563
+ * // Clear HTTP cache without affecting service workers
5564
+ * await fin.System.clearHTTPCache();
5565
+ * ```
5566
+ */
5567
+ clearHTTPCache() {
5568
+ return this.wire.sendAction('clear-http-cache').then(() => undefined);
5569
+ }
5570
+ /**
5571
+ * Clears browsing data with granular control over what to clear and which origins to target.
5572
+ *
5573
+ * @param options - Optional configuration for what data to clear
5574
+ *
5575
+ * @example
5576
+ * ```js
5577
+ * // Clear only cookies and localStorage for a specific origin
5578
+ * await fin.System.clearCacheData({
5579
+ * dataTypes: ['cookies', 'localStorage'],
5580
+ * origins: ['http://localhost:8081']
5581
+ * });
5582
+ *
5583
+ * // Clear everything except for a specific origin
5584
+ * await fin.System.clearCacheData({
5585
+ * excludeOrigins: ['http://example.com']
5586
+ * });
5587
+ *
5588
+ * // Clear all service workers across all origins
5589
+ * await fin.System.clearCacheData({
5590
+ * dataTypes: ['serviceWorkers']
5591
+ * });
5592
+ * ```
5593
+ */
5594
+ clearCacheData(options) {
5595
+ return this.wire.sendAction('clear-cache-data', options || {}).then(() => undefined);
5596
+ }
5555
5597
  /**
5556
5598
  * Clears all cached data when OpenFin Runtime exits.
5557
5599
  *
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openfin/core",
3
- "version": "44.100.106",
3
+ "version": "44.100.107",
4
4
  "description": "The core renderer entry point of OpenFin",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "main": "out/stub.js",