@inversifyjs/http-insights 0.2.0 → 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 (151) hide show
  1. package/lib/generated/prisma/internal/class.js +4 -4
  2. package/lib/generated/prisma/internal/class.js.map +1 -1
  3. package/lib/generated/prisma/internal/prismaNamespace.d.ts +7 -0
  4. package/lib/generated/prisma/internal/prismaNamespace.d.ts.map +1 -1
  5. package/lib/generated/prisma/internal/prismaNamespace.js +7 -0
  6. package/lib/generated/prisma/internal/prismaNamespace.js.map +1 -1
  7. package/lib/generated/prisma/internal/prismaNamespaceBrowser.d.ts +7 -0
  8. package/lib/generated/prisma/internal/prismaNamespaceBrowser.d.ts.map +1 -1
  9. package/lib/generated/prisma/internal/prismaNamespaceBrowser.js +7 -0
  10. package/lib/generated/prisma/internal/prismaNamespaceBrowser.js.map +1 -1
  11. package/lib/generated/prisma/models/Controller.d.ts +27 -1
  12. package/lib/generated/prisma/models/Controller.d.ts.map +1 -1
  13. package/lib/generated/prisma/models/Guard.d.ts +30 -1
  14. package/lib/generated/prisma/models/Guard.d.ts.map +1 -1
  15. package/lib/generated/prisma/models/HttpError.d.ts +30 -1
  16. package/lib/generated/prisma/models/HttpError.d.ts.map +1 -1
  17. package/lib/generated/prisma/models/Interceptor.d.ts +30 -1
  18. package/lib/generated/prisma/models/Interceptor.d.ts.map +1 -1
  19. package/lib/generated/prisma/models/Middleware.d.ts +30 -1
  20. package/lib/generated/prisma/models/Middleware.d.ts.map +1 -1
  21. package/lib/generated/prisma/models/NativeMiddleware.d.ts +30 -1
  22. package/lib/generated/prisma/models/NativeMiddleware.d.ts.map +1 -1
  23. package/lib/generated/prisma/models/Pipe.d.ts +30 -1
  24. package/lib/generated/prisma/models/Pipe.d.ts.map +1 -1
  25. package/lib/generated/prisma-migrate/index.d.ts.map +1 -1
  26. package/lib/generated/prisma-migrate/index.js +1 -1
  27. package/lib/generated/prisma-migrate/index.js.map +1 -1
  28. package/lib/insights/adapter/babel/calculations/buildStatementIndex.d.ts +17 -0
  29. package/lib/insights/adapter/babel/calculations/buildStatementIndex.d.ts.map +1 -0
  30. package/lib/insights/adapter/babel/calculations/buildStatementIndex.js +183 -0
  31. package/lib/insights/adapter/babel/calculations/buildStatementIndex.js.map +1 -0
  32. package/lib/insights/adapter/babel/calculations/readStatementContext.d.ts +8 -0
  33. package/lib/insights/adapter/babel/calculations/readStatementContext.d.ts.map +1 -0
  34. package/lib/insights/adapter/babel/calculations/readStatementContext.js +252 -0
  35. package/lib/insights/adapter/babel/calculations/readStatementContext.js.map +1 -0
  36. package/lib/insights/adapter/inversify/modules/InsightsContainerModule.d.ts.map +1 -1
  37. package/lib/insights/adapter/inversify/modules/InsightsContainerModule.js +25 -0
  38. package/lib/insights/adapter/inversify/modules/InsightsContainerModule.js.map +1 -1
  39. package/lib/insights/adapter/node/calculations/isLocalFilePath.d.ts +2 -0
  40. package/lib/insights/adapter/node/calculations/isLocalFilePath.d.ts.map +1 -0
  41. package/lib/insights/adapter/node/calculations/isLocalFilePath.js +6 -0
  42. package/lib/insights/adapter/node/calculations/isLocalFilePath.js.map +1 -0
  43. package/lib/insights/adapter/node/calculations/readFileUrlPath.d.ts +2 -0
  44. package/lib/insights/adapter/node/calculations/readFileUrlPath.d.ts.map +1 -0
  45. package/lib/insights/adapter/node/calculations/readFileUrlPath.js +10 -0
  46. package/lib/insights/adapter/node/calculations/readFileUrlPath.js.map +1 -0
  47. package/lib/insights/adapter/node/calculations/readResolvedSourcePath.d.ts +2 -0
  48. package/lib/insights/adapter/node/calculations/readResolvedSourcePath.d.ts.map +1 -0
  49. package/lib/insights/adapter/node/calculations/readResolvedSourcePath.js +48 -0
  50. package/lib/insights/adapter/node/calculations/readResolvedSourcePath.js.map +1 -0
  51. package/lib/insights/adapter/node/calculations/readSourceMapFilePath.d.ts +2 -0
  52. package/lib/insights/adapter/node/calculations/readSourceMapFilePath.d.ts.map +1 -0
  53. package/lib/insights/adapter/node/calculations/readSourceMapFilePath.js +20 -0
  54. package/lib/insights/adapter/node/calculations/readSourceMapFilePath.js.map +1 -0
  55. package/lib/insights/adapter/node/calculations/readSourceMapLocation.d.ts +12 -0
  56. package/lib/insights/adapter/node/calculations/readSourceMapLocation.d.ts.map +1 -0
  57. package/lib/insights/adapter/node/calculations/readSourceMapLocation.js +56 -0
  58. package/lib/insights/adapter/node/calculations/readSourceMapLocation.js.map +1 -0
  59. package/lib/insights/adapter/node/calculations/readUrlScheme.d.ts +2 -0
  60. package/lib/insights/adapter/node/calculations/readUrlScheme.d.ts.map +1 -0
  61. package/lib/insights/adapter/node/calculations/readUrlScheme.js +13 -0
  62. package/lib/insights/adapter/node/calculations/readUrlScheme.js.map +1 -0
  63. package/lib/insights/adapter/node/services/NodeSourceMapReader.d.ts +8 -0
  64. package/lib/insights/adapter/node/services/NodeSourceMapReader.d.ts.map +1 -0
  65. package/lib/insights/adapter/node/services/NodeSourceMapReader.js +381 -0
  66. package/lib/insights/adapter/node/services/NodeSourceMapReader.js.map +1 -0
  67. package/lib/insights/adapter/node/services/NodeSourceTextReader.d.ts +7 -0
  68. package/lib/insights/adapter/node/services/NodeSourceTextReader.d.ts.map +1 -0
  69. package/lib/insights/adapter/node/services/NodeSourceTextReader.js +60 -0
  70. package/lib/insights/adapter/node/services/NodeSourceTextReader.js.map +1 -0
  71. package/lib/insights/adapter/prisma/adapters/PrismaInsightsPersistenceAdapter.d.ts.map +1 -1
  72. package/lib/insights/adapter/prisma/adapters/PrismaInsightsPersistenceAdapter.js +19 -9
  73. package/lib/insights/adapter/prisma/adapters/PrismaInsightsPersistenceAdapter.js.map +1 -1
  74. package/lib/insights/adapter/prisma/builders/ControllerFromPrismaControllerBuilder.d.ts +3 -0
  75. package/lib/insights/adapter/prisma/builders/ControllerFromPrismaControllerBuilder.d.ts.map +1 -1
  76. package/lib/insights/adapter/prisma/builders/ControllerFromPrismaControllerBuilder.js +16 -2
  77. package/lib/insights/adapter/prisma/builders/ControllerFromPrismaControllerBuilder.js.map +1 -1
  78. package/lib/insights/adapter/prisma/builders/ErrorTracesFromPrismaJsonBuilder.d.ts +7 -0
  79. package/lib/insights/adapter/prisma/builders/ErrorTracesFromPrismaJsonBuilder.d.ts.map +1 -0
  80. package/lib/insights/adapter/prisma/builders/ErrorTracesFromPrismaJsonBuilder.js +107 -0
  81. package/lib/insights/adapter/prisma/builders/ErrorTracesFromPrismaJsonBuilder.js.map +1 -0
  82. package/lib/insights/adapter/prisma/builders/GuardFromPrismaGuardBuilder.d.ts +3 -0
  83. package/lib/insights/adapter/prisma/builders/GuardFromPrismaGuardBuilder.d.ts.map +1 -1
  84. package/lib/insights/adapter/prisma/builders/GuardFromPrismaGuardBuilder.js +16 -2
  85. package/lib/insights/adapter/prisma/builders/GuardFromPrismaGuardBuilder.js.map +1 -1
  86. package/lib/insights/adapter/prisma/builders/HttpErrorFromPrismaHttpErrorBuilder.d.ts +3 -0
  87. package/lib/insights/adapter/prisma/builders/HttpErrorFromPrismaHttpErrorBuilder.d.ts.map +1 -1
  88. package/lib/insights/adapter/prisma/builders/HttpErrorFromPrismaHttpErrorBuilder.js +16 -2
  89. package/lib/insights/adapter/prisma/builders/HttpErrorFromPrismaHttpErrorBuilder.js.map +1 -1
  90. package/lib/insights/adapter/prisma/builders/InterceptorFromPrismaInterceptorBuilder.d.ts +3 -0
  91. package/lib/insights/adapter/prisma/builders/InterceptorFromPrismaInterceptorBuilder.d.ts.map +1 -1
  92. package/lib/insights/adapter/prisma/builders/InterceptorFromPrismaInterceptorBuilder.js +16 -2
  93. package/lib/insights/adapter/prisma/builders/InterceptorFromPrismaInterceptorBuilder.js.map +1 -1
  94. package/lib/insights/adapter/prisma/builders/MiddlewareFromPrismaMiddlewareBuilder.d.ts +2 -0
  95. package/lib/insights/adapter/prisma/builders/MiddlewareFromPrismaMiddlewareBuilder.d.ts.map +1 -1
  96. package/lib/insights/adapter/prisma/builders/MiddlewareFromPrismaMiddlewareBuilder.js +16 -2
  97. package/lib/insights/adapter/prisma/builders/MiddlewareFromPrismaMiddlewareBuilder.js.map +1 -1
  98. package/lib/insights/adapter/prisma/builders/NativeMiddlewareFromPrismaNativeMiddlewareBuilder.d.ts +3 -0
  99. package/lib/insights/adapter/prisma/builders/NativeMiddlewareFromPrismaNativeMiddlewareBuilder.d.ts.map +1 -1
  100. package/lib/insights/adapter/prisma/builders/NativeMiddlewareFromPrismaNativeMiddlewareBuilder.js +16 -2
  101. package/lib/insights/adapter/prisma/builders/NativeMiddlewareFromPrismaNativeMiddlewareBuilder.js.map +1 -1
  102. package/lib/insights/adapter/prisma/builders/PipeFromPrismaPipeBuilder.d.ts +3 -0
  103. package/lib/insights/adapter/prisma/builders/PipeFromPrismaPipeBuilder.d.ts.map +1 -1
  104. package/lib/insights/adapter/prisma/builders/PipeFromPrismaPipeBuilder.js +16 -2
  105. package/lib/insights/adapter/prisma/builders/PipeFromPrismaPipeBuilder.js.map +1 -1
  106. package/lib/insights/application/ports/ErrorTracesReader.d.ts +6 -0
  107. package/lib/insights/application/ports/ErrorTracesReader.d.ts.map +1 -0
  108. package/lib/insights/application/ports/ErrorTracesReader.js +2 -0
  109. package/lib/insights/application/ports/ErrorTracesReader.js.map +1 -0
  110. package/lib/insights/application/ports/SourceMapReader.d.ts +11 -0
  111. package/lib/insights/application/ports/SourceMapReader.d.ts.map +1 -0
  112. package/lib/insights/application/ports/SourceMapReader.js +2 -0
  113. package/lib/insights/application/ports/SourceMapReader.js.map +1 -0
  114. package/lib/insights/application/ports/SourceTextReader.d.ts +10 -0
  115. package/lib/insights/application/ports/SourceTextReader.d.ts.map +1 -0
  116. package/lib/insights/application/ports/SourceTextReader.js +2 -0
  117. package/lib/insights/application/ports/SourceTextReader.js.map +1 -0
  118. package/lib/insights/application/services/ErrorTracesService.d.ts +10 -0
  119. package/lib/insights/application/services/ErrorTracesService.d.ts.map +1 -0
  120. package/lib/insights/application/services/ErrorTracesService.js +106 -0
  121. package/lib/insights/application/services/ErrorTracesService.js.map +1 -0
  122. package/lib/insights/application/services/StackTraceErrorTracesReader.d.ts +10 -0
  123. package/lib/insights/application/services/StackTraceErrorTracesReader.d.ts.map +1 -0
  124. package/lib/insights/application/services/StackTraceErrorTracesReader.js +277 -0
  125. package/lib/insights/application/services/StackTraceErrorTracesReader.js.map +1 -0
  126. package/lib/insights/domain/models/Controller.d.ts +2 -0
  127. package/lib/insights/domain/models/Controller.d.ts.map +1 -1
  128. package/lib/insights/domain/models/ErrorTrace.d.ts +14 -0
  129. package/lib/insights/domain/models/ErrorTrace.d.ts.map +1 -0
  130. package/lib/insights/domain/models/ErrorTrace.js +2 -0
  131. package/lib/insights/domain/models/ErrorTrace.js.map +1 -0
  132. package/lib/insights/domain/models/Guard.d.ts +2 -0
  133. package/lib/insights/domain/models/Guard.d.ts.map +1 -1
  134. package/lib/insights/domain/models/HttpError.d.ts +2 -0
  135. package/lib/insights/domain/models/HttpError.d.ts.map +1 -1
  136. package/lib/insights/domain/models/Interceptor.d.ts +2 -0
  137. package/lib/insights/domain/models/Interceptor.d.ts.map +1 -1
  138. package/lib/insights/domain/models/Middleware.d.ts +2 -0
  139. package/lib/insights/domain/models/Middleware.d.ts.map +1 -1
  140. package/lib/insights/domain/models/NativeMiddleware.d.ts +2 -0
  141. package/lib/insights/domain/models/NativeMiddleware.d.ts.map +1 -1
  142. package/lib/insights/domain/models/Pipe.d.ts +2 -0
  143. package/lib/insights/domain/models/Pipe.d.ts.map +1 -1
  144. package/lib/instrumentation/adapter/inversify/services/HttpInsightsEventSink.d.ts +2 -1
  145. package/lib/instrumentation/adapter/inversify/services/HttpInsightsEventSink.d.ts.map +1 -1
  146. package/lib/instrumentation/adapter/inversify/services/HttpInsightsEventSink.js +16 -4
  147. package/lib/instrumentation/adapter/inversify/services/HttpInsightsEventSink.js.map +1 -1
  148. package/package.json +6 -3
  149. package/prisma/migrations/{20261018163227_init → 20261025122600_init}/migration.sql +35 -28
  150. package/prisma/schema.prisma +64 -57
  151. package/prisma/migrations/20261022004000_rename_execution_to_call/migration.sql +0 -161
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SourceTextReader.d.ts","sourceRoot":"","sources":["../../../../src/insights/application/ports/SourceTextReader.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,uBAAuB,EAAE,MAErC,CAAC;AAEF,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;CACpD"}
@@ -0,0 +1,2 @@
1
+ export const sourceTextReaderService = Symbol('SourceTextReaderService');
2
+ //# sourceMappingURL=SourceTextReader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SourceTextReader.js","sourceRoot":"","sources":["../../../../src/insights/application/ports/SourceTextReader.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,uBAAuB,GAAW,MAAM,CACnD,yBAAyB,CAC1B,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { type Call } from '../../domain/models/Call.js';
2
+ import { type ExecuteUpdateCommand } from '../models/ExecuteUpdateCommand.js';
3
+ import { type ErrorTracesReader } from '../ports/ErrorTracesReader.js';
4
+ export declare class ErrorTracesService {
5
+ #private;
6
+ constructor(errorTracesReader: ErrorTracesReader);
7
+ capture(call: Call): Promise<Call>;
8
+ captureUpdate(command: ExecuteUpdateCommand): Promise<ExecuteUpdateCommand>;
9
+ }
10
+ //# sourceMappingURL=ErrorTracesService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ErrorTracesService.d.ts","sourceRoot":"","sources":["../../../../src/insights/application/services/ErrorTracesService.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,6BAA6B,CAAC;AASxD,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAC9E,OAAO,EACL,KAAK,iBAAiB,EAEvB,MAAM,+BAA+B,CAAC;AAOvC,qBACa,kBAAkB;;gBAK3B,iBAAiB,EAAE,iBAAiB;IAKzB,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAkClC,aAAa,CACxB,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,oBAAoB,CAAC;CAmDjC"}
@@ -0,0 +1,106 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
11
+ return function (target, key) { decorator(target, key, paramIndex); }
12
+ };
13
+ import { inject, injectable } from 'inversify';
14
+ import { errorTracesReaderService, } from '../ports/ErrorTracesReader.js';
15
+ let ErrorTracesService = class ErrorTracesService {
16
+ #errorTracesReader;
17
+ constructor(errorTracesReader) {
18
+ this.#errorTracesReader = errorTracesReader;
19
+ }
20
+ async capture(call) {
21
+ const tracesByError = await this.#readTraces(collectCallErrors(call));
22
+ const controller = call.controller;
23
+ return {
24
+ ...call,
25
+ controller: controller === undefined
26
+ ? undefined
27
+ : withErrorTraces(controller, tracesByError),
28
+ guards: call.guards.map((guard) => withErrorTraces(guard, tracesByError)),
29
+ httpErrors: call.httpErrors.map((httpError) => withErrorTraces(httpError, tracesByError)),
30
+ interceptors: call.interceptors.map((interceptor) => withErrorTraces(interceptor, tracesByError)),
31
+ middlewares: call.middlewares.map((middleware) => withErrorTraces(middleware, tracesByError)),
32
+ nativeMiddlewares: call.nativeMiddlewares.map((nativeMiddleware) => withErrorTraces(nativeMiddleware, tracesByError)),
33
+ pipes: call.pipes.map((pipe) => withErrorTraces(pipe, tracesByError)),
34
+ };
35
+ }
36
+ async captureUpdate(command) {
37
+ const tracesByError = await this.#readTraces(command.set.httpErrors.map((httpError) => httpError.error));
38
+ return {
39
+ filter: command.filter,
40
+ set: {
41
+ httpErrors: command.set.httpErrors.map((httpError) => withErrorTraces(httpError, tracesByError)),
42
+ },
43
+ };
44
+ }
45
+ async #readTraces(errors) {
46
+ const uniqueErrors = [];
47
+ for (const error of errors) {
48
+ if (error === null ||
49
+ error === undefined ||
50
+ uniqueErrors.includes(error)) {
51
+ continue;
52
+ }
53
+ uniqueErrors.push(error);
54
+ }
55
+ const entries = await Promise.all(uniqueErrors.map(async (error) => [
56
+ error,
57
+ await this.#errorTracesReader.read(error),
58
+ ]));
59
+ return new Map(entries);
60
+ }
61
+ };
62
+ ErrorTracesService = __decorate([
63
+ injectable(),
64
+ __param(0, inject(errorTracesReaderService)),
65
+ __metadata("design:paramtypes", [Object])
66
+ ], ErrorTracesService);
67
+ export { ErrorTracesService };
68
+ function collectCallErrors(call) {
69
+ const errors = [];
70
+ const controller = call.controller;
71
+ if (controller !== undefined) {
72
+ errors.push(controller.error);
73
+ }
74
+ for (const guard of call.guards) {
75
+ errors.push(guard.error);
76
+ }
77
+ for (const httpError of call.httpErrors) {
78
+ errors.push(httpError.error);
79
+ }
80
+ for (const interceptor of call.interceptors) {
81
+ errors.push(interceptor.error);
82
+ }
83
+ for (const middleware of call.middlewares) {
84
+ errors.push(middleware.error);
85
+ }
86
+ for (const nativeMiddleware of call.nativeMiddlewares) {
87
+ errors.push(nativeMiddleware.error);
88
+ }
89
+ for (const pipe of call.pipes) {
90
+ errors.push(pipe.error);
91
+ }
92
+ return errors;
93
+ }
94
+ function readStoredTraces(tracesByError, error) {
95
+ if (error === null || error === undefined) {
96
+ return null;
97
+ }
98
+ return tracesByError.get(error) ?? null;
99
+ }
100
+ function withErrorTraces(entity, tracesByError) {
101
+ return {
102
+ ...entity,
103
+ errorTraces: readStoredTraces(tracesByError, entity.error),
104
+ };
105
+ }
106
+ //# sourceMappingURL=ErrorTracesService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ErrorTracesService.js","sourceRoot":"","sources":["../../../../src/insights/application/services/ErrorTracesService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { type ErrorTrace } from '../../domain/models/ErrorTrace.js';
2
+ import { type ErrorTracesReader } from '../ports/ErrorTracesReader.js';
3
+ import { type SourceMapReader } from '../ports/SourceMapReader.js';
4
+ import { type SourceTextReader } from '../ports/SourceTextReader.js';
5
+ export declare class StackTraceErrorTracesReader implements ErrorTracesReader {
6
+ #private;
7
+ constructor(sourceTextReader: SourceTextReader, sourceMapReader: SourceMapReader);
8
+ read(error: unknown): Promise<readonly ErrorTrace[] | null>;
9
+ }
10
+ //# sourceMappingURL=StackTraceErrorTracesReader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StackTraceErrorTracesReader.d.ts","sourceRoot":"","sources":["../../../../src/insights/application/services/StackTraceErrorTracesReader.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAEL,KAAK,eAAe,EAErB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAEL,KAAK,gBAAgB,EAEtB,MAAM,8BAA8B,CAAC;AActC,qBACa,2BAA4B,YAAW,iBAAiB;;gBAOjE,gBAAgB,EAAE,gBAAgB,EAElC,eAAe,EAAE,eAAe;IAMrB,IAAI,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,SAAS,UAAU,EAAE,GAAG,IAAI,CAAC;CA4OzE"}
@@ -0,0 +1,277 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
11
+ return function (target, key) { decorator(target, key, paramIndex); }
12
+ };
13
+ import { basename, extname, isAbsolute, resolve } from 'node:path';
14
+ import { fileURLToPath } from 'node:url';
15
+ import { inject, injectable } from 'inversify';
16
+ import { parse as parseStackTrace } from 'stack-trace';
17
+ import { buildStatementIndex, } from '../../adapter/babel/calculations/buildStatementIndex.js';
18
+ import { readStatementContext, } from '../../adapter/babel/calculations/readStatementContext.js';
19
+ import { sourceMapReaderService, } from '../ports/SourceMapReader.js';
20
+ import { sourceTextReaderService, } from '../ports/SourceTextReader.js';
21
+ const MAX_SOURCE_MAP_HOPS = 8;
22
+ let StackTraceErrorTracesReader = class StackTraceErrorTracesReader {
23
+ #indexes = new Map();
24
+ #sourceMapReader;
25
+ #sourceTextReader;
26
+ constructor(sourceTextReader, sourceMapReader) {
27
+ this.#sourceMapReader = sourceMapReader;
28
+ this.#sourceTextReader = sourceTextReader;
29
+ }
30
+ async read(error) {
31
+ try {
32
+ return await this.#read(error);
33
+ }
34
+ catch (_readError) {
35
+ return null;
36
+ }
37
+ }
38
+ async #read(error) {
39
+ const traces = [];
40
+ await this.#readError(error, traces, new WeakSet());
41
+ if (traces.length === 0) {
42
+ return null;
43
+ }
44
+ return traces;
45
+ }
46
+ async #readError(error, traces, seen) {
47
+ if (typeof error !== 'object' || error === null) {
48
+ return;
49
+ }
50
+ if (error instanceof Error) {
51
+ if (seen.has(error)) {
52
+ return;
53
+ }
54
+ seen.add(error);
55
+ }
56
+ const frames = readFrames(error);
57
+ if (frames !== null) {
58
+ for (const frame of frames) {
59
+ const trace = await this.#readFrame(frame);
60
+ if (trace !== null) {
61
+ traces.push(trace);
62
+ }
63
+ }
64
+ }
65
+ if (!(error instanceof Error)) {
66
+ return;
67
+ }
68
+ const cause = readCause(error);
69
+ if (cause === null) {
70
+ return;
71
+ }
72
+ await this.#readError(cause, traces, seen);
73
+ }
74
+ async #readFrame(frame) {
75
+ if (frame.isNative()) {
76
+ return null;
77
+ }
78
+ const fileName = readFrameString(frame.getFileName());
79
+ const line = readPositiveInteger(frame.getLineNumber());
80
+ const column = readPositiveInteger(frame.getColumnNumber());
81
+ if (fileName === null || line === null || column === null) {
82
+ return null;
83
+ }
84
+ const filePath = readStackFilePath(fileName);
85
+ if (filePath === null) {
86
+ return null;
87
+ }
88
+ const sourceText = await this.#sourceTextReader.read(filePath);
89
+ if (sourceText === null) {
90
+ return null;
91
+ }
92
+ const supported = await this.#readSupportedSource(sourceText, line, column);
93
+ if (supported !== null) {
94
+ const trace = this.#readTrace(frame, supported.sourceText, supported.line, supported.column);
95
+ if (trace !== null) {
96
+ return trace;
97
+ }
98
+ if (supported.sourceText === sourceText &&
99
+ supported.line === line &&
100
+ supported.column === column) {
101
+ return null;
102
+ }
103
+ }
104
+ return this.#readTrace(frame, sourceText, line, column);
105
+ }
106
+ #readIndexedSource(sourceText) {
107
+ const cached = this.#indexes.get(sourceText.path);
108
+ if (cached !== undefined && cached.version === sourceText.version) {
109
+ if (cached.statementIndex === null) {
110
+ return null;
111
+ }
112
+ return {
113
+ sourceText,
114
+ statementIndex: cached.statementIndex,
115
+ };
116
+ }
117
+ const statementIndex = buildStatementIndex(sourceText.source, sourceText.path);
118
+ this.#indexes.set(sourceText.path, {
119
+ statementIndex,
120
+ version: sourceText.version,
121
+ });
122
+ if (statementIndex === null) {
123
+ return null;
124
+ }
125
+ return {
126
+ sourceText,
127
+ statementIndex,
128
+ };
129
+ }
130
+ async #readSupportedSource(sourceText, line, column) {
131
+ let candidate = isSupportedSource(sourceText.path)
132
+ ? {
133
+ column,
134
+ line,
135
+ sourceText,
136
+ }
137
+ : null;
138
+ const seen = new Set();
139
+ let current = {
140
+ column,
141
+ line,
142
+ sourceText,
143
+ };
144
+ for (let hop = 0; hop < MAX_SOURCE_MAP_HOPS; hop += 1) {
145
+ const key = readLocationKey(current);
146
+ if (seen.has(key)) {
147
+ break;
148
+ }
149
+ seen.add(key);
150
+ const next = await this.#sourceMapReader.read(current.sourceText, current.line, current.column);
151
+ if (next === null) {
152
+ break;
153
+ }
154
+ current = next;
155
+ if (isSupportedSource(current.sourceText.path)) {
156
+ candidate = current;
157
+ }
158
+ }
159
+ return candidate;
160
+ }
161
+ #readTrace(frame, sourceText, line, column) {
162
+ const indexedSource = this.#readIndexedSource(sourceText);
163
+ if (indexedSource === null) {
164
+ return null;
165
+ }
166
+ const context = readStatementContext(indexedSource.statementIndex, line, column);
167
+ if (context === null) {
168
+ return null;
169
+ }
170
+ return {
171
+ location: {
172
+ column,
173
+ file: sourceText.path,
174
+ filename: basename(sourceText.path),
175
+ functionName: readFunctionName(frame),
176
+ line,
177
+ },
178
+ nextStatements: context.nextStatements,
179
+ previousStatements: context.previousStatements,
180
+ traceStatement: context.traceStatement,
181
+ };
182
+ }
183
+ };
184
+ StackTraceErrorTracesReader = __decorate([
185
+ injectable(),
186
+ __param(0, inject(sourceTextReaderService)),
187
+ __param(1, inject(sourceMapReaderService)),
188
+ __metadata("design:paramtypes", [Object, Object])
189
+ ], StackTraceErrorTracesReader);
190
+ export { StackTraceErrorTracesReader };
191
+ function isSupportedSource(filePath) {
192
+ switch (extname(filePath)) {
193
+ case '.cts':
194
+ case '.mts':
195
+ case '.ts':
196
+ case '.tsx':
197
+ return true;
198
+ default:
199
+ return false;
200
+ }
201
+ }
202
+ function readCause(error) {
203
+ const cause = error.cause;
204
+ if (cause instanceof Error) {
205
+ return cause;
206
+ }
207
+ return null;
208
+ }
209
+ function readErrorStack(error) {
210
+ if (typeof error !== 'object' || error === null) {
211
+ return null;
212
+ }
213
+ const stack = error['stack'];
214
+ if (typeof stack !== 'string' || stack.length === 0) {
215
+ return null;
216
+ }
217
+ return stack;
218
+ }
219
+ function readFrameString(value) {
220
+ if (typeof value !== 'string' || value.length === 0) {
221
+ return null;
222
+ }
223
+ return value;
224
+ }
225
+ function readFrames(error) {
226
+ if (error instanceof Error) {
227
+ if (typeof error.stack !== 'string' || error.stack.length === 0) {
228
+ return null;
229
+ }
230
+ return parseStackTrace(error);
231
+ }
232
+ const stack = readErrorStack(error);
233
+ if (stack === null) {
234
+ return null;
235
+ }
236
+ const carrier = new Error('stack');
237
+ carrier.stack = stack;
238
+ return parseStackTrace(carrier);
239
+ }
240
+ function readLocationKey(location) {
241
+ return `${location.sourceText.path}\0${String(location.line)}\0${String(location.column)}`;
242
+ }
243
+ function readFunctionName(frame) {
244
+ const functionName = frame.getFunctionName();
245
+ if (typeof functionName === 'string' && functionName.length > 0) {
246
+ return functionName;
247
+ }
248
+ const methodName = frame.getMethodName();
249
+ if (typeof methodName === 'string' && methodName.length > 0) {
250
+ return methodName;
251
+ }
252
+ return null;
253
+ }
254
+ function readPositiveInteger(value) {
255
+ if (typeof value !== 'number' || !Number.isInteger(value) || value < 1) {
256
+ return null;
257
+ }
258
+ return value;
259
+ }
260
+ function readStackFilePath(fileName) {
261
+ if (fileName.startsWith('node:')) {
262
+ return null;
263
+ }
264
+ if (fileName.startsWith('file:')) {
265
+ try {
266
+ return fileURLToPath(fileName);
267
+ }
268
+ catch (_error) {
269
+ return null;
270
+ }
271
+ }
272
+ if (isAbsolute(fileName)) {
273
+ return fileName;
274
+ }
275
+ return resolve(fileName);
276
+ }
277
+ //# sourceMappingURL=StackTraceErrorTracesReader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StackTraceErrorTracesReader.js","sourceRoot":"","sources":["../../../../src/insights/application/services/StackTraceErrorTracesReader.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,10 @@
1
+ import { type ErrorTrace } from './ErrorTrace.js';
1
2
  export interface Controller {
2
3
  readonly id: string;
3
4
  readonly controller: string;
4
5
  readonly endedAt: Date;
5
6
  readonly error: unknown;
7
+ readonly errorTraces: readonly ErrorTrace[] | null;
6
8
  readonly method: string;
7
9
  readonly startedAt: Date;
8
10
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Controller.d.ts","sourceRoot":"","sources":["../../../../src/insights/domain/models/Controller.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;CAC1B"}
1
+ {"version":3,"file":"Controller.d.ts","sourceRoot":"","sources":["../../../../src/insights/domain/models/Controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,WAAW,EAAE,SAAS,UAAU,EAAE,GAAG,IAAI,CAAC;IACnD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;CAC1B"}
@@ -0,0 +1,14 @@
1
+ export interface ErrorTraceLocation {
2
+ readonly column: number;
3
+ readonly file: string;
4
+ readonly filename: string;
5
+ readonly functionName: string | null;
6
+ readonly line: number;
7
+ }
8
+ export interface ErrorTrace {
9
+ readonly location: ErrorTraceLocation;
10
+ readonly nextStatements: readonly string[];
11
+ readonly previousStatements: readonly string[];
12
+ readonly traceStatement: string;
13
+ }
14
+ //# sourceMappingURL=ErrorTrace.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ErrorTrace.d.ts","sourceRoot":"","sources":["../../../../src/insights/domain/models/ErrorTrace.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,CAAC;IACtC,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3C,QAAQ,CAAC,kBAAkB,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/C,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;CACjC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ErrorTrace.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ErrorTrace.js","sourceRoot":"","sources":["../../../../src/insights/domain/models/ErrorTrace.ts"],"names":[],"mappings":""}
@@ -1,8 +1,10 @@
1
+ import { type ErrorTrace } from './ErrorTrace.js';
1
2
  export interface Guard {
2
3
  readonly id: string;
3
4
  readonly allowed: boolean | null;
4
5
  readonly endedAt: Date;
5
6
  readonly error: unknown;
7
+ readonly errorTraces: readonly ErrorTrace[] | null;
6
8
  readonly guard: string;
7
9
  readonly startedAt: Date;
8
10
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Guard.d.ts","sourceRoot":"","sources":["../../../../src/insights/domain/models/Guard.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,KAAK;IACpB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;CAC1B"}
1
+ {"version":3,"file":"Guard.d.ts","sourceRoot":"","sources":["../../../../src/insights/domain/models/Guard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD,MAAM,WAAW,KAAK;IACpB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,WAAW,EAAE,SAAS,UAAU,EAAE,GAAG,IAAI,CAAC;IACnD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;CAC1B"}
@@ -1,7 +1,9 @@
1
+ import { type ErrorTrace } from './ErrorTrace.js';
1
2
  export interface HttpError {
2
3
  readonly id: string;
3
4
  readonly endedAt: Date;
4
5
  readonly error: unknown;
6
+ readonly errorTraces: readonly ErrorTrace[] | null;
5
7
  readonly filter: string | null;
6
8
  readonly startedAt: Date;
7
9
  }
@@ -1 +1 @@
1
- {"version":3,"file":"HttpError.d.ts","sourceRoot":"","sources":["../../../../src/insights/domain/models/HttpError.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;CAC1B"}
1
+ {"version":3,"file":"HttpError.d.ts","sourceRoot":"","sources":["../../../../src/insights/domain/models/HttpError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,WAAW,EAAE,SAAS,UAAU,EAAE,GAAG,IAAI,CAAC;IACnD,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;CAC1B"}
@@ -1,7 +1,9 @@
1
+ import { type ErrorTrace } from './ErrorTrace.js';
1
2
  export interface Interceptor {
2
3
  readonly id: string;
3
4
  readonly endedAt: Date;
4
5
  readonly error: unknown;
6
+ readonly errorTraces: readonly ErrorTrace[] | null;
5
7
  readonly interceptor: string;
6
8
  readonly startedAt: Date;
7
9
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Interceptor.d.ts","sourceRoot":"","sources":["../../../../src/insights/domain/models/Interceptor.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;CAC1B"}
1
+ {"version":3,"file":"Interceptor.d.ts","sourceRoot":"","sources":["../../../../src/insights/domain/models/Interceptor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,WAAW,EAAE,SAAS,UAAU,EAAE,GAAG,IAAI,CAAC;IACnD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;CAC1B"}
@@ -1,8 +1,10 @@
1
1
  import { type MiddlewarePhase } from '@inversifyjs/http-core';
2
+ import { type ErrorTrace } from './ErrorTrace.js';
2
3
  export interface Middleware {
3
4
  readonly id: string;
4
5
  readonly endedAt: Date;
5
6
  readonly error: unknown;
7
+ readonly errorTraces: readonly ErrorTrace[] | null;
6
8
  readonly middleware: string;
7
9
  readonly phase: MiddlewarePhase;
8
10
  readonly startedAt: Date;
@@ -1 +1 @@
1
- {"version":3,"file":"Middleware.d.ts","sourceRoot":"","sources":["../../../../src/insights/domain/models/Middleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE9D,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;CAC1B"}
1
+ {"version":3,"file":"Middleware.d.ts","sourceRoot":"","sources":["../../../../src/insights/domain/models/Middleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE9D,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,WAAW,EAAE,SAAS,UAAU,EAAE,GAAG,IAAI,CAAC;IACnD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;CAC1B"}
@@ -1,7 +1,9 @@
1
+ import { type ErrorTrace } from './ErrorTrace.js';
1
2
  export interface NativeMiddleware {
2
3
  readonly id: string;
3
4
  readonly endedAt: Date;
4
5
  readonly error: unknown;
6
+ readonly errorTraces: readonly ErrorTrace[] | null;
5
7
  readonly name: string;
6
8
  readonly startedAt: Date;
7
9
  }
@@ -1 +1 @@
1
- {"version":3,"file":"NativeMiddleware.d.ts","sourceRoot":"","sources":["../../../../src/insights/domain/models/NativeMiddleware.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;CAC1B"}
1
+ {"version":3,"file":"NativeMiddleware.d.ts","sourceRoot":"","sources":["../../../../src/insights/domain/models/NativeMiddleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,WAAW,EAAE,SAAS,UAAU,EAAE,GAAG,IAAI,CAAC;IACnD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;CAC1B"}
@@ -1,7 +1,9 @@
1
+ import { type ErrorTrace } from './ErrorTrace.js';
1
2
  export interface Pipe {
2
3
  readonly id: string;
3
4
  readonly endedAt: Date;
4
5
  readonly error: unknown;
6
+ readonly errorTraces: readonly ErrorTrace[] | null;
5
7
  readonly method: string;
6
8
  readonly parameterIndex: number;
7
9
  readonly pipe: string;
@@ -1 +1 @@
1
- {"version":3,"file":"Pipe.d.ts","sourceRoot":"","sources":["../../../../src/insights/domain/models/Pipe.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,IAAI;IACnB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;CAC1B"}
1
+ {"version":3,"file":"Pipe.d.ts","sourceRoot":"","sources":["../../../../src/insights/domain/models/Pipe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD,MAAM,WAAW,IAAI;IACnB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,WAAW,EAAE,SAAS,UAAU,EAAE,GAAG,IAAI,CAAC;IACnD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;CAC1B"}
@@ -1,11 +1,12 @@
1
1
  import { type EventSink, type HttpInstrumentationEvent } from '@inversifyjs/http-instrumentation-core';
2
2
  import { CallManagementInputPort } from '../../../../insights/application/ports/CallManagementInputPort.js';
3
+ import { ErrorTracesService } from '../../../../insights/application/services/ErrorTracesService.js';
3
4
  export declare const CALL_RETENTION_MS: number;
4
5
  export declare const MAX_COMMITTED_CALLS: number;
5
6
  export declare const RETENTION_SWEEP_INTERVAL_MS: number;
6
7
  export declare class HttpInsightsEventSink implements EventSink<HttpInstrumentationEvent> {
7
8
  #private;
8
- constructor(callManagementInputPort: CallManagementInputPort);
9
+ constructor(callManagementInputPort: CallManagementInputPort, errorTracesService: ErrorTracesService);
9
10
  emit(event: HttpInstrumentationEvent): Promise<void>;
10
11
  }
11
12
  //# sourceMappingURL=HttpInsightsEventSink.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"HttpInsightsEventSink.d.ts","sourceRoot":"","sources":["../../../../../src/instrumentation/adapter/inversify/services/HttpInsightsEventSink.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,SAAS,EAId,KAAK,wBAAwB,EAO9B,MAAM,wCAAwC,CAAC;AAIhD,OAAO,EAAE,uBAAuB,EAAE,MAAM,mEAAmE,CAAC;AAW5G,eAAO,MAAM,iBAAiB,EAAE,MAAe,CAAC;AAChD,eAAO,MAAM,mBAAmB,EAAE,MAAe,CAAC;AAClD,eAAO,MAAM,2BAA2B,EAAE,MAAc,CAAC;AAmBzD,qBACa,qBAAsB,YAAW,SAAS,CAAC,wBAAwB,CAAC;;gBAS7E,uBAAuB,EAAE,uBAAuB;IAMrC,IAAI,CAAC,KAAK,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC;CA4elE"}
1
+ {"version":3,"file":"HttpInsightsEventSink.d.ts","sourceRoot":"","sources":["../../../../../src/instrumentation/adapter/inversify/services/HttpInsightsEventSink.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,SAAS,EAId,KAAK,wBAAwB,EAO9B,MAAM,wCAAwC,CAAC;AAIhD,OAAO,EAAE,uBAAuB,EAAE,MAAM,mEAAmE,CAAC;AAC5G,OAAO,EAAE,kBAAkB,EAAE,MAAM,iEAAiE,CAAC;AAWrG,eAAO,MAAM,iBAAiB,EAAE,MAAe,CAAC;AAChD,eAAO,MAAM,mBAAmB,EAAE,MAAe,CAAC;AAClD,eAAO,MAAM,2BAA2B,EAAE,MAAc,CAAC;AAmBzD,qBACa,qBAAsB,YAAW,SAAS,CAAC,wBAAwB,CAAC;;gBAU7E,uBAAuB,EAAE,uBAAuB,EAEhD,kBAAkB,EAAE,kBAAkB;IAO3B,IAAI,CAAC,KAAK,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC;CAuflE"}