mirror of
https://github.com/elastic/kibana.git
synced 2025-04-21 00:13:52 -04:00
### What this PR changes
branched from elastic/kibana/pull/163759
- Introduces new AppFeatures package `@kbn/security-solution-features`
with the common logic and `AppFeatureService` to apply offering specific
configurations for Security Solution features independently for
Serverless and ESS. This logic is replacing the earlier `AppFeatures` in
order to introduce new Kibana feature privileges for serverless PLIs so
that new Kibana privileges introduced for serverless PLIs do not
affect/show up as new Kibana feature privileges in ESS.
- Gates endpoint exceptions on alerts/rules based on serverless PLI
configurations. On serverless `Endpoint exceptions` should be
accessible/seen only on endpoint essentials/complete.
New AppFeatures logic architecture diagram:
.DotObject<T>
— Convert typeT
to a flattened structure.DedotObject<T>
— The inverse ofDotObject<T>
: convert the flattened typeT
to a deeply-nested type.Ensure<T, X>
— Makes sureT
is of typeX
.ObservableLike<T>
— Minimal interface for an object resembling anObservable
.PublicContract<T>
— Returns an object with public keys only.PublicKeys<T>
— Returns public keys of an object.RecursiveReadonly<T>
— LikeReadonly<T>
, but freezes object recursively.ShallowPromise<T>
— Same asPromise
type, but it flat maps the wrapped type.UnionToIntersection<T>
— Converts a union of types into an intersection.UnwrapObservable<T>
— Returns wrapped type of an observable.Values<T>
— Returns object or array value types.