@sima-land/isomorph 11.0.0-alpha.2 → 11.0.0-alpha.3
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/http-server/middleware/tracing.d.ts +1 -1
- package/http-server/middleware/tracing.js.map +1 -1
- package/package.json +2 -2
- package/preset/node/index.d.ts +3 -0
- package/preset/node/index.js +47 -17
- package/preset/node/index.js.map +1 -1
- package/tokens.d.ts +7 -2
- package/tokens.js +5 -1
- package/tokens.js.map +1 -1
- package/tracer/node.d.ts +0 -10
- package/tracer/node.js +0 -38
- package/tracer/node.js.map +0 -1
- package/tracer/types.d.ts +0 -2
- package/tracer/types.js +0 -3
- package/tracer/types.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tracing.js","sourceRoot":"","sources":["../../../src/http-server/middleware/tracing.ts"],"names":[],"mappings":";;;AAAA,4CAA8C;AAC9C,
|
|
1
|
+
{"version":3,"file":"tracing.js","sourceRoot":"","sources":["../../../src/http-server/middleware/tracing.ts"],"names":[],"mappings":";;;AAAA,4CAA8C;AAC9C,4CAA8E;AAG9E;;;;GAIG;AACH,SAAgB,iBAAiB,CAAC,MAAc;IAC9C,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QACxB,MAAM,eAAe,GAAG,iBAAW,CAAC,OAAO,CAAC,kBAAY,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;QACvE,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,UAAU,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;QAC1E,MAAM,WAAW,GAAG,WAAK,CAAC,OAAO,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;QAE7D,GAAG,CAAC,MAAM,CAAC,OAAO,GAAG;YACnB,QAAQ;YACR,WAAW;SACZ,CAAC;QAEF,GAAG,CAAC,IAAI,CAAC,0BAAc,CAAC,WAAW,EAAE,GAAG,EAAE;YACxC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;QACrF,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,IAAI,CAAC,0BAAc,CAAC,YAAY,EAAE,GAAG,EAAE;YACzC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE;YACtB,QAAQ,CAAC,GAAG,EAAE,CAAC;QACjB,CAAC,CAAC,CAAC;QAEH,IAAI,EAAE,CAAC;IACT,CAAC,CAAC;AACJ,CAAC;AAzBD,8CAyBC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sima-land/isomorph",
|
|
3
|
-
"version": "11.0.0-alpha.
|
|
3
|
+
"version": "11.0.0-alpha.3",
|
|
4
4
|
"description": "Tiny framework for fast start frontend microservices",
|
|
5
5
|
"author": "www.sima-land.ru team",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
},
|
|
33
33
|
"dependencies": {
|
|
34
34
|
"@humanwhocodes/env": "^2.2.0",
|
|
35
|
-
"@opentelemetry/api": "^1.0
|
|
35
|
+
"@opentelemetry/api": "^1.1.0",
|
|
36
36
|
"@opentelemetry/exporter-jaeger": "^1.0.1",
|
|
37
37
|
"@opentelemetry/instrumentation": "^0.27.0",
|
|
38
38
|
"@opentelemetry/instrumentation-express": "^0.28.0",
|
package/preset/node/index.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ import type { Provider } from '../../container/types';
|
|
|
3
3
|
import type { BaseConfig } from '../../config/types';
|
|
4
4
|
import type { Logger } from '../../logger/types';
|
|
5
5
|
import type { Tracer } from '@opentelemetry/api';
|
|
6
|
+
import { BasicTracerProvider, SpanExporter } from '@opentelemetry/tracing';
|
|
6
7
|
import type { DefaultMiddleware } from '../../http-server/types';
|
|
7
8
|
/**
|
|
8
9
|
* Возвращает preset с зависимостями по умолчанию для frontend-микросервисов на Node.js.
|
|
@@ -12,4 +13,6 @@ export declare function PresetNode(): Preset;
|
|
|
12
13
|
export declare const provideBaseConfig: Provider<BaseConfig>;
|
|
13
14
|
export declare const provideLogger: Provider<Logger>;
|
|
14
15
|
export declare const provideTracer: Provider<Tracer>;
|
|
16
|
+
export declare const provideSpanExporter: Provider<SpanExporter>;
|
|
17
|
+
export declare const provideTracerProvider: Provider<BasicTracerProvider>;
|
|
15
18
|
export declare const provideDefaultMiddleware: Provider<DefaultMiddleware>;
|
package/preset/node/index.js
CHANGED
|
@@ -3,24 +3,28 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.provideDefaultMiddleware = exports.provideTracer = exports.provideLogger = exports.provideBaseConfig = exports.PresetNode = void 0;
|
|
6
|
+
exports.provideDefaultMiddleware = exports.provideTracerProvider = exports.provideSpanExporter = exports.provideTracer = exports.provideLogger = exports.provideBaseConfig = exports.PresetNode = void 0;
|
|
7
|
+
const tracing_1 = require("@opentelemetry/tracing");
|
|
7
8
|
const tokens_1 = require("../../tokens");
|
|
8
9
|
const __1 = require("..");
|
|
9
10
|
const node_1 = require("../../config/node");
|
|
10
11
|
const config_1 = require("../../config");
|
|
11
12
|
const logger_1 = require("../../logger");
|
|
12
|
-
const node_2 = require("../../tracer/node");
|
|
13
13
|
const console_1 = require("../../logger/handler/console");
|
|
14
14
|
const sentry_1 = require("../../logger/handler/sentry");
|
|
15
|
-
const
|
|
15
|
+
const node_2 = require("../../error-tracker/node");
|
|
16
16
|
const logging_1 = require("../../http-server/middleware/logging");
|
|
17
|
-
const
|
|
17
|
+
const tracing_2 = require("../../http-server/middleware/tracing");
|
|
18
18
|
const metrics_1 = require("../../http-server/middleware/metrics");
|
|
19
|
-
const
|
|
19
|
+
const node_3 = require("../../metrics/node");
|
|
20
20
|
const exporter_jaeger_1 = require("@opentelemetry/exporter-jaeger");
|
|
21
21
|
const middleware_axios_1 = require("middleware-axios");
|
|
22
22
|
const express_1 = __importDefault(require("express"));
|
|
23
|
-
const
|
|
23
|
+
const node_4 = require("@sentry/node");
|
|
24
|
+
const sdk_trace_node_1 = require("@opentelemetry/sdk-trace-node");
|
|
25
|
+
const resources_1 = require("@opentelemetry/resources");
|
|
26
|
+
const semantic_conventions_1 = require("@opentelemetry/semantic-conventions");
|
|
27
|
+
const propagator_jaeger_1 = require("@opentelemetry/propagator-jaeger");
|
|
24
28
|
/**
|
|
25
29
|
* Возвращает preset с зависимостями по умолчанию для frontend-микросервисов на Node.js.
|
|
26
30
|
* @return Preset.
|
|
@@ -30,11 +34,13 @@ function PresetNode() {
|
|
|
30
34
|
[tokens_1.KnownToken.Config.source, node_1.createConfigSource],
|
|
31
35
|
[tokens_1.KnownToken.Config.base, exports.provideBaseConfig],
|
|
32
36
|
[tokens_1.KnownToken.logger, exports.provideLogger],
|
|
33
|
-
[tokens_1.KnownToken.tracer, exports.provideTracer],
|
|
37
|
+
[tokens_1.KnownToken.Tracing.tracer, exports.provideTracer],
|
|
38
|
+
[tokens_1.KnownToken.Tracing.spanExporter, exports.provideSpanExporter],
|
|
39
|
+
[tokens_1.KnownToken.Tracing.tracerProvider, exports.provideTracerProvider],
|
|
34
40
|
[tokens_1.KnownToken.Http.Client.factory, () => middleware_axios_1.create],
|
|
35
41
|
[tokens_1.KnownToken.Http.Server.factory, () => express_1.default],
|
|
36
42
|
[tokens_1.KnownToken.Http.Server.Defaults.middleware, exports.provideDefaultMiddleware],
|
|
37
|
-
[tokens_1.KnownToken.Metrics.httpApp,
|
|
43
|
+
[tokens_1.KnownToken.Metrics.httpApp, node_3.createMetricsHttpApp],
|
|
38
44
|
]);
|
|
39
45
|
}
|
|
40
46
|
exports.PresetNode = PresetNode;
|
|
@@ -46,7 +52,7 @@ exports.provideBaseConfig = provideBaseConfig;
|
|
|
46
52
|
const provideLogger = resolve => {
|
|
47
53
|
const source = resolve(tokens_1.KnownToken.Config.source);
|
|
48
54
|
const config = resolve(tokens_1.KnownToken.Config.base);
|
|
49
|
-
const sentry = (0,
|
|
55
|
+
const sentry = (0, node_2.createSentryLib)({
|
|
50
56
|
dsn: source.get('SENTRY_DSN'),
|
|
51
57
|
release: source.get('SENTRY_RELEASE'),
|
|
52
58
|
environment: source.get('SENTRY_ENVIRONMENT'),
|
|
@@ -58,22 +64,46 @@ const provideLogger = resolve => {
|
|
|
58
64
|
};
|
|
59
65
|
exports.provideLogger = provideLogger;
|
|
60
66
|
const provideTracer = resolve => {
|
|
67
|
+
const config = resolve(tokens_1.KnownToken.Config.base);
|
|
68
|
+
const provider = resolve(tokens_1.KnownToken.Tracing.tracerProvider);
|
|
69
|
+
return provider.getTracer(config.appName, config.appVersion);
|
|
70
|
+
};
|
|
71
|
+
exports.provideTracer = provideTracer;
|
|
72
|
+
const provideSpanExporter = resolve => {
|
|
61
73
|
const source = resolve(tokens_1.KnownToken.Config.source);
|
|
62
74
|
const exporter = new exporter_jaeger_1.JaegerExporter({
|
|
63
|
-
|
|
75
|
+
host: source.require('JAEGER_AGENT_HOST'),
|
|
76
|
+
port: parseInt(source.require('JAEGER_AGENT_PORT')) || undefined,
|
|
64
77
|
});
|
|
65
|
-
return
|
|
78
|
+
return exporter;
|
|
66
79
|
};
|
|
67
|
-
exports.
|
|
80
|
+
exports.provideSpanExporter = provideSpanExporter;
|
|
81
|
+
const provideTracerProvider = resolve => {
|
|
82
|
+
const config = resolve(tokens_1.KnownToken.Config.base);
|
|
83
|
+
const exporter = resolve(tokens_1.KnownToken.Tracing.spanExporter);
|
|
84
|
+
const provider = new sdk_trace_node_1.NodeTracerProvider({
|
|
85
|
+
resource: new resources_1.Resource({
|
|
86
|
+
[semantic_conventions_1.SemanticResourceAttributes.SERVICE_NAME]: config.appName,
|
|
87
|
+
[semantic_conventions_1.SemanticResourceAttributes.SERVICE_VERSION]: config.appVersion,
|
|
88
|
+
[semantic_conventions_1.SemanticResourceAttributes.DEPLOYMENT_ENVIRONMENT]: config.env,
|
|
89
|
+
}),
|
|
90
|
+
});
|
|
91
|
+
// @todo разобраться с as any
|
|
92
|
+
provider.addSpanProcessor(new tracing_1.BatchSpanProcessor(exporter));
|
|
93
|
+
provider.register({ propagator: new propagator_jaeger_1.JaegerPropagator() });
|
|
94
|
+
// @todo разобраться с as any
|
|
95
|
+
return provider;
|
|
96
|
+
};
|
|
97
|
+
exports.provideTracerProvider = provideTracerProvider;
|
|
68
98
|
const provideDefaultMiddleware = resolve => {
|
|
69
99
|
const config = resolve(tokens_1.KnownToken.Config.base);
|
|
70
100
|
const logger = resolve(tokens_1.KnownToken.logger);
|
|
71
|
-
const tracer = resolve(tokens_1.KnownToken.tracer);
|
|
72
|
-
const metrics = (0,
|
|
101
|
+
const tracer = resolve(tokens_1.KnownToken.Tracing.tracer);
|
|
102
|
+
const metrics = (0, node_3.createDefaultMetrics)();
|
|
73
103
|
return {
|
|
74
|
-
start: [
|
|
104
|
+
start: [node_4.Handlers.requestHandler()],
|
|
75
105
|
logging: [(0, logging_1.loggingMiddleware)(config, logger)],
|
|
76
|
-
tracing: [(0,
|
|
106
|
+
tracing: [(0, tracing_2.tracingMiddleware)(tracer)],
|
|
77
107
|
metrics: [
|
|
78
108
|
(0, metrics_1.responseMetricsMiddleware)(config, {
|
|
79
109
|
counter: metrics.requestCount,
|
|
@@ -83,7 +113,7 @@ const provideDefaultMiddleware = resolve => {
|
|
|
83
113
|
histogram: metrics.renderDuration,
|
|
84
114
|
}),
|
|
85
115
|
],
|
|
86
|
-
finish: [
|
|
116
|
+
finish: [node_4.Handlers.errorHandler()],
|
|
87
117
|
};
|
|
88
118
|
};
|
|
89
119
|
exports.provideDefaultMiddleware = provideDefaultMiddleware;
|
package/preset/node/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/preset/node/index.ts"],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/preset/node/index.ts"],"names":[],"mappings":"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"}
|
package/tokens.d.ts
CHANGED
|
@@ -5,8 +5,9 @@ import type { SagaRunner } from './saga-runner/types';
|
|
|
5
5
|
import type { Logger } from './logger/types';
|
|
6
6
|
import type { HttpClientFactory } from './http-client/types';
|
|
7
7
|
import type { BaseConfig } from './config/types';
|
|
8
|
-
import type { Tracer } from '
|
|
8
|
+
import type { Tracer } from '@opentelemetry/api';
|
|
9
9
|
import type { Cache } from './cache/types';
|
|
10
|
+
import type { BasicTracerProvider, SpanExporter } from '@opentelemetry/tracing';
|
|
10
11
|
export declare const KnownToken: {
|
|
11
12
|
readonly Config: {
|
|
12
13
|
readonly source: import("./container/types").Token<import("@humanwhocodes/env").Env>;
|
|
@@ -14,7 +15,11 @@ export declare const KnownToken: {
|
|
|
14
15
|
};
|
|
15
16
|
readonly cache: import("./container/types").Token<Cache>;
|
|
16
17
|
readonly logger: import("./container/types").Token<Logger>;
|
|
17
|
-
readonly
|
|
18
|
+
readonly Tracing: {
|
|
19
|
+
readonly tracer: import("./container/types").Token<Tracer>;
|
|
20
|
+
readonly spanExporter: import("./container/types").Token<SpanExporter>;
|
|
21
|
+
readonly tracerProvider: import("./container/types").Token<BasicTracerProvider>;
|
|
22
|
+
};
|
|
18
23
|
readonly Metrics: {
|
|
19
24
|
readonly httpApp: import("./container/types").Token<Application>;
|
|
20
25
|
};
|
package/tokens.js
CHANGED
|
@@ -13,7 +13,11 @@ exports.KnownToken = {
|
|
|
13
13
|
// logging
|
|
14
14
|
logger: (0, container_1.createToken)('logger'),
|
|
15
15
|
// tracing
|
|
16
|
-
|
|
16
|
+
Tracing: {
|
|
17
|
+
tracer: (0, container_1.createToken)('tracing.tracer'),
|
|
18
|
+
spanExporter: (0, container_1.createToken)('tracing.span-exporter'),
|
|
19
|
+
tracerProvider: (0, container_1.createToken)('tracing.tracer-provider'),
|
|
20
|
+
},
|
|
17
21
|
// metrics
|
|
18
22
|
Metrics: {
|
|
19
23
|
httpApp: (0, container_1.createToken)('metrics.http-app'),
|
package/tokens.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokens.js","sourceRoot":"","sources":["../src/tokens.ts"],"names":[],"mappings":";;;AAAA,2CAA0C;
|
|
1
|
+
{"version":3,"file":"tokens.js","sourceRoot":"","sources":["../src/tokens.ts"],"names":[],"mappings":";;;AAAA,2CAA0C;AAgB7B,QAAA,UAAU,GAAG;IACxB,SAAS;IACT,MAAM,EAAE;QACN,MAAM,EAAE,IAAA,uBAAW,EAAe,eAAe,CAAC;QAClD,IAAI,EAAE,IAAA,uBAAW,EAAa,aAAa,CAAC;KAC7C;IAED,QAAQ;IACR,KAAK,EAAE,IAAA,uBAAW,EAAQ,OAAO,CAAC;IAElC,UAAU;IACV,MAAM,EAAE,IAAA,uBAAW,EAAS,QAAQ,CAAC;IAErC,UAAU;IACV,OAAO,EAAE;QACP,MAAM,EAAE,IAAA,uBAAW,EAAS,gBAAgB,CAAC;QAC7C,YAAY,EAAE,IAAA,uBAAW,EAAe,uBAAuB,CAAC;QAChE,cAAc,EAAE,IAAA,uBAAW,EAAsB,yBAAyB,CAAC;KAC5E;IAED,UAAU;IACV,OAAO,EAAE;QACP,OAAO,EAAE,IAAA,uBAAW,EAAc,kBAAkB,CAAC;KACtD;IAED,OAAO;IACP,IAAI,EAAE;QACJ,MAAM,EAAE;YACN,OAAO,EAAE,IAAA,uBAAW,EAAoB,qBAAqB,CAAC;SAC/D;QACD,MAAM,EAAE;YACN,OAAO,EAAE,IAAA,uBAAW,EAAoB,qBAAqB,CAAC;YAC9D,QAAQ,EAAE;gBACR,UAAU,EAAE,IAAA,uBAAW,EAAoB,iCAAiC,CAAC;aAC9E;SACF;KACF;IAED,uBAAuB;IACvB,QAAQ,EAAE;QACR,QAAQ,EAAE,IAAA,uBAAW,EAAe,mBAAmB,CAAC;QACxD,OAAO,EAAE,IAAA,uBAAW,EAAkB,kBAAkB,CAAC;QACzD,MAAM,EAAE,IAAA,uBAAW,EAAa,iBAAiB,CAAC;QAClD,OAAO,EAAE,IAAA,uBAAW,EAA2C,kBAAkB,CAAC;QAClF,MAAM,EAAE,IAAA,uBAAW,EAAqD,iBAAiB,CAAC;QAC1F,IAAI,EAAE,IAAA,uBAAW,EAAa,eAAe,CAAC;QAC9C,UAAU,EAAE,IAAA,uBAAW,EAAa,sBAAsB,CAAC;KAC5D;CACO,CAAC"}
|
package/tracer/node.d.ts
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import type { Tracer } from './types';
|
|
2
|
-
import type { BaseConfig } from '../config/types';
|
|
3
|
-
import { SpanExporter } from '@opentelemetry/tracing';
|
|
4
|
-
/**
|
|
5
|
-
* Возвращает новый tracer - объект для трассировки стадий различных процессов.
|
|
6
|
-
* @param config Конфиг.
|
|
7
|
-
* @param exporter Экспортер данных трассировки.
|
|
8
|
-
* @return Tracer.
|
|
9
|
-
*/
|
|
10
|
-
export declare function createTracer(config: BaseConfig, exporter: SpanExporter): Tracer;
|
package/tracer/node.js
DELETED
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createTracer = void 0;
|
|
4
|
-
const sdk_trace_node_1 = require("@opentelemetry/sdk-trace-node");
|
|
5
|
-
const tracing_1 = require("@opentelemetry/tracing");
|
|
6
|
-
const semantic_conventions_1 = require("@opentelemetry/semantic-conventions");
|
|
7
|
-
const instrumentation_1 = require("@opentelemetry/instrumentation");
|
|
8
|
-
const instrumentation_express_1 = require("@opentelemetry/instrumentation-express");
|
|
9
|
-
const instrumentation_http_1 = require("@opentelemetry/instrumentation-http");
|
|
10
|
-
const resources_1 = require("@opentelemetry/resources");
|
|
11
|
-
const propagator_jaeger_1 = require("@opentelemetry/propagator-jaeger");
|
|
12
|
-
/**
|
|
13
|
-
* Возвращает новый tracer - объект для трассировки стадий различных процессов.
|
|
14
|
-
* @param config Конфиг.
|
|
15
|
-
* @param exporter Экспортер данных трассировки.
|
|
16
|
-
* @return Tracer.
|
|
17
|
-
*/
|
|
18
|
-
function createTracer(config, exporter) {
|
|
19
|
-
// @todo доделать по инструкции: https://selvaganesh93.medium.com/tracing-node-js-application-with-opentelemetry-jaeger-ui-9523c0ac8453
|
|
20
|
-
const provider = new sdk_trace_node_1.NodeTracerProvider({
|
|
21
|
-
resource: new resources_1.Resource({
|
|
22
|
-
[semantic_conventions_1.SemanticResourceAttributes.SERVICE_NAME]: config.appName,
|
|
23
|
-
[semantic_conventions_1.SemanticResourceAttributes.SERVICE_VERSION]: config.appVersion,
|
|
24
|
-
[semantic_conventions_1.SemanticResourceAttributes.DEPLOYMENT_ENVIRONMENT]: config.env,
|
|
25
|
-
}),
|
|
26
|
-
});
|
|
27
|
-
// @todo выяснить, почему не сходятся типы и приходится оставлять as any
|
|
28
|
-
provider.addSpanProcessor(new tracing_1.BatchSpanProcessor(exporter));
|
|
29
|
-
provider.register({
|
|
30
|
-
propagator: new propagator_jaeger_1.JaegerPropagator(),
|
|
31
|
-
});
|
|
32
|
-
(0, instrumentation_1.registerInstrumentations)({
|
|
33
|
-
instrumentations: [new instrumentation_express_1.ExpressInstrumentation(), new instrumentation_http_1.HttpInstrumentation()],
|
|
34
|
-
});
|
|
35
|
-
return provider.getTracer(config.appName, config.appVersion);
|
|
36
|
-
}
|
|
37
|
-
exports.createTracer = createTracer;
|
|
38
|
-
//# sourceMappingURL=node.js.map
|
package/tracer/node.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"node.js","sourceRoot":"","sources":["../../src/tracer/node.ts"],"names":[],"mappings":";;;AAEA,kEAAmE;AACnE,oDAA0E;AAC1E,8EAAiF;AACjF,oEAA0E;AAC1E,oFAAgF;AAChF,8EAA0E;AAC1E,wDAAoD;AACpD,wEAAoE;AAEpE;;;;;GAKG;AACH,SAAgB,YAAY,CAAC,MAAkB,EAAE,QAAsB;IACrE,uIAAuI;IACvI,MAAM,QAAQ,GAAG,IAAI,mCAAkB,CAAC;QACtC,QAAQ,EAAE,IAAI,oBAAQ,CAAC;YACrB,CAAC,iDAA0B,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC,OAAO;YACzD,CAAC,iDAA0B,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC,UAAU;YAC/D,CAAC,iDAA0B,CAAC,sBAAsB,CAAC,EAAE,MAAM,CAAC,GAAG;SAChE,CAAC;KACH,CAAC,CAAC;IAEH,wEAAwE;IACxE,QAAQ,CAAC,gBAAgB,CAAC,IAAI,4BAAkB,CAAC,QAAQ,CAAQ,CAAC,CAAC;IAEnE,QAAQ,CAAC,QAAQ,CAAC;QAChB,UAAU,EAAE,IAAI,oCAAgB,EAAE;KACnC,CAAC,CAAC;IAEH,IAAA,0CAAwB,EAAC;QACvB,gBAAgB,EAAE,CAAC,IAAI,gDAAsB,EAAE,EAAE,IAAI,0CAAmB,EAAE,CAAC;KAC5E,CAAC,CAAC;IAEH,OAAO,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;AAC/D,CAAC;AAtBD,oCAsBC"}
|
package/tracer/types.d.ts
DELETED
package/tracer/types.js
DELETED
package/tracer/types.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/tracer/types.ts"],"names":[],"mappings":""}
|