@trojs/openapi-server 3.4.5 → 3.5.0

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.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@trojs/openapi-server",
3
3
  "description": "OpenAPI Server",
4
- "version": "3.4.5",
4
+ "version": "3.5.0",
5
5
  "author": {
6
6
  "name": "Pieter Wigboldus",
7
7
  "url": "https://trojs.org/"
package/src/api.js CHANGED
@@ -1,10 +1,12 @@
1
1
  import express from 'express'
2
2
  import swaggerUi from 'swagger-ui-express'
3
+ import crypto from 'node:crypto'
3
4
  import { setupRouter } from './router.js'
4
5
 
5
6
  /**
6
7
  * @typedef {import('openapi-backend').Handler} Handler
7
8
  * @typedef {import('ajv').Options} AjvOpts
9
+ * @typedef {import('openapi-backend').AjvCustomizer} AjvCustomizer
8
10
  * @typedef {object} Logger
9
11
  * @property {Function} error
10
12
  * @property {Function} warn
@@ -23,9 +25,11 @@ import { setupRouter } from './router.js'
23
25
  * @property {Logger=} logger
24
26
  * @property {object=} meta
25
27
  * @property {SecurityHandler[]=} securityHandlers
28
+ * @property {Handler=} unauthorizedHandler
26
29
  * @property {boolean=} swagger
27
30
  * @property {boolean=} apiDocs
28
31
  * @property {AjvOpts=} ajvOptions
32
+ * @property {AjvCustomizer=} customizeAjv
29
33
  * @property {any[]=} middleware
30
34
  */
31
35
 
@@ -50,9 +54,11 @@ export class Api {
50
54
  logger,
51
55
  meta,
52
56
  securityHandlers,
57
+ unauthorizedHandler,
53
58
  swagger,
54
59
  apiDocs,
55
60
  ajvOptions,
61
+ customizeAjv,
56
62
  middleware = []
57
63
  }) {
58
64
  this.version = version
@@ -64,9 +70,11 @@ export class Api {
64
70
  this.logger = logger || console
65
71
  this.meta = meta || {}
66
72
  this.securityHandlers = securityHandlers || []
73
+ this.unauthorizedHandler = unauthorizedHandler || undefined
67
74
  this.swagger = swagger ?? true
68
75
  this.apiDocs = apiDocs ?? true
69
76
  this.ajvOptions = ajvOptions ?? { allErrors: false }
77
+ this.customizeAjv = customizeAjv
70
78
  this.middleware = middleware
71
79
  }
72
80
 
@@ -84,7 +92,7 @@ export class Api {
84
92
  if (this.apiDocs) {
85
93
  // Generate an ETag for the specification (simple hash or JSON string)
86
94
  const apiDocsString = JSON.stringify(this.specification)
87
- const etag = `"${Buffer.from(apiDocsString).toString('base64')}"`
95
+ const etag = `"${crypto.createHash('sha256').update(apiDocsString).digest('base64')}"`
88
96
 
89
97
  router.get('/api-docs', (request, response) => {
90
98
  // Check for If-None-Match header
@@ -111,7 +119,9 @@ export class Api {
111
119
  logger: this.logger,
112
120
  meta: this.meta,
113
121
  securityHandlers: this.securityHandlers,
114
- ajvOptions: this.ajvOptions
122
+ unauthorizedHandler: this.unauthorizedHandler,
123
+ ajvOptions: this.ajvOptions,
124
+ customizeAjv: this.customizeAjv
115
125
  })
116
126
  api.init()
117
127
 
@@ -1,3 +1,7 @@
1
+ /**
2
+ * @typedef {Error & { status?: number }} StatusError
3
+ */
4
+
1
5
  const errorCodesStatus = [
2
6
  {
3
7
  type: TypeError,
@@ -7,6 +11,10 @@ const errorCodesStatus = [
7
11
  type: RangeError,
8
12
  status: 404
9
13
  },
14
+ {
15
+ type: SyntaxError,
16
+ status: 400
17
+ },
10
18
  {
11
19
  type: Error,
12
20
  status: 500
@@ -16,9 +24,10 @@ const errorCodesStatus = [
16
24
  /**
17
25
  * Get a http status when you send an error.
18
26
  * When it is a error, throw back the error.
19
- * @param {Error} error
27
+ * @param {StatusError} error
20
28
  * @returns {number}
21
29
  */
22
30
  export default (error) =>
23
- errorCodesStatus.find((errorCode) => error instanceof errorCode.type)
24
- .status
31
+ error.status
32
+ || errorCodesStatus.find((errorCode) => error instanceof errorCode.type)?.status
33
+ || 500
@@ -1,3 +1,4 @@
1
+ import { hrtime } from 'node:process'
1
2
  import getStatusByError from './error-status.js'
2
3
  import { parseParams } from './params.js'
3
4
 
@@ -30,6 +31,7 @@ export const makeExpressCallback
30
31
  * @returns {Promise<any>}
31
32
  */
32
33
  async (context, request, response) => {
34
+ const startTime = hrtime()
33
35
  try {
34
36
  const allParameters = {
35
37
  ...(context.request?.params || {}),
@@ -42,7 +44,15 @@ export const makeExpressCallback
42
44
  })
43
45
  const url = `${request.protocol}://${request.get('Host')}${request.originalUrl}`
44
46
 
45
- const responseBody = await controller({
47
+ const ipHeader = request.headers?.['x-forwarded-for']
48
+ const ipString = Array.isArray(ipHeader) ? ipHeader[0] : ipHeader
49
+ const ip = ipString
50
+ ? ipString.split(',')[0].trim()
51
+ : (request.socket?.remoteAddress || request.ip || '-')
52
+ const { method } = request
53
+ const userAgent = request.headers?.['user-agent'] || request.get('user-agent') || '-'
54
+
55
+ const feedback = {
46
56
  context,
47
57
  request,
48
58
  response,
@@ -52,12 +62,22 @@ export const makeExpressCallback
52
62
  url,
53
63
  logger,
54
64
  meta
55
- })
65
+ }
66
+
67
+ const responseBody = await controller(feedback)
68
+ const responseTime = hrtime(startTime)[1] / 1000000 // convert to milliseconds
69
+
56
70
  logger.debug({
57
71
  url,
58
72
  parameters,
59
73
  post: request.body,
60
- response: responseBody
74
+ response: responseBody,
75
+ method,
76
+ ip,
77
+ userAgent,
78
+ responseTime,
79
+ statusCode: response.statusCode || 200,
80
+ message: 'access'
61
81
  })
62
82
 
63
83
  return responseBody
@@ -88,6 +108,7 @@ export const makeExpressCallback
88
108
  }
89
109
 
90
110
  return {
111
+ errors: error.errors || error.value?.errors,
91
112
  status: errorCodeStatus,
92
113
  timestamp: new Date(),
93
114
  message: error.message
@@ -8,7 +8,7 @@ export default (logger) => (context, request, response) => {
8
8
  context.response,
9
9
  context.operation
10
10
  )
11
- if (valid && valid.errors) {
11
+ if (valid?.errors) {
12
12
  if (logger) {
13
13
  logger.error({
14
14
  message: 'Response validation failed',
package/src/router.js CHANGED
@@ -10,6 +10,7 @@ import { unauthorized } from './handlers/unauthorized.js'
10
10
  /**
11
11
  * @typedef {import('./api.js').Logger} Logger
12
12
  * @typedef {import('./api.js').SecurityHandler} SecurityHandler
13
+ * @typedef {import('./api.js').Handler} Handler
13
14
  * @typedef {import('ajv').Options} AjvOpts
14
15
  * @typedef {import('openapi-backend').AjvCustomizer} AjvCustomizer
15
16
  */
@@ -25,6 +26,7 @@ import { unauthorized } from './handlers/unauthorized.js'
25
26
  * @param {Logger=} params.logger
26
27
  * @param {object=} params.meta
27
28
  * @param {SecurityHandler[]=} params.securityHandlers
29
+ * @param {Handler=} params.unauthorizedHandler
28
30
  * @param {AjvOpts=} params.ajvOptions
29
31
  * @param {AjvCustomizer=} params.customizeAjv
30
32
  * @param {boolean=} params.mock
@@ -39,23 +41,25 @@ export const setupRouter = ({
39
41
  logger,
40
42
  meta,
41
43
  securityHandlers = [],
44
+ unauthorizedHandler,
42
45
  ajvOptions = {},
43
46
  customizeAjv,
44
47
  mock
45
48
  }) => {
49
+ const ajvWithExtraFormats = (originalAjv) => {
50
+ addFormats(originalAjv)
51
+ return originalAjv
52
+ }
46
53
  const api = new OpenAPIBackend({
47
54
  definition: openAPISpecification,
48
55
  apiRoot,
49
56
  strict: strictSpecification,
50
57
  ajvOpts: ajvOptions,
51
- customizeAjv: (originalAjv) => {
52
- addFormats(originalAjv)
53
- return originalAjv
54
- }
58
+ customizeAjv: customizeAjv || ajvWithExtraFormats
55
59
  })
56
60
 
57
61
  api.register({
58
- unauthorizedHandler: unauthorized,
62
+ unauthorizedHandler: unauthorizedHandler || unauthorized,
59
63
  validationFail: requestValidation,
60
64
  notFound,
61
65
  postResponseHandler: makeResponseValidation(logger)
package/src/server.js CHANGED
@@ -4,6 +4,7 @@ import compression from 'compression'
4
4
  import helmet from 'helmet'
5
5
  import * as Sentry from '@sentry/node'
6
6
  import bodyParser from 'body-parser'
7
+ import { hostname } from 'node:os'
7
8
  import { openAPI } from './openapi.js'
8
9
  import { Api } from './api.js'
9
10
 
@@ -35,7 +36,7 @@ const getOriginResourcePolicy = (origin) => ({
35
36
  */
36
37
 
37
38
  /**
38
- * @template {object} [T=object]
39
+ * @template [T=unknown]
39
40
  * @typedef {object} Controller
40
41
  * @property {Context=} context
41
42
  * @property {Request=} request
@@ -54,7 +55,8 @@ const getOriginResourcePolicy = (origin) => ({
54
55
  * @property {number=} tracesSampleRate
55
56
  * @property {number=} profilesSampleRate
56
57
  * @property {string=} release
57
- * @property {Integration[]=} integrations
58
+ * @property {string=} environment
59
+ * @property {string=} serverName
58
60
  */
59
61
 
60
62
  /**
@@ -90,10 +92,11 @@ export const setupServer = async ({
90
92
  if (sentry) {
91
93
  Sentry.init({
92
94
  dsn: sentry.dsn,
95
+ environment: sentry.environment || process.env.NODE_ENV || 'production',
93
96
  tracesSampleRate: sentry.tracesSampleRate || 1.0,
94
97
  profilesSampleRate: sentry.profilesSampleRate || 1.0,
95
- integrations: sentry.integrations || [],
96
- release: sentry.release
98
+ release: sentry.release || process.env.SOURCE_VERSION,
99
+ serverName: sentry.serverName || process.env.SERVER_NAME || hostname()
97
100
  })
98
101
  }
99
102
 
package/types/api.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  /**
2
2
  * @typedef {import('openapi-backend').Handler} Handler
3
3
  * @typedef {import('ajv').Options} AjvOpts
4
+ * @typedef {import('openapi-backend').AjvCustomizer} AjvCustomizer
4
5
  * @typedef {object} Logger
5
6
  * @property {Function} error
6
7
  * @property {Function} warn
@@ -19,9 +20,11 @@
19
20
  * @property {Logger=} logger
20
21
  * @property {object=} meta
21
22
  * @property {SecurityHandler[]=} securityHandlers
23
+ * @property {Handler=} unauthorizedHandler
22
24
  * @property {boolean=} swagger
23
25
  * @property {boolean=} apiDocs
24
26
  * @property {AjvOpts=} ajvOptions
27
+ * @property {AjvCustomizer=} customizeAjv
25
28
  * @property {any[]=} middleware
26
29
  */
27
30
  /**
@@ -34,7 +37,7 @@ export class Api {
34
37
  * @class
35
38
  * @param {ApiSchema} params
36
39
  */
37
- constructor({ version, specification, controllers, apiRoot, strictSpecification, errorDetails, logger, meta, securityHandlers, swagger, apiDocs, ajvOptions, middleware }: ApiSchema);
40
+ constructor({ version, specification, controllers, apiRoot, strictSpecification, errorDetails, logger, meta, securityHandlers, unauthorizedHandler, swagger, apiDocs, ajvOptions, customizeAjv, middleware }: ApiSchema);
38
41
  version: string;
39
42
  specification: object;
40
43
  controllers: object;
@@ -44,14 +47,17 @@ export class Api {
44
47
  logger: Logger;
45
48
  meta: object;
46
49
  securityHandlers: SecurityHandler[];
50
+ unauthorizedHandler: Handler | undefined;
47
51
  swagger: boolean;
48
52
  apiDocs: boolean;
49
53
  ajvOptions: import("ajv").Options;
54
+ customizeAjv: import("openapi-backend").AjvCustomizer | undefined;
50
55
  middleware: any[];
51
56
  setup(): any;
52
57
  }
53
58
  export type Handler = import("openapi-backend").Handler;
54
59
  export type AjvOpts = import("ajv").Options;
60
+ export type AjvCustomizer = import("openapi-backend").AjvCustomizer;
55
61
  export type Logger = {
56
62
  error: Function;
57
63
  warn: Function;
@@ -72,9 +78,11 @@ export type ApiSchema = {
72
78
  logger?: Logger | undefined;
73
79
  meta?: object | undefined;
74
80
  securityHandlers?: SecurityHandler[] | undefined;
81
+ unauthorizedHandler?: Handler | undefined;
75
82
  swagger?: boolean | undefined;
76
83
  apiDocs?: boolean | undefined;
77
84
  ajvOptions?: AjvOpts | undefined;
85
+ customizeAjv?: AjvCustomizer | undefined;
78
86
  middleware?: any[] | undefined;
79
87
  };
80
88
  //# sourceMappingURL=api.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.js"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH;;;GAGG;AAEH;IACE;;;;OAIG;IACH,2KAFW,SAAS,EA8BnB;IAbC,gBAAsB;IACtB,sBAAkC;IAClC,oBAA8B;IAC9B,4BAAsB;IACtB,yCAA8C;IAC9C,sBAAyC;IACzC,eAA+B;IAC/B,aAAsB;IACtB,oCAA8C;IAC9C,iBAA8B;IAC9B,iBAA8B;IAC9B,kCAAoD;IACpD,kBAA4B;IAG9B,aAoDC;CACF;sBAxHY,OAAO,iBAAiB,EAAE,OAAO;sBACjC,OAAO,KAAK,EAAE,OAAO;;;;;;;;UAOpB,MAAM;aACN,OAAO;;;aAEP,MAAM;mBACN,MAAM;iBACN,MAAM;cACN,MAAM,YAAC;0BACP,OAAO,YAAC;mBACR,OAAO,YAAC;aACR,MAAM,YAAC;WACP,MAAM,YAAC;uBACP,eAAe,EAAE,YAAC;cAClB,OAAO,YAAC;cACR,OAAO,YAAC;iBACR,OAAO,YAAC;iBACR,GAAG,EAAE,YAAC"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.js"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH;;;GAGG;AAEH;IACE;;;;OAIG;IACH,8MAFW,SAAS,EAkCnB;IAfC,gBAAsB;IACtB,sBAAkC;IAClC,oBAA8B;IAC9B,4BAAsB;IACtB,yCAA8C;IAC9C,sBAAyC;IACzC,eAA+B;IAC/B,aAAsB;IACtB,oCAA8C;IAC9C,yCAA2D;IAC3D,iBAA8B;IAC9B,iBAA8B;IAC9B,kCAAoD;IACpD,kEAAgC;IAChC,kBAA4B;IAG9B,aAsDC;CACF;sBAjIY,OAAO,iBAAiB,EAAE,OAAO;sBACjC,OAAO,KAAK,EAAE,OAAO;4BACrB,OAAO,iBAAiB,EAAE,aAAa;;;;;;;;UAOtC,MAAM;aACN,OAAO;;;aAEP,MAAM;mBACN,MAAM;iBACN,MAAM;cACN,MAAM,YAAC;0BACP,OAAO,YAAC;mBACR,OAAO,YAAC;aACR,MAAM,YAAC;WACP,MAAM,YAAC;uBACP,eAAe,EAAE,YAAC;0BAClB,OAAO,YAAC;cACR,OAAO,YAAC;cACR,OAAO,YAAC;iBACR,OAAO,YAAC;mBACR,aAAa,YAAC;iBACd,GAAG,EAAE,YAAC"}
@@ -1,3 +1,6 @@
1
- declare function _default(error: Error): number;
1
+ declare function _default(error: StatusError): number;
2
2
  export default _default;
3
+ export type StatusError = Error & {
4
+ status?: number;
5
+ };
3
6
  //# sourceMappingURL=error-status.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"error-status.d.ts","sourceRoot":"","sources":["../src/error-status.js"],"names":[],"mappings":"AAqBe,iCAHJ,KAAK,GACH,MAAM,CAIR"}
1
+ {"version":3,"file":"error-status.d.ts","sourceRoot":"","sources":["../src/error-status.js"],"names":[],"mappings":"AA6Be,iCAHJ,WAAW,GACT,MAAM,CAKX;;0BA/BK,KAAK,GAAG;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE"}
@@ -1 +1 @@
1
- {"version":3,"file":"express-callback.d.ts","sourceRoot":"","sources":["../src/express-callback.js"],"names":[],"mappings":"AAqBO,qGARJ;IAAyB,UAAU;IACZ,aAAa,EAA5B,MAAM;IACW,YAAY,GAA7B,OAAO,YAAC;IACQ,MAAM,GAAtB,MAAM,YAAC;IACS,IAAI,GAApB,MAAM,YAAC;IACU,IAAI,GAArB,OAAO,YAAC;CAChB,YA4EE;sBA3FQ,OAAO,2BAA2B,EAAE,OAAO;uBAC3C,OAAO,2BAA2B,EAAE,QAAQ;sBAC5C,OAAO,iBAAiB,EAAE,OAAO;qBACjC,OAAO,UAAU,EAAE,MAAM"}
1
+ {"version":3,"file":"express-callback.d.ts","sourceRoot":"","sources":["../src/express-callback.js"],"names":[],"mappings":"AAsBO,qGARJ;IAAyB,UAAU;IACZ,aAAa,EAA5B,MAAM;IACW,YAAY,GAA7B,OAAO,YAAC;IACQ,MAAM,GAAtB,MAAM,YAAC;IACS,IAAI,GAApB,MAAM,YAAC;IACU,IAAI,GAArB,OAAO,YAAC;CAChB,YAgGE;sBA/GQ,OAAO,2BAA2B,EAAE,OAAO;uBAC3C,OAAO,2BAA2B,EAAE,QAAQ;sBAC5C,OAAO,iBAAiB,EAAE,OAAO;qBACjC,OAAO,UAAU,EAAE,MAAM"}
package/types/router.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export function setupRouter({ openAPISpecification, controllers, apiRoot, strictSpecification, errorDetails, logger, meta, securityHandlers, ajvOptions, customizeAjv, mock }: {
1
+ export function setupRouter({ openAPISpecification, controllers, apiRoot, strictSpecification, errorDetails, logger, meta, securityHandlers, unauthorizedHandler, ajvOptions, customizeAjv, mock }: {
2
2
  openAPISpecification: object;
3
3
  controllers: object;
4
4
  apiRoot?: string | undefined;
@@ -7,6 +7,7 @@ export function setupRouter({ openAPISpecification, controllers, apiRoot, strict
7
7
  logger?: Logger | undefined;
8
8
  meta?: object | undefined;
9
9
  securityHandlers?: SecurityHandler[] | undefined;
10
+ unauthorizedHandler?: Handler | undefined;
10
11
  ajvOptions?: AjvOpts | undefined;
11
12
  customizeAjv?: AjvCustomizer | undefined;
12
13
  mock?: boolean | undefined;
@@ -16,6 +17,7 @@ export function setupRouter({ openAPISpecification, controllers, apiRoot, strict
16
17
  };
17
18
  export type Logger = import("./api.js").Logger;
18
19
  export type SecurityHandler = import("./api.js").SecurityHandler;
20
+ export type Handler = import("./api.js").Handler;
19
21
  export type AjvOpts = import("ajv").Options;
20
22
  export type AjvCustomizer = import("openapi-backend").AjvCustomizer;
21
23
  import { OpenAPIBackend } from 'openapi-backend';
@@ -1 +1 @@
1
- {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../src/router.js"],"names":[],"mappings":"AAgCO,+KAbJ;IAAuB,oBAAoB,EAAnC,MAAM;IACS,WAAW,EAA1B,MAAM;IACU,OAAO,GAAvB,MAAM,YAAC;IACU,mBAAmB,GAApC,OAAO,YAAC;IACS,YAAY,GAA7B,OAAO,YAAC;IACQ,MAAM,GAAtB,MAAM,YAAC;IACS,IAAI,GAApB,MAAM,YAAC;IACoB,gBAAgB,GAA3C,eAAe,EAAE,YAAC;IACD,UAAU,GAA3B,OAAO,YAAC;IACe,YAAY,GAAnC,aAAa,YAAC;IACG,IAAI,GAArB,OAAO,YAAC;CAChB,GAAU;IAAE,GAAG,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC;IAAC,oBAAoB,EAAE,MAAM,CAAA;CAAE,CAkEtE;qBAtFY,OAAO,UAAU,EAAE,MAAM;8BACzB,OAAO,UAAU,EAAE,eAAe;sBAClC,OAAO,KAAK,EAAE,OAAO;4BACrB,OAAO,iBAAiB,EAAE,aAAa;+BAbrB,iBAAiB"}
1
+ {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../src/router.js"],"names":[],"mappings":"AAkCO,oMAdJ;IAAuB,oBAAoB,EAAnC,MAAM;IACS,WAAW,EAA1B,MAAM;IACU,OAAO,GAAvB,MAAM,YAAC;IACU,mBAAmB,GAApC,OAAO,YAAC;IACS,YAAY,GAA7B,OAAO,YAAC;IACQ,MAAM,GAAtB,MAAM,YAAC;IACS,IAAI,GAApB,MAAM,YAAC;IACoB,gBAAgB,GAA3C,eAAe,EAAE,YAAC;IACD,mBAAmB,GAApC,OAAO,YAAC;IACS,UAAU,GAA3B,OAAO,YAAC;IACe,YAAY,GAAnC,aAAa,YAAC;IACG,IAAI,GAArB,OAAO,YAAC;CAChB,GAAU;IAAE,GAAG,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC;IAAC,oBAAoB,EAAE,MAAM,CAAA;CAAE,CAoEtE;qBA1FY,OAAO,UAAU,EAAE,MAAM;8BACzB,OAAO,UAAU,EAAE,eAAe;sBAClC,OAAO,UAAU,EAAE,OAAO;sBAC1B,OAAO,KAAK,EAAE,OAAO;4BACrB,OAAO,iBAAiB,EAAE,aAAa;+BAdrB,iBAAiB"}
package/types/server.d.ts CHANGED
@@ -17,7 +17,7 @@ export type ApiSchema = import("./api.js").ApiSchema;
17
17
  export type Logger = import("./api.js").Logger;
18
18
  export type Express = any;
19
19
  export type Integration = any;
20
- export type Controller<T extends object = object> = {
20
+ export type Controller<T = unknown> = {
21
21
  context?: Context | undefined;
22
22
  request?: Request | undefined;
23
23
  response?: Response | undefined;
@@ -33,7 +33,8 @@ export type SentryConfig = {
33
33
  tracesSampleRate?: number | undefined;
34
34
  profilesSampleRate?: number | undefined;
35
35
  release?: string | undefined;
36
- integrations?: Integration[] | undefined;
36
+ environment?: string | undefined;
37
+ serverName?: string | undefined;
37
38
  };
38
39
  import { openAPI } from './openapi.js';
39
40
  import { Api } from './api.js';
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.js"],"names":[],"mappings":"AAyEO,qHAVJ;IAA4B,IAAI,EAAxB,SAAS,EAAE;IACK,MAAM,GAAtB,MAAM,YAAC;IACS,YAAY,GAA5B,MAAM,YAAC;IACe,MAAM,GAA5B,YAAY,YAAC;IACG,SAAS,GAAzB,MAAM,YAAC;IACS,OAAO,GAAvB,MAAM,YAAC;IACQ,UAAU,GAAzB,GAAG,EAAE,YAAC;IACiB,eAAe,GAAtC,CAAA,MAAM,GAAC,MAAM,aAAC;CACtB,GAAU,OAAO,CAAC;IAAE,GAAG,EAAE,OAAO,CAAA;CAAE,CAAC,CAuDrC;sBAnGY,OAAO,2BAA2B,EAAE,OAAO;uBAC3C,OAAO,2BAA2B,EAAE,QAAQ;sBAC5C,OAAO,iBAAiB,EAAE,OAAO;wBACjC,OAAO,UAAU,EAAE,SAAS;qBAC5B,OAAO,UAAU,EAAE,MAAM;;;uBAMf,CAAC,SAAX,MAAQ;cAEP,OAAO,YAAC;cACR,OAAO,YAAC;eACR,QAAQ,YAAC;iBACT,MAAM,YAAC;oBACP,MAAM,YAAC;WACP,CAAC,YAAC;UACF,MAAM,YAAC;aACP,MAAM,YAAC;WACP,MAAM,YAAC;;;UAKP,MAAM,YAAC;uBACP,MAAM,YAAC;yBACP,MAAM,YAAC;cACP,MAAM,YAAC;mBACP,WAAW,EAAE,YAAC;;wBAlDJ,cAAc;oBAClB,UAAU"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.js"],"names":[],"mappings":"AA2EO,qHAVJ;IAA4B,IAAI,EAAxB,SAAS,EAAE;IACK,MAAM,GAAtB,MAAM,YAAC;IACS,YAAY,GAA5B,MAAM,YAAC;IACe,MAAM,GAA5B,YAAY,YAAC;IACG,SAAS,GAAzB,MAAM,YAAC;IACS,OAAO,GAAvB,MAAM,YAAC;IACQ,UAAU,GAAzB,GAAG,EAAE,YAAC;IACiB,eAAe,GAAtC,CAAA,MAAM,GAAC,MAAM,aAAC;CACtB,GAAU,OAAO,CAAC;IAAE,GAAG,EAAE,OAAO,CAAA;CAAE,CAAC,CAwDrC;sBArGY,OAAO,2BAA2B,EAAE,OAAO;uBAC3C,OAAO,2BAA2B,EAAE,QAAQ;sBAC5C,OAAO,iBAAiB,EAAE,OAAO;wBACjC,OAAO,UAAU,EAAE,SAAS;qBAC5B,OAAO,UAAU,EAAE,MAAM;;;uBAMxB,CAAC;cAED,OAAO,YAAC;cACR,OAAO,YAAC;eACR,QAAQ,YAAC;iBACT,MAAM,YAAC;oBACP,MAAM,YAAC;WACP,CAAC,YAAC;UACF,MAAM,YAAC;aACP,MAAM,YAAC;WACP,MAAM,YAAC;;;UAKP,MAAM,YAAC;uBACP,MAAM,YAAC;yBACP,MAAM,YAAC;cACP,MAAM,YAAC;kBACP,MAAM,YAAC;iBACP,MAAM,YAAC;;wBAnDG,cAAc;oBAClB,UAAU"}