apitally 0.2.1 → 0.4.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.
Files changed (99) hide show
  1. package/README.md +5 -9
  2. package/lib/cjs/common/client.cjs +19 -98
  3. package/lib/cjs/common/client.cjs.map +1 -1
  4. package/lib/cjs/common/serverErrorCounter.cjs +104 -0
  5. package/lib/cjs/common/serverErrorCounter.cjs.map +1 -0
  6. package/lib/cjs/common/validationErrorCounter.cjs +26 -23
  7. package/lib/cjs/common/validationErrorCounter.cjs.map +1 -1
  8. package/lib/cjs/express/index.cjs +0 -14
  9. package/lib/cjs/express/index.cjs.map +1 -1
  10. package/lib/cjs/express/middleware.cjs +26 -12
  11. package/lib/cjs/express/middleware.cjs.map +1 -1
  12. package/lib/cjs/fastify/index.cjs +0 -14
  13. package/lib/cjs/fastify/index.cjs.map +1 -1
  14. package/lib/cjs/fastify/plugin.cjs +20 -11
  15. package/lib/cjs/fastify/plugin.cjs.map +1 -1
  16. package/lib/cjs/koa/index.cjs +0 -14
  17. package/lib/cjs/koa/index.cjs.map +1 -1
  18. package/lib/cjs/koa/middleware.cjs +33 -24
  19. package/lib/cjs/koa/middleware.cjs.map +1 -1
  20. package/lib/cjs/nestjs/index.cjs +0 -26
  21. package/lib/cjs/nestjs/index.cjs.map +1 -1
  22. package/lib/esm/common/client.js +19 -98
  23. package/lib/esm/common/client.js.map +1 -1
  24. package/lib/esm/common/serverErrorCounter.js +98 -0
  25. package/lib/esm/common/serverErrorCounter.js.map +1 -0
  26. package/lib/esm/common/validationErrorCounter.js +26 -23
  27. package/lib/esm/common/validationErrorCounter.js.map +1 -1
  28. package/lib/esm/express/index.js +1 -4
  29. package/lib/esm/express/index.js.map +1 -1
  30. package/lib/esm/express/middleware.js +26 -12
  31. package/lib/esm/express/middleware.js.map +1 -1
  32. package/lib/esm/fastify/index.js +1 -4
  33. package/lib/esm/fastify/index.js.map +1 -1
  34. package/lib/esm/fastify/plugin.js +20 -11
  35. package/lib/esm/fastify/plugin.js.map +1 -1
  36. package/lib/esm/koa/index.js +1 -4
  37. package/lib/esm/koa/index.js.map +1 -1
  38. package/lib/esm/koa/middleware.js +33 -24
  39. package/lib/esm/koa/middleware.js.map +1 -1
  40. package/lib/esm/nestjs/index.js +1 -4
  41. package/lib/esm/nestjs/index.js.map +1 -1
  42. package/lib/types/common/client.d.ts +3 -9
  43. package/lib/types/common/client.d.ts.map +1 -1
  44. package/lib/types/common/serverErrorCounter.d.ts +12 -0
  45. package/lib/types/common/serverErrorCounter.d.ts.map +1 -0
  46. package/lib/types/common/types.d.ts +12 -4
  47. package/lib/types/common/types.d.ts.map +1 -1
  48. package/lib/types/common/validationErrorCounter.d.ts +2 -1
  49. package/lib/types/common/validationErrorCounter.d.ts.map +1 -1
  50. package/lib/types/express/index.d.ts +0 -2
  51. package/lib/types/express/index.d.ts.map +1 -1
  52. package/lib/types/express/middleware.d.ts +0 -2
  53. package/lib/types/express/middleware.d.ts.map +1 -1
  54. package/lib/types/fastify/index.d.ts +0 -2
  55. package/lib/types/fastify/index.d.ts.map +1 -1
  56. package/lib/types/fastify/plugin.d.ts +2 -3
  57. package/lib/types/fastify/plugin.d.ts.map +1 -1
  58. package/lib/types/koa/index.d.ts +0 -2
  59. package/lib/types/koa/index.d.ts.map +1 -1
  60. package/lib/types/koa/middleware.d.ts.map +1 -1
  61. package/lib/types/nestjs/index.d.ts +0 -2
  62. package/lib/types/nestjs/index.d.ts.map +1 -1
  63. package/package.json +2 -4
  64. package/lib/cjs/common/index.cjs +0 -13
  65. package/lib/cjs/common/index.cjs.map +0 -1
  66. package/lib/cjs/common/keyRegistry.cjs +0 -162
  67. package/lib/cjs/common/keyRegistry.cjs.map +0 -1
  68. package/lib/cjs/express/auth.cjs +0 -105
  69. package/lib/cjs/express/auth.cjs.map +0 -1
  70. package/lib/cjs/fastify/auth.cjs +0 -105
  71. package/lib/cjs/fastify/auth.cjs.map +0 -1
  72. package/lib/cjs/koa/auth.cjs +0 -113
  73. package/lib/cjs/koa/auth.cjs.map +0 -1
  74. package/lib/cjs/nestjs/auth.cjs +0 -132
  75. package/lib/cjs/nestjs/auth.cjs.map +0 -1
  76. package/lib/esm/common/index.js +0 -1
  77. package/lib/esm/common/index.js.map +0 -1
  78. package/lib/esm/common/keyRegistry.js +0 -155
  79. package/lib/esm/common/keyRegistry.js.map +0 -1
  80. package/lib/esm/express/auth.js +0 -98
  81. package/lib/esm/express/auth.js.map +0 -1
  82. package/lib/esm/fastify/auth.js +0 -98
  83. package/lib/esm/fastify/auth.js.map +0 -1
  84. package/lib/esm/koa/auth.js +0 -106
  85. package/lib/esm/koa/auth.js.map +0 -1
  86. package/lib/esm/nestjs/auth.js +0 -126
  87. package/lib/esm/nestjs/auth.js.map +0 -1
  88. package/lib/types/common/index.d.ts +0 -2
  89. package/lib/types/common/index.d.ts.map +0 -1
  90. package/lib/types/common/keyRegistry.d.ts +0 -29
  91. package/lib/types/common/keyRegistry.d.ts.map +0 -1
  92. package/lib/types/express/auth.d.ts +0 -6
  93. package/lib/types/express/auth.d.ts.map +0 -1
  94. package/lib/types/fastify/auth.d.ts +0 -6
  95. package/lib/types/fastify/auth.d.ts.map +0 -1
  96. package/lib/types/koa/auth.d.ts +0 -6
  97. package/lib/types/koa/auth.d.ts.map +0 -1
  98. package/lib/types/nestjs/auth.d.ts +0 -12
  99. package/lib/types/nestjs/auth.d.ts.map +0 -1
@@ -5,7 +5,6 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
5
5
  import _regeneratorRuntime from "@babel/runtime/regenerator";
6
6
  import fp from "fastify-plugin";
7
7
  import { ApitallyClient } from "../common/client.js";
8
- import { KeyInfo } from "../common/keyRegistry.js";
9
8
  import { getPackageVersion } from "../common/packageVersions.js";
10
9
  var apitallyPlugin = /*#__PURE__*/function () {
11
10
  var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(fastify, config) {
@@ -16,7 +15,6 @@ var apitallyPlugin = /*#__PURE__*/function () {
16
15
  client = new ApitallyClient(config);
17
16
  routes = [];
18
17
  fastify.decorateRequest("consumerIdentifier", null);
19
- fastify.decorateRequest("keyInfo", null);
20
18
  fastify.decorateReply("payload", null);
21
19
  fastify.addHook("onRoute", function (routeOptions) {
22
20
  var methods = Array.isArray(routeOptions.method) ? routeOptions.method : [routeOptions.method];
@@ -50,9 +48,16 @@ var apitallyPlugin = /*#__PURE__*/function () {
50
48
  } catch (error) {} // eslint-disable-line no-empty
51
49
  done();
52
50
  });
51
+ fastify.addHook("onError", function (request, reply, error, done) {
52
+ if (!error.statusCode || error.statusCode === 500) {
53
+ reply.serverError = error;
54
+ }
55
+ done();
56
+ });
53
57
  fastify.addHook("onResponse", function (request, reply, done) {
54
58
  if (request.method.toUpperCase() !== "OPTIONS") {
55
59
  // Get path from routeOptions if available (from v4), otherwise fallback to deprecated routerPath
60
+ var consumer = getConsumer(request);
56
61
  var path = "routeOptions" in request ? request.routeOptions.url : request.routerPath;
57
62
  var requestSize = request.headers["content-length"];
58
63
  var responseSize = reply.getHeader("content-length");
@@ -60,7 +65,7 @@ var apitallyPlugin = /*#__PURE__*/function () {
60
65
  responseSize = responseSize[0];
61
66
  }
62
67
  client.requestCounter.addRequest({
63
- consumer: getConsumer(request),
68
+ consumer: consumer,
64
69
  method: request.method,
65
70
  path: path,
66
71
  statusCode: reply.statusCode,
@@ -72,12 +77,22 @@ var apitallyPlugin = /*#__PURE__*/function () {
72
77
  var validationErrors = extractAjvErrors(reply.payload.message);
73
78
  validationErrors.forEach(function (error) {
74
79
  client.validationErrorCounter.addValidationError(_objectSpread({
75
- consumer: getConsumer(request),
80
+ consumer: consumer,
76
81
  method: request.method,
77
82
  path: path
78
83
  }, error));
79
84
  });
80
85
  }
86
+ if (reply.statusCode === 500 && reply.serverError) {
87
+ client.serverErrorCounter.addServerError({
88
+ consumer: consumer,
89
+ method: request.method,
90
+ path: path,
91
+ type: reply.serverError.name,
92
+ msg: reply.serverError.message,
93
+ traceback: reply.serverError.stack || ""
94
+ });
95
+ }
81
96
  }
82
97
  done();
83
98
  });
@@ -111,13 +126,7 @@ var getAppInfo = function getAppInfo(routes, appVersion) {
111
126
  };
112
127
  };
113
128
  var getConsumer = function getConsumer(request) {
114
- if (request.consumerIdentifier) {
115
- return String(request.consumerIdentifier);
116
- }
117
- if (request.keyInfo && request.keyInfo instanceof KeyInfo) {
118
- return "key:".concat(request.keyInfo.keyId);
119
- }
120
- return null;
129
+ return request.consumerIdentifier ? String(request.consumerIdentifier) : null;
121
130
  };
122
131
  var extractAjvErrors = function extractAjvErrors(message) {
123
132
  var regex = /(?<=^|, )((?:headers|params|query|querystring|body)[/.][^ ]+)(?= )/g;
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","names":["fp","ApitallyClient","KeyInfo","getPackageVersion","apitallyPlugin","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee2","fastify","config","client","routes","wrap","_callee2$","_context2","prev","next","decorateRequest","decorateReply","addHook","routeOptions","methods","Array","isArray","method","forEach","includes","toUpperCase","push","path","url","setAppInfo","getAppInfo","appVersion","_callee","_callee$","_context","handleShutdown","stop","request","reply","payload","done","JSON","parse","error","routerPath","requestSize","headers","responseSize","getHeader","requestCounter","addRequest","consumer","getConsumer","statusCode","responseTime","getResponseTime","code","message","validationErrors","extractAjvErrors","validationErrorCounter","addValidationError","_objectSpread","_x","_x2","apply","arguments","versions","process","version","replace","fastifyVersion","apitallyVersion","paths","Object","fromEntries","consumerIdentifier","String","keyInfo","concat","keyId","regex","matches","match","exec","index","map","m","i","endIndex","length","matchSplit","split","loc","join","msg","substring","type","name"],"sources":["../../../src/fastify/plugin.ts"],"sourcesContent":[null],"mappings":"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"}
1
+ {"version":3,"file":"plugin.js","names":["fp","ApitallyClient","getPackageVersion","apitallyPlugin","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee2","fastify","config","client","routes","wrap","_callee2$","_context2","prev","next","decorateRequest","decorateReply","addHook","routeOptions","methods","Array","isArray","method","forEach","includes","toUpperCase","push","path","url","setAppInfo","getAppInfo","appVersion","_callee","_callee$","_context","handleShutdown","stop","request","reply","payload","done","JSON","parse","error","statusCode","serverError","consumer","getConsumer","routerPath","requestSize","headers","responseSize","getHeader","requestCounter","addRequest","responseTime","getResponseTime","code","message","validationErrors","extractAjvErrors","validationErrorCounter","addValidationError","_objectSpread","serverErrorCounter","addServerError","type","name","msg","traceback","stack","_x","_x2","apply","arguments","versions","process","version","replace","fastifyVersion","apitallyVersion","paths","Object","fromEntries","consumerIdentifier","String","regex","matches","match","exec","index","map","m","i","endIndex","length","matchSplit","split","loc","join","substring"],"sources":["../../../src/fastify/plugin.ts"],"sourcesContent":[null],"mappings":"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"}
@@ -1,4 +1 @@
1
- export { KeyInfo } from "../common/keyRegistry.js";
2
- export { requireApiKey } from "./auth.js";
3
- export { useApitally } from "./middleware.js";
4
- //# sourceMappingURL=index.js.map
1
+ export { useApitally } from "./middleware.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["KeyInfo","requireApiKey","useApitally"],"sources":["../../../src/koa/index.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,OAAO,QAAQ,0BAA0B;AAClD,SAASC,aAAa,QAAQ,WAAW;AACzC,SAASC,WAAW,QAAQ,iBAAiB"}
1
+ {"version":3,"file":"index.js","names":["useApitally"],"sources":["../../../src/koa/index.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,WAAW,QAAQ,iBAAiB"}
@@ -1,7 +1,6 @@
1
1
  import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
2
  import _regeneratorRuntime from "@babel/runtime/regenerator";
3
3
  import { ApitallyClient } from "../common/client.js";
4
- import { KeyInfo } from "../common/keyRegistry.js";
5
4
  import { getPackageVersion } from "../common/packageVersions.js";
6
5
  export var useApitally = function useApitally(app, config) {
7
6
  var client = new ApitallyClient(config);
@@ -14,7 +13,7 @@ export var useApitally = function useApitally(app, config) {
14
13
  var getMiddleware = function getMiddleware(client) {
15
14
  return /*#__PURE__*/function () {
16
15
  var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(ctx, next) {
17
- var startTime, statusCode;
16
+ var path, statusCode, startTime;
18
17
  return _regeneratorRuntime.wrap(function _callee$(_context) {
19
18
  while (1) switch (_context.prev = _context.next) {
20
19
  case 0:
@@ -23,54 +22,64 @@ var getMiddleware = function getMiddleware(client) {
23
22
  _context.next = 4;
24
23
  return next();
25
24
  case 4:
26
- _context.next = 10;
25
+ _context.next = 12;
27
26
  break;
28
27
  case 6:
29
28
  _context.prev = 6;
30
29
  _context.t0 = _context["catch"](1);
30
+ path = getPath(ctx);
31
31
  statusCode = _context.t0.statusCode || _context.t0.status || 500;
32
+ if (path && statusCode === 500 && _context.t0 instanceof Error) {
33
+ client.serverErrorCounter.addServerError({
34
+ consumer: getConsumer(ctx),
35
+ method: ctx.request.method,
36
+ path: path,
37
+ type: _context.t0.name,
38
+ msg: _context.t0.message,
39
+ traceback: _context.t0.stack || ""
40
+ });
41
+ }
32
42
  throw _context.t0;
33
- case 10:
34
- _context.prev = 10;
35
- try {
36
- // _matchedRoute is set by koa-router, routePath is set by koa-route
37
- if (ctx._matchedRoute || ctx.routePath) {
43
+ case 12:
44
+ _context.prev = 12;
45
+ if (!path) {
46
+ path = getPath(ctx);
47
+ }
48
+ if (path) {
49
+ try {
38
50
  client.requestCounter.addRequest({
39
51
  consumer: getConsumer(ctx),
40
52
  method: ctx.request.method,
41
- path: ctx._matchedRoute || ctx.routePath,
53
+ path: path,
42
54
  statusCode: statusCode || ctx.response.status,
43
55
  responseTime: performance.now() - startTime,
44
56
  requestSize: ctx.request.length,
45
57
  responseSize: ctx.response.length
46
58
  });
59
+ } catch (error) {
60
+ client.logger.error("Error while logging request in Apitally middleware.", {
61
+ context: ctx,
62
+ error: error
63
+ });
47
64
  }
48
- } catch (error) {
49
- client.logger.error("Error while logging request in Apitally middleware.", {
50
- context: ctx,
51
- error: error
52
- });
53
65
  }
54
- return _context.finish(10);
55
- case 13:
66
+ return _context.finish(12);
67
+ case 16:
56
68
  case "end":
57
69
  return _context.stop();
58
70
  }
59
- }, _callee, null, [[1, 6, 10, 13]]);
71
+ }, _callee, null, [[1, 6, 12, 16]]);
60
72
  }));
61
73
  return function (_x, _x2) {
62
74
  return _ref.apply(this, arguments);
63
75
  };
64
76
  }();
65
77
  };
78
+ var getPath = function getPath(ctx) {
79
+ return ctx._matchedRoute || ctx.routePath; // _matchedRoute is set by koa-router, routePath is set by koa-route
80
+ };
66
81
  var getConsumer = function getConsumer(ctx) {
67
- if (ctx.state.consumerIdentifier) {
68
- return String(ctx.state.consumerIdentifier);
69
- }
70
- if (ctx.state.keyInfo && ctx.state.keyInfo instanceof KeyInfo) {
71
- return "key:".concat(ctx.state.keyInfo.keyId);
72
- }
73
- return null;
82
+ return ctx.state.consumerIdentifier ? String(ctx.state.consumerIdentifier) : null;
74
83
  };
75
84
  var getAppInfo = function getAppInfo(app, appVersion) {
76
85
  var versions = [["nodejs", process.version.replace(/^v/, "")]];
@@ -1 +1 @@
1
- {"version":3,"file":"middleware.js","names":["ApitallyClient","KeyInfo","getPackageVersion","useApitally","app","config","client","middleware","getMiddleware","use","setTimeout","setAppInfo","getAppInfo","appVersion","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","ctx","next","startTime","statusCode","wrap","_callee$","_context","prev","performance","now","t0","status","_matchedRoute","routePath","requestCounter","addRequest","consumer","getConsumer","method","request","path","response","responseTime","requestSize","length","responseSize","error","logger","context","finish","stop","_x","_x2","apply","arguments","state","consumerIdentifier","String","keyInfo","concat","keyId","versions","process","version","replace","koaVersion","apitallyVersion","push","paths","listEndpoints","Object","fromEntries","isKoaRouterMiddleware","router","Array","isArray","stack","endpoints","forEach","layer","methods","includes","toUpperCase"],"sources":["../../../src/koa/middleware.ts"],"sourcesContent":[null],"mappings":"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"}
1
+ {"version":3,"file":"middleware.js","names":["ApitallyClient","getPackageVersion","useApitally","app","config","client","middleware","getMiddleware","use","setTimeout","setAppInfo","getAppInfo","appVersion","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","ctx","next","path","statusCode","startTime","wrap","_callee$","_context","prev","performance","now","t0","getPath","status","Error","serverErrorCounter","addServerError","consumer","getConsumer","method","request","type","name","msg","message","traceback","stack","requestCounter","addRequest","response","responseTime","requestSize","length","responseSize","error","logger","context","finish","stop","_x","_x2","apply","arguments","_matchedRoute","routePath","state","consumerIdentifier","String","versions","process","version","replace","koaVersion","apitallyVersion","push","paths","listEndpoints","Object","fromEntries","isKoaRouterMiddleware","router","Array","isArray","endpoints","forEach","layer","methods","includes","toUpperCase"],"sources":["../../../src/koa/middleware.ts"],"sourcesContent":[null],"mappings":"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"}
@@ -1,4 +1 @@
1
- export { KeyInfo } from "../common/keyRegistry.js";
2
- export { useApitally } from "../express/index.js";
3
- export { ApitallyApiKeyGuard, GetKeyInfo, Scopes } from "./auth.js";
4
- //# sourceMappingURL=index.js.map
1
+ export { useApitally } from "../express/index.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["KeyInfo","useApitally","ApitallyApiKeyGuard","GetKeyInfo","Scopes"],"sources":["../../../src/nestjs/index.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,OAAO,QAAQ,0BAA0B;AAClD,SAASC,WAAW,QAAQ,qBAAqB;AACjD,SAASC,mBAAmB,EAAEC,UAAU,EAAEC,MAAM,QAAQ,WAAW"}
1
+ {"version":3,"file":"index.js","names":["useApitally"],"sources":["../../../src/nestjs/index.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,WAAW,QAAQ,qBAAqB"}
@@ -1,12 +1,11 @@
1
- import { KeyCacheBase, KeyRegistry } from "./keyRegistry.js";
2
1
  import { Logger } from "./logging.js";
3
2
  import RequestCounter from "./requestCounter.js";
3
+ import ServerErrorCounter from "./serverErrorCounter.js";
4
4
  import { ApitallyConfig, AppInfo } from "./types.js";
5
5
  import ValidationErrorCounter from "./validationErrorCounter.js";
6
6
  export declare class ApitallyClient {
7
7
  private clientId;
8
8
  private env;
9
- private syncApiKeys;
10
9
  private static instance?;
11
10
  private instanceUuid;
12
11
  private requestsDataQueue;
@@ -14,14 +13,11 @@ export declare class ApitallyClient {
14
13
  private syncIntervalId?;
15
14
  appInfo?: AppInfo;
16
15
  private appInfoSent;
17
- private startedAt;
18
- private keysUpdated?;
19
16
  requestCounter: RequestCounter;
20
17
  validationErrorCounter: ValidationErrorCounter;
21
- keyRegistry: KeyRegistry;
22
- keyCache?: KeyCacheBase;
18
+ serverErrorCounter: ServerErrorCounter;
23
19
  logger: Logger;
24
- constructor({ clientId, env, syncApiKeys, logger, keyCacheClass, }: ApitallyConfig);
20
+ constructor({ clientId, env, logger }: ApitallyConfig);
25
21
  static getInstance(): ApitallyClient;
26
22
  static shutdown(): Promise<void>;
27
23
  handleShutdown(): Promise<void>;
@@ -32,7 +28,5 @@ export declare class ApitallyClient {
32
28
  setAppInfo(appInfo: AppInfo): void;
33
29
  private sendAppInfo;
34
30
  private sendRequestsData;
35
- private getKeys;
36
- private updateKeyRegistry;
37
31
  }
38
32
  //# sourceMappingURL=client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/common/client.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAa,MAAM,cAAc,CAAC;AAEjD,OAAO,cAAc,MAAM,qBAAqB,CAAC;AACjD,OAAO,EACL,cAAc,EACd,OAAO,EAGR,MAAM,YAAY,CAAC;AACpB,OAAO,sBAAsB,MAAM,6BAA6B,CAAC;AAQjE,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,WAAW,CAAU;IAE7B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAiB;IACzC,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,iBAAiB,CAAuC;IAChE,OAAO,CAAC,WAAW,CAAgB;IACnC,OAAO,CAAC,cAAc,CAAC,CAAiB;IACjC,OAAO,CAAC,EAAE,OAAO,CAAC;IACzB,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,WAAW,CAAC,CAAS;IAEtB,cAAc,EAAE,cAAc,CAAC;IAC/B,sBAAsB,EAAE,sBAAsB,CAAC;IAC/C,WAAW,EAAE,WAAW,CAAC;IACzB,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;gBAEV,EACV,QAAQ,EACR,GAAW,EACX,WAAmB,EACnB,MAAM,EACN,aAAa,GACd,EAAE,cAAc;WAwDH,WAAW;WAOL,QAAQ;IAMf,cAAc;IAM3B,OAAO,CAAC,SAAS;IAOjB,OAAO,CAAC,SAAS;YAaH,IAAI;IAiBlB,OAAO,CAAC,QAAQ;IAOT,UAAU,CAAC,OAAO,EAAE,OAAO;YAMpB,WAAW;YAkCX,gBAAgB;YAsChB,OAAO;IA6BrB,OAAO,CAAC,iBAAiB;CAQ1B"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/common/client.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAa,MAAM,cAAc,CAAC;AAEjD,OAAO,cAAc,MAAM,qBAAqB,CAAC;AACjD,OAAO,kBAAkB,MAAM,yBAAyB,CAAC;AACzD,OAAO,EACL,cAAc,EACd,OAAO,EAGR,MAAM,YAAY,CAAC;AACpB,OAAO,sBAAsB,MAAM,6BAA6B,CAAC;AAQjE,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,GAAG,CAAS;IAEpB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAiB;IACzC,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,iBAAiB,CAAuC;IAChE,OAAO,CAAC,WAAW,CAAgB;IACnC,OAAO,CAAC,cAAc,CAAC,CAAiB;IACjC,OAAO,CAAC,EAAE,OAAO,CAAC;IACzB,OAAO,CAAC,WAAW,CAAkB;IAE9B,cAAc,EAAE,cAAc,CAAC;IAC/B,sBAAsB,EAAE,sBAAsB,CAAC;IAC/C,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,MAAM,EAAE,MAAM,CAAC;gBAEV,EAAE,QAAQ,EAAE,GAAW,EAAE,MAAM,EAAE,EAAE,cAAc;WAuC/C,WAAW;WAOL,QAAQ;IAMf,cAAc;IAM3B,OAAO,CAAC,SAAS;IAOjB,OAAO,CAAC,SAAS;YAaH,IAAI;IAclB,OAAO,CAAC,QAAQ;IAOT,UAAU,CAAC,OAAO,EAAE,OAAO;YAMpB,WAAW;YAkCX,gBAAgB;CAqC/B"}
@@ -0,0 +1,12 @@
1
+ import { ConsumerMethodPath, ServerError, ServerErrorsItem } from "./types.js";
2
+ export default class ServerErrorCounter {
3
+ private errorCounts;
4
+ private errorDetails;
5
+ constructor();
6
+ addServerError(serverError: ConsumerMethodPath & ServerError): void;
7
+ getAndResetServerErrors(): ServerErrorsItem[];
8
+ private getKey;
9
+ private getTruncatedMessage;
10
+ private getTruncatedStack;
11
+ }
12
+ //# sourceMappingURL=serverErrorCounter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serverErrorCounter.d.ts","sourceRoot":"","sources":["../../../src/common/serverErrorCounter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAK/E,MAAM,CAAC,OAAO,OAAO,kBAAkB;IACrC,OAAO,CAAC,WAAW,CAAsB;IACzC,OAAO,CAAC,YAAY,CAAgD;;IAO7D,cAAc,CAAC,WAAW,EAAE,kBAAkB,GAAG,WAAW;IAQ5D,uBAAuB;IAqB9B,OAAO,CAAC,MAAM;IAYd,OAAO,CAAC,mBAAmB;IAU3B,OAAO,CAAC,iBAAiB;CAgB1B"}
@@ -1,13 +1,10 @@
1
- import { KeyCacheBase } from "./keyRegistry.js";
2
1
  import { Logger } from "./logging.js";
3
2
  export type ApitallyConfig = {
4
3
  clientId: string;
5
4
  env?: string;
6
- syncApiKeys?: boolean;
7
5
  openApiUrl?: string;
8
6
  appVersion?: string;
9
7
  logger?: Logger;
10
- keyCacheClass?: new (clientId: string, env: string) => KeyCacheBase;
11
8
  };
12
9
  export type PathInfo = {
13
10
  method: string;
@@ -53,12 +50,23 @@ export type ValidationErrorsItem = ConsumerMethodPath & {
53
50
  type: string;
54
51
  error_count: number;
55
52
  };
53
+ export type ServerError = {
54
+ type: string;
55
+ msg: string;
56
+ traceback: string;
57
+ };
58
+ export type ServerErrorsItem = ConsumerMethodPath & {
59
+ type: string;
60
+ msg: string;
61
+ traceback: string;
62
+ error_count: number;
63
+ };
56
64
  export type RequestsDataPayload = {
57
65
  time_offset: number;
58
66
  instance_uuid: string;
59
67
  message_uuid: string;
60
68
  requests: Array<RequestsItem>;
61
69
  validation_errors: Array<ValidationErrorsItem>;
62
- api_key_usage: Record<number, number>;
70
+ server_errors: Array<ServerErrorsItem>;
63
71
  };
64
72
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/common/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,KAAK,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,YAAY,CAAC;CACrE,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG;IACpB,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;CACtB,GAAG,OAAO,CAAC;AAEZ,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,kBAAkB,GAAG;IAC7C,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,kBAAkB,GAAG;IAC9C,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACxC,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,kBAAkB,GAAG;IACtD,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;IAC9B,iBAAiB,EAAE,KAAK,CAAC,oBAAoB,CAAC,CAAC;IAC/C,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACvC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/common/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG;IACpB,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;CACtB,GAAG,OAAO,CAAC;AAEZ,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,kBAAkB,GAAG;IAC7C,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,kBAAkB,GAAG;IAC9C,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACxC,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,kBAAkB,GAAG;IACtD,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,kBAAkB,GAAG;IAClD,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;IAC9B,iBAAiB,EAAE,KAAK,CAAC,oBAAoB,CAAC,CAAC;IAC/C,aAAa,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC;CACxC,CAAC"}
@@ -1,9 +1,10 @@
1
1
  import { ConsumerMethodPath, ValidationError, ValidationErrorsItem } from "./types.js";
2
2
  export default class ValidationErrorCounter {
3
3
  private errorCounts;
4
+ private errorDetails;
4
5
  constructor();
5
- private getKey;
6
6
  addValidationError(validationError: ConsumerMethodPath & ValidationError): void;
7
7
  getAndResetValidationErrors(): ValidationErrorsItem[];
8
+ private getKey;
8
9
  }
9
10
  //# sourceMappingURL=validationErrorCounter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"validationErrorCounter.d.ts","sourceRoot":"","sources":["../../../src/common/validationErrorCounter.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,oBAAoB,EACrB,MAAM,YAAY,CAAC;AAEpB,MAAM,CAAC,OAAO,OAAO,sBAAsB;IACzC,OAAO,CAAC,WAAW,CAAsB;;IAMzC,OAAO,CAAC,MAAM;IAWP,kBAAkB,CACvB,eAAe,EAAE,kBAAkB,GAAG,eAAe;IAMhD,2BAA2B;CAiBnC"}
1
+ {"version":3,"file":"validationErrorCounter.d.ts","sourceRoot":"","sources":["../../../src/common/validationErrorCounter.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,oBAAoB,EACrB,MAAM,YAAY,CAAC;AAEpB,MAAM,CAAC,OAAO,OAAO,sBAAsB;IACzC,OAAO,CAAC,WAAW,CAAsB;IACzC,OAAO,CAAC,YAAY,CAAoD;;IAOjE,kBAAkB,CACvB,eAAe,EAAE,kBAAkB,GAAG,eAAe;IAShD,2BAA2B;IAqBlC,OAAO,CAAC,MAAM;CAWf"}
@@ -1,4 +1,2 @@
1
- export { KeyInfo } from "../common/keyRegistry.js";
2
- export { requireApiKey } from "./auth.js";
3
1
  export { useApitally } from "./middleware.js";
4
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/express/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/express/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC"}
@@ -1,10 +1,8 @@
1
1
  import type { Express } from "express";
2
- import { KeyInfo } from "../common/keyRegistry.js";
3
2
  import { ApitallyConfig } from "../common/types.js";
4
3
  declare module "express" {
5
4
  interface Request {
6
5
  consumerIdentifier?: string;
7
- keyInfo?: KeyInfo;
8
6
  }
9
7
  }
10
8
  export declare const useApitally: (app: Express, config: ApitallyConfig) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../../src/express/middleware.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAmC,MAAM,SAAS,CAAC;AAIxE,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAEnD,OAAO,EAAE,cAAc,EAA4B,MAAM,oBAAoB,CAAC;AAG9E,OAAO,QAAQ,SAAS,CAAC;IACvB,UAAU,OAAO;QACf,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB;CACF;AAED,eAAO,MAAM,WAAW,QAAS,OAAO,UAAU,cAAc,SAO/D,CAAC"}
1
+ {"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../../src/express/middleware.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAmC,MAAM,SAAS,CAAC;AAKxE,OAAO,EAAE,cAAc,EAA4B,MAAM,oBAAoB,CAAC;AAG9E,OAAO,QAAQ,SAAS,CAAC;IACvB,UAAU,OAAO;QACf,kBAAkB,CAAC,EAAE,MAAM,CAAC;KAC7B;CACF;AAED,eAAO,MAAM,WAAW,QAAS,OAAO,UAAU,cAAc,SAO/D,CAAC"}
@@ -1,4 +1,2 @@
1
- export { KeyInfo } from "../common/keyRegistry.js";
2
- export { requireApiKey } from "./auth.js";
3
1
  export { default as apitallyPlugin } from "./plugin.js";
4
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fastify/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fastify/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,aAAa,CAAC"}
@@ -1,13 +1,12 @@
1
- import type { FastifyPluginAsync } from "fastify";
2
- import { KeyInfo } from "../common/keyRegistry.js";
1
+ import type { FastifyError, FastifyPluginAsync } from "fastify";
3
2
  import { ApitallyConfig } from "../common/types.js";
4
3
  declare module "fastify" {
5
4
  interface FastifyReply {
6
5
  payload: any;
6
+ serverError?: FastifyError;
7
7
  }
8
8
  interface FastifyRequest {
9
9
  consumerIdentifier?: string;
10
- keyInfo?: KeyInfo;
11
10
  }
12
11
  }
13
12
  declare const _default: FastifyPluginAsync<ApitallyConfig>;
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../src/fastify/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAkB,MAAM,SAAS,CAAC;AAIlE,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAEnD,OAAO,EAAE,cAAc,EAA6B,MAAM,oBAAoB,CAAC;AAE/E,OAAO,QAAQ,SAAS,CAAC;IACvB,UAAU,YAAY;QACpB,OAAO,EAAE,GAAG,CAAC;KACd;IAED,UAAU,cAAc;QACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB;CACF;;AA4ID,wBAEG"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../src/fastify/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAkB,MAAM,SAAS,CAAC;AAKhF,OAAO,EAAE,cAAc,EAA6B,MAAM,oBAAoB,CAAC;AAE/E,OAAO,QAAQ,SAAS,CAAC;IACvB,UAAU,YAAY;QACpB,OAAO,EAAE,GAAG,CAAC;QACb,WAAW,CAAC,EAAE,YAAY,CAAC;KAC5B;IAED,UAAU,cAAc;QACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;KAC7B;CACF;;AAuJD,wBAEG"}
@@ -1,4 +1,2 @@
1
- export { KeyInfo } from "../common/keyRegistry.js";
2
- export { requireApiKey } from "./auth.js";
3
1
  export { useApitally } from "./middleware.js";
4
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/koa/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/koa/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../../src/koa/middleware.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAC;AAKtB,OAAO,EAAE,cAAc,EAAqB,MAAM,oBAAoB,CAAC;AAEvE,eAAO,MAAM,WAAW,QAAS,GAAG,UAAU,cAAc,SAO3D,CAAC"}
1
+ {"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../../src/koa/middleware.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAC;AAItB,OAAO,EAAE,cAAc,EAAqB,MAAM,oBAAoB,CAAC;AAEvE,eAAO,MAAM,WAAW,QAAS,GAAG,UAAU,cAAc,SAO3D,CAAC"}
@@ -1,4 +1,2 @@
1
- export { KeyInfo } from "../common/keyRegistry.js";
2
1
  export { useApitally } from "../express/index.js";
3
- export { ApitallyApiKeyGuard, GetKeyInfo, Scopes } from "./auth.js";
4
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/nestjs/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/nestjs/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC"}
package/package.json CHANGED
@@ -1,15 +1,13 @@
1
1
  {
2
2
  "name": "apitally",
3
- "version": "0.2.1",
4
- "description": "Simple API monitoring and API key management for REST APIs built with Express, Fastify, Koa, and NestJS.",
3
+ "version": "0.4.0",
4
+ "description": "API monitoring for REST APIs built with Express, Fastify, Koa, and NestJS.",
5
5
  "author": "Apitally <hello@apitally.io>",
6
6
  "license": "MIT",
7
7
  "keywords": [
8
8
  "analytics",
9
9
  "api",
10
10
  "apitally",
11
- "auth",
12
- "authentication",
13
11
  "express",
14
12
  "fastify",
15
13
  "koa",
@@ -1,13 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- Object.defineProperty(exports, "KeyCacheBase", {
7
- enumerable: true,
8
- get: function get() {
9
- return _keyRegistry.KeyCacheBase;
10
- }
11
- });
12
- var _keyRegistry = require("./keyRegistry.cjs");
13
- //# sourceMappingURL=index.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.cjs","names":["_keyRegistry","require"],"sources":["../../../src/common/index.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA"}