@backstage/backend-app-api 0.3.2-next.0 → 0.4.0-next.2

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.

Potentially problematic release.


This version of @backstage/backend-app-api might be problematic. Click here for more details.

package/CHANGELOG.md CHANGED
@@ -1,5 +1,49 @@
1
1
  # @backstage/backend-app-api
2
2
 
3
+ ## 0.4.0-next.2
4
+
5
+ ### Minor Changes
6
+
7
+ - 01a075ec1d: **BREAKING**: Renamed `RootHttpRouterConfigureOptions` to `RootHttpRouterConfigureContext`, and removed the unused type `ServiceOrExtensionPoint`.
8
+ - 4ae71b7f2e: **BREAKING** Renaming `*Factory` exports to `*ServiceFactory` instead. For example `configFactory` now is exported as `configServiceFactory`.
9
+ - d31d8e00b3: **BREAKING** `HttpServerCertificateOptions` when specified with a `key` and `cert` should also have the `type: 'pem'` instead of `type: 'plain'`
10
+
11
+ ### Patch Changes
12
+
13
+ - e716946103: Updated usage of the lifecycle service.
14
+ - f60cca9da1: Updated database factory to pass service deps required for restoring database state during development.
15
+ - 610d65e143: Updates to match new `BackendFeature` type.
16
+ - ab22515647: The shutdown signal handlers are now installed as part of the backend instance rather than the lifecycle service, and explicitly cause the process to exit.
17
+ - b729f9f31f: Moved the options of the `config` and `rootHttpRouter` services out to the factories themselves, where they belong
18
+ - 71a5ec0f06: Updated usages of `LogMeta`.
19
+ - Updated dependencies
20
+ - @backstage/backend-plugin-api@0.4.0-next.2
21
+ - @backstage/backend-common@0.18.2-next.2
22
+ - @backstage/backend-tasks@0.4.3-next.2
23
+ - @backstage/plugin-auth-node@0.2.11-next.2
24
+ - @backstage/plugin-permission-node@0.7.5-next.2
25
+ - @backstage/cli-common@0.1.11
26
+ - @backstage/config@1.0.6
27
+ - @backstage/config-loader@1.1.8
28
+ - @backstage/errors@1.1.4
29
+ - @backstage/types@1.0.2
30
+
31
+ ## 0.3.2-next.1
32
+
33
+ ### Patch Changes
34
+
35
+ - Updated dependencies
36
+ - @backstage/backend-common@0.18.2-next.1
37
+ - @backstage/backend-plugin-api@0.3.2-next.1
38
+ - @backstage/backend-tasks@0.4.3-next.1
39
+ - @backstage/cli-common@0.1.11
40
+ - @backstage/config@1.0.6
41
+ - @backstage/config-loader@1.1.8
42
+ - @backstage/errors@1.1.4
43
+ - @backstage/types@1.0.2
44
+ - @backstage/plugin-auth-node@0.2.11-next.1
45
+ - @backstage/plugin-permission-node@0.7.5-next.1
46
+
3
47
  ## 0.3.2-next.0
4
48
 
5
49
  ### Patch Changes
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@backstage/backend-app-api",
3
- "version": "0.3.2-next.0",
3
+ "version": "0.4.0-next.2",
4
4
  "main": "../dist/index.cjs.js",
5
5
  "types": "../dist/index.alpha.d.ts"
6
6
  }
@@ -12,17 +12,16 @@ import { ConfigService } from '@backstage/backend-plugin-api';
12
12
  import { CorsOptions } from 'cors';
13
13
  import { ErrorRequestHandler } from 'express';
14
14
  import { Express as Express_2 } from 'express';
15
- import { ExtensionPoint } from '@backstage/backend-plugin-api';
16
15
  import { Format } from 'logform';
17
16
  import { Handler } from 'express';
18
17
  import { HelmetOptions } from 'helmet';
19
18
  import * as http from 'http';
20
19
  import { HttpRouterService } from '@backstage/backend-plugin-api';
21
20
  import { IdentityService } from '@backstage/backend-plugin-api';
21
+ import { JsonObject } from '@backstage/types';
22
22
  import { LifecycleService } from '@backstage/backend-plugin-api';
23
23
  import { LoadConfigOptionsRemote } from '@backstage/config-loader';
24
24
  import { LoggerService } from '@backstage/backend-plugin-api';
25
- import { LogMeta } from '@backstage/backend-plugin-api';
26
25
  import { PermissionsService } from '@backstage/backend-plugin-api';
27
26
  import { PluginCacheManager } from '@backstage/backend-common';
28
27
  import { PluginDatabaseManager } from '@backstage/backend-common';
@@ -35,7 +34,6 @@ import { RootLoggerService } from '@backstage/backend-plugin-api';
35
34
  import { SchedulerService } from '@backstage/backend-plugin-api';
36
35
  import { ServiceFactory } from '@backstage/backend-plugin-api';
37
36
  import { ServiceFactoryOrFunction } from '@backstage/backend-plugin-api';
38
- import { ServiceRef } from '@backstage/backend-plugin-api';
39
37
  import { TokenManagerService } from '@backstage/backend-plugin-api';
40
38
  import { transport } from 'winston';
41
39
  import { UrlReader } from '@backstage/backend-common';
@@ -50,10 +48,7 @@ export declare interface Backend {
50
48
  }
51
49
 
52
50
  /** @public */
53
- export declare const cacheFactory: () => ServiceFactory<PluginCacheManager>;
54
-
55
- /** @public */
56
- export declare const configFactory: () => ServiceFactory<ConfigService>;
51
+ export declare const cacheServiceFactory: () => ServiceFactory<PluginCacheManager>;
57
52
 
58
53
  /** @public */
59
54
  export declare interface ConfigFactoryOptions {
@@ -67,6 +62,9 @@ export declare interface ConfigFactoryOptions {
67
62
  remote?: LoadConfigOptionsRemote;
68
63
  }
69
64
 
65
+ /** @public */
66
+ export declare const configServiceFactory: (options?: ConfigFactoryOptions | undefined) => ServiceFactory<ConfigService>;
67
+
70
68
  /** @public */
71
69
  export declare function createConfigSecretEnumerator(options: {
72
70
  logger: LoggerService;
@@ -95,7 +93,7 @@ export declare interface CreateSpecializedBackendOptions {
95
93
  }
96
94
 
97
95
  /** @public */
98
- export declare const databaseFactory: () => ServiceFactory<PluginDatabaseManager>;
96
+ export declare const databaseServiceFactory: () => ServiceFactory<PluginDatabaseManager>;
99
97
 
100
98
  /**
101
99
  * The default implementation of the {@link @backstage/backend-plugin-api#RootHttpRouterService} interface for
@@ -125,7 +123,7 @@ export declare interface DefaultRootHttpRouterOptions {
125
123
  }
126
124
 
127
125
  /** @public */
128
- export declare const discoveryFactory: () => ServiceFactory<PluginEndpointDiscovery>;
126
+ export declare const discoveryServiceFactory: () => ServiceFactory<PluginEndpointDiscovery>;
129
127
 
130
128
  /**
131
129
  * An HTTP server extended with utility methods.
@@ -138,9 +136,6 @@ export declare interface ExtendedHttpServer extends http.Server {
138
136
  port(): number;
139
137
  }
140
138
 
141
- /** @public */
142
- export declare const httpRouterFactory: (options?: HttpRouterFactoryOptions | undefined) => ServiceFactory<HttpRouterService>;
143
-
144
139
  /**
145
140
  * @public
146
141
  */
@@ -151,13 +146,16 @@ export declare interface HttpRouterFactoryOptions {
151
146
  getPath?(pluginId: string): string;
152
147
  }
153
148
 
149
+ /** @public */
150
+ export declare const httpRouterServiceFactory: (options?: HttpRouterFactoryOptions | undefined) => ServiceFactory<HttpRouterService>;
151
+
154
152
  /**
155
153
  * Options for configuring HTTPS for an HTTP server.
156
154
  *
157
155
  * @public
158
156
  */
159
157
  export declare type HttpServerCertificateOptions = {
160
- type: 'plain';
158
+ type: 'pem';
161
159
  key: string;
162
160
  cert: string;
163
161
  } | {
@@ -180,9 +178,6 @@ export declare type HttpServerOptions = {
180
178
  };
181
179
  };
182
180
 
183
- /** @public */
184
- export declare const identityFactory: (options?: IdentityFactoryOptions | undefined) => ServiceFactory<IdentityService>;
185
-
186
181
  /**
187
182
  * An identity client options object which allows extra configurations
188
183
  *
@@ -195,10 +190,14 @@ export declare type IdentityFactoryOptions = {
195
190
  algorithms?: string[];
196
191
  };
197
192
 
193
+ /** @public */
194
+ export declare const identityServiceFactory: (options?: IdentityFactoryOptions | undefined) => ServiceFactory<IdentityService>;
195
+
198
196
  /**
199
197
  * Allows plugins to register shutdown hooks that are run when the process is about to exit.
200
- * @public */
201
- export declare const lifecycleFactory: () => ServiceFactory<LifecycleService>;
198
+ * @public
199
+ */
200
+ export declare const lifecycleServiceFactory: () => ServiceFactory<LifecycleService>;
202
201
 
203
202
  /**
204
203
  * Load configuration for a Backend.
@@ -215,7 +214,7 @@ export declare function loadBackendConfig(options: {
215
214
  }>;
216
215
 
217
216
  /** @public */
218
- export declare const loggerFactory: () => ServiceFactory<LoggerService>;
217
+ export declare const loggerServiceFactory: () => ServiceFactory<LoggerService>;
219
218
 
220
219
  /**
221
220
  * A utility to configure common middleware.
@@ -341,7 +340,7 @@ export declare interface MiddlewareFactoryOptions {
341
340
  }
342
341
 
343
342
  /** @public */
344
- export declare const permissionsFactory: () => ServiceFactory<PermissionsService>;
343
+ export declare const permissionsServiceFactory: () => ServiceFactory<PermissionsService>;
345
344
 
346
345
  /**
347
346
  * Attempts to read a CORS options object from the backend configuration object.
@@ -390,7 +389,7 @@ export declare function readHttpServerOptions(config?: Config): HttpServerOption
390
389
  /**
391
390
  * @public
392
391
  */
393
- export declare interface RootHttpRouterConfigureOptions {
392
+ export declare interface RootHttpRouterConfigureContext {
394
393
  app: Express_2;
395
394
  middleware: MiddlewareFactory;
396
395
  routes: RequestHandler;
@@ -399,9 +398,6 @@ export declare interface RootHttpRouterConfigureOptions {
399
398
  lifecycle: LifecycleService;
400
399
  }
401
400
 
402
- /** @public */
403
- export declare const rootHttpRouterFactory: () => ServiceFactory<RootHttpRouterService>;
404
-
405
401
  /**
406
402
  * @public
407
403
  */
@@ -411,30 +407,30 @@ export declare type RootHttpRouterFactoryOptions = {
411
407
  * not given. Disables index path behavior if false is given.
412
408
  */
413
409
  indexPath?: string | false;
414
- configure?(options: RootHttpRouterConfigureOptions): void;
410
+ configure?(context: RootHttpRouterConfigureContext): void;
415
411
  };
416
412
 
413
+ /** @public */
414
+ export declare const rootHttpRouterServiceFactory: (options?: RootHttpRouterFactoryOptions | undefined) => ServiceFactory<RootHttpRouterService>;
415
+
417
416
  /**
418
417
  * Allows plugins to register shutdown hooks that are run when the process is about to exit.
419
- * @public */
420
- export declare const rootLifecycleFactory: () => ServiceFactory<RootLifecycleService>;
418
+ *
419
+ * @public
420
+ */
421
+ export declare const rootLifecycleServiceFactory: () => ServiceFactory<RootLifecycleService>;
421
422
 
422
423
  /** @public */
423
- export declare const rootLoggerFactory: () => ServiceFactory<RootLoggerService>;
424
+ export declare const rootLoggerServiceFactory: () => ServiceFactory<RootLoggerService>;
424
425
 
425
426
  /** @public */
426
- export declare const schedulerFactory: () => ServiceFactory<SchedulerService>;
427
-
428
- /**
429
- * @public
430
- */
431
- export declare type ServiceOrExtensionPoint<T = unknown> = ExtensionPoint<T> | ServiceRef<T>;
427
+ export declare const schedulerServiceFactory: () => ServiceFactory<SchedulerService>;
432
428
 
433
429
  /** @public */
434
- export declare const tokenManagerFactory: () => ServiceFactory<TokenManagerService>;
430
+ export declare const tokenManagerServiceFactory: () => ServiceFactory<TokenManagerService>;
435
431
 
436
432
  /** @public */
437
- export declare const urlReaderFactory: () => ServiceFactory<UrlReader>;
433
+ export declare const urlReaderServiceFactory: () => ServiceFactory<UrlReader>;
438
434
 
439
435
  /**
440
436
  * A {@link @backstage/backend-plugin-api#LoggerService} implementation based on winston.
@@ -459,11 +455,11 @@ export declare class WinstonLogger implements RootLoggerService {
459
455
  */
460
456
  static colorFormat(): Format;
461
457
  private constructor();
462
- error(message: string, meta?: LogMeta): void;
463
- warn(message: string, meta?: LogMeta): void;
464
- info(message: string, meta?: LogMeta): void;
465
- debug(message: string, meta?: LogMeta): void;
466
- child(meta: LogMeta): LoggerService;
458
+ error(message: string, meta?: JsonObject): void;
459
+ warn(message: string, meta?: JsonObject): void;
460
+ info(message: string, meta?: JsonObject): void;
461
+ debug(message: string, meta?: JsonObject): void;
462
+ child(meta: JsonObject): LoggerService;
467
463
  addRedactions(redactions: Iterable<string>): void;
468
464
  }
469
465
 
@@ -471,7 +467,7 @@ export declare class WinstonLogger implements RootLoggerService {
471
467
  * @public
472
468
  */
473
469
  export declare interface WinstonLoggerOptions {
474
- meta?: LogMeta;
470
+ meta?: JsonObject;
475
471
  level: string;
476
472
  format: Format;
477
473
  transports: transport[];
@@ -12,17 +12,16 @@ import { ConfigService } from '@backstage/backend-plugin-api';
12
12
  import { CorsOptions } from 'cors';
13
13
  import { ErrorRequestHandler } from 'express';
14
14
  import { Express as Express_2 } from 'express';
15
- import { ExtensionPoint } from '@backstage/backend-plugin-api';
16
15
  import { Format } from 'logform';
17
16
  import { Handler } from 'express';
18
17
  import { HelmetOptions } from 'helmet';
19
18
  import * as http from 'http';
20
19
  import { HttpRouterService } from '@backstage/backend-plugin-api';
21
20
  import { IdentityService } from '@backstage/backend-plugin-api';
21
+ import { JsonObject } from '@backstage/types';
22
22
  import { LifecycleService } from '@backstage/backend-plugin-api';
23
23
  import { LoadConfigOptionsRemote } from '@backstage/config-loader';
24
24
  import { LoggerService } from '@backstage/backend-plugin-api';
25
- import { LogMeta } from '@backstage/backend-plugin-api';
26
25
  import { PermissionsService } from '@backstage/backend-plugin-api';
27
26
  import { PluginCacheManager } from '@backstage/backend-common';
28
27
  import { PluginDatabaseManager } from '@backstage/backend-common';
@@ -35,7 +34,6 @@ import { RootLoggerService } from '@backstage/backend-plugin-api';
35
34
  import { SchedulerService } from '@backstage/backend-plugin-api';
36
35
  import { ServiceFactory } from '@backstage/backend-plugin-api';
37
36
  import { ServiceFactoryOrFunction } from '@backstage/backend-plugin-api';
38
- import { ServiceRef } from '@backstage/backend-plugin-api';
39
37
  import { TokenManagerService } from '@backstage/backend-plugin-api';
40
38
  import { transport } from 'winston';
41
39
  import { UrlReader } from '@backstage/backend-common';
@@ -50,10 +48,7 @@ export declare interface Backend {
50
48
  }
51
49
 
52
50
  /** @public */
53
- export declare const cacheFactory: () => ServiceFactory<PluginCacheManager>;
54
-
55
- /** @public */
56
- export declare const configFactory: () => ServiceFactory<ConfigService>;
51
+ export declare const cacheServiceFactory: () => ServiceFactory<PluginCacheManager>;
57
52
 
58
53
  /** @public */
59
54
  export declare interface ConfigFactoryOptions {
@@ -67,6 +62,9 @@ export declare interface ConfigFactoryOptions {
67
62
  remote?: LoadConfigOptionsRemote;
68
63
  }
69
64
 
65
+ /** @public */
66
+ export declare const configServiceFactory: (options?: ConfigFactoryOptions | undefined) => ServiceFactory<ConfigService>;
67
+
70
68
  /** @public */
71
69
  export declare function createConfigSecretEnumerator(options: {
72
70
  logger: LoggerService;
@@ -95,7 +93,7 @@ export declare interface CreateSpecializedBackendOptions {
95
93
  }
96
94
 
97
95
  /** @public */
98
- export declare const databaseFactory: () => ServiceFactory<PluginDatabaseManager>;
96
+ export declare const databaseServiceFactory: () => ServiceFactory<PluginDatabaseManager>;
99
97
 
100
98
  /**
101
99
  * The default implementation of the {@link @backstage/backend-plugin-api#RootHttpRouterService} interface for
@@ -125,7 +123,7 @@ export declare interface DefaultRootHttpRouterOptions {
125
123
  }
126
124
 
127
125
  /** @public */
128
- export declare const discoveryFactory: () => ServiceFactory<PluginEndpointDiscovery>;
126
+ export declare const discoveryServiceFactory: () => ServiceFactory<PluginEndpointDiscovery>;
129
127
 
130
128
  /**
131
129
  * An HTTP server extended with utility methods.
@@ -138,9 +136,6 @@ export declare interface ExtendedHttpServer extends http.Server {
138
136
  port(): number;
139
137
  }
140
138
 
141
- /** @public */
142
- export declare const httpRouterFactory: (options?: HttpRouterFactoryOptions | undefined) => ServiceFactory<HttpRouterService>;
143
-
144
139
  /**
145
140
  * @public
146
141
  */
@@ -151,13 +146,16 @@ export declare interface HttpRouterFactoryOptions {
151
146
  getPath?(pluginId: string): string;
152
147
  }
153
148
 
149
+ /** @public */
150
+ export declare const httpRouterServiceFactory: (options?: HttpRouterFactoryOptions | undefined) => ServiceFactory<HttpRouterService>;
151
+
154
152
  /**
155
153
  * Options for configuring HTTPS for an HTTP server.
156
154
  *
157
155
  * @public
158
156
  */
159
157
  export declare type HttpServerCertificateOptions = {
160
- type: 'plain';
158
+ type: 'pem';
161
159
  key: string;
162
160
  cert: string;
163
161
  } | {
@@ -180,9 +178,6 @@ export declare type HttpServerOptions = {
180
178
  };
181
179
  };
182
180
 
183
- /** @public */
184
- export declare const identityFactory: (options?: IdentityFactoryOptions | undefined) => ServiceFactory<IdentityService>;
185
-
186
181
  /**
187
182
  * An identity client options object which allows extra configurations
188
183
  *
@@ -195,10 +190,14 @@ export declare type IdentityFactoryOptions = {
195
190
  algorithms?: string[];
196
191
  };
197
192
 
193
+ /** @public */
194
+ export declare const identityServiceFactory: (options?: IdentityFactoryOptions | undefined) => ServiceFactory<IdentityService>;
195
+
198
196
  /**
199
197
  * Allows plugins to register shutdown hooks that are run when the process is about to exit.
200
- * @public */
201
- export declare const lifecycleFactory: () => ServiceFactory<LifecycleService>;
198
+ * @public
199
+ */
200
+ export declare const lifecycleServiceFactory: () => ServiceFactory<LifecycleService>;
202
201
 
203
202
  /**
204
203
  * Load configuration for a Backend.
@@ -215,7 +214,7 @@ export declare function loadBackendConfig(options: {
215
214
  }>;
216
215
 
217
216
  /** @public */
218
- export declare const loggerFactory: () => ServiceFactory<LoggerService>;
217
+ export declare const loggerServiceFactory: () => ServiceFactory<LoggerService>;
219
218
 
220
219
  /**
221
220
  * A utility to configure common middleware.
@@ -341,7 +340,7 @@ export declare interface MiddlewareFactoryOptions {
341
340
  }
342
341
 
343
342
  /** @public */
344
- export declare const permissionsFactory: () => ServiceFactory<PermissionsService>;
343
+ export declare const permissionsServiceFactory: () => ServiceFactory<PermissionsService>;
345
344
 
346
345
  /**
347
346
  * Attempts to read a CORS options object from the backend configuration object.
@@ -390,7 +389,7 @@ export declare function readHttpServerOptions(config?: Config): HttpServerOption
390
389
  /**
391
390
  * @public
392
391
  */
393
- export declare interface RootHttpRouterConfigureOptions {
392
+ export declare interface RootHttpRouterConfigureContext {
394
393
  app: Express_2;
395
394
  middleware: MiddlewareFactory;
396
395
  routes: RequestHandler;
@@ -399,9 +398,6 @@ export declare interface RootHttpRouterConfigureOptions {
399
398
  lifecycle: LifecycleService;
400
399
  }
401
400
 
402
- /** @public */
403
- export declare const rootHttpRouterFactory: () => ServiceFactory<RootHttpRouterService>;
404
-
405
401
  /**
406
402
  * @public
407
403
  */
@@ -411,30 +407,30 @@ export declare type RootHttpRouterFactoryOptions = {
411
407
  * not given. Disables index path behavior if false is given.
412
408
  */
413
409
  indexPath?: string | false;
414
- configure?(options: RootHttpRouterConfigureOptions): void;
410
+ configure?(context: RootHttpRouterConfigureContext): void;
415
411
  };
416
412
 
413
+ /** @public */
414
+ export declare const rootHttpRouterServiceFactory: (options?: RootHttpRouterFactoryOptions | undefined) => ServiceFactory<RootHttpRouterService>;
415
+
417
416
  /**
418
417
  * Allows plugins to register shutdown hooks that are run when the process is about to exit.
419
- * @public */
420
- export declare const rootLifecycleFactory: () => ServiceFactory<RootLifecycleService>;
418
+ *
419
+ * @public
420
+ */
421
+ export declare const rootLifecycleServiceFactory: () => ServiceFactory<RootLifecycleService>;
421
422
 
422
423
  /** @public */
423
- export declare const rootLoggerFactory: () => ServiceFactory<RootLoggerService>;
424
+ export declare const rootLoggerServiceFactory: () => ServiceFactory<RootLoggerService>;
424
425
 
425
426
  /** @public */
426
- export declare const schedulerFactory: () => ServiceFactory<SchedulerService>;
427
-
428
- /**
429
- * @public
430
- */
431
- export declare type ServiceOrExtensionPoint<T = unknown> = ExtensionPoint<T> | ServiceRef<T>;
427
+ export declare const schedulerServiceFactory: () => ServiceFactory<SchedulerService>;
432
428
 
433
429
  /** @public */
434
- export declare const tokenManagerFactory: () => ServiceFactory<TokenManagerService>;
430
+ export declare const tokenManagerServiceFactory: () => ServiceFactory<TokenManagerService>;
435
431
 
436
432
  /** @public */
437
- export declare const urlReaderFactory: () => ServiceFactory<UrlReader>;
433
+ export declare const urlReaderServiceFactory: () => ServiceFactory<UrlReader>;
438
434
 
439
435
  /**
440
436
  * A {@link @backstage/backend-plugin-api#LoggerService} implementation based on winston.
@@ -459,11 +455,11 @@ export declare class WinstonLogger implements RootLoggerService {
459
455
  */
460
456
  static colorFormat(): Format;
461
457
  private constructor();
462
- error(message: string, meta?: LogMeta): void;
463
- warn(message: string, meta?: LogMeta): void;
464
- info(message: string, meta?: LogMeta): void;
465
- debug(message: string, meta?: LogMeta): void;
466
- child(meta: LogMeta): LoggerService;
458
+ error(message: string, meta?: JsonObject): void;
459
+ warn(message: string, meta?: JsonObject): void;
460
+ info(message: string, meta?: JsonObject): void;
461
+ debug(message: string, meta?: JsonObject): void;
462
+ child(meta: JsonObject): LoggerService;
467
463
  addRedactions(redactions: Iterable<string>): void;
468
464
  }
469
465
 
@@ -471,7 +467,7 @@ export declare class WinstonLogger implements RootLoggerService {
471
467
  * @public
472
468
  */
473
469
  export declare interface WinstonLoggerOptions {
474
- meta?: LogMeta;
470
+ meta?: JsonObject;
475
471
  level: string;
476
472
  format: Format;
477
473
  transports: transport[];