@oas-tools/oas-telemetry 0.7.0-alpha.5 → 0.7.1

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 (121) hide show
  1. package/.env.example +2 -0
  2. package/README.md +35 -17
  3. package/dist/cjs/config/bootConfig.cjs +3 -1
  4. package/dist/cjs/docs/openapi.yaml +1399 -0
  5. package/dist/cjs/index.cjs +1 -0
  6. package/dist/cjs/routesManager.cjs +1 -1
  7. package/dist/cjs/telemetry/custom-implementations/exporters/InMemoryDbLogExporter.cjs +43 -13
  8. package/dist/cjs/telemetry/custom-implementations/exporters/InMemoryDbMetricExporter.cjs +10 -2
  9. package/dist/cjs/telemetry/custom-implementations/exporters/InMemoryDbSpanExporter.cjs +21 -16
  10. package/dist/cjs/telemetry/initializeTelemetry.cjs +39 -15
  11. package/dist/cjs/telemetry/telemetryConfigurator.cjs +6 -9
  12. package/dist/cjs/telemetry/telemetryRegistry.cjs +11 -8
  13. package/dist/cjs/tlm-ai/agent.cjs +54 -84
  14. package/dist/cjs/tlm-ai/aiController.cjs +69 -47
  15. package/dist/cjs/tlm-ai/aiRoutes.cjs +10 -3
  16. package/dist/cjs/tlm-ai/aiService.cjs +109 -0
  17. package/dist/cjs/tlm-ai/tools.cjs +30 -268
  18. package/dist/cjs/tlm-auth/authController.cjs +9 -9
  19. package/dist/cjs/tlm-auth/authMiddleware.cjs +1 -1
  20. package/dist/cjs/tlm-log/logController.cjs +30 -36
  21. package/dist/cjs/tlm-log/logRoutes.cjs +3 -2
  22. package/dist/cjs/tlm-metric/metricsController.cjs +15 -8
  23. package/dist/cjs/tlm-metric/metricsRoutes.cjs +2 -1
  24. package/dist/cjs/tlm-plugin/pluginController.cjs +11 -1
  25. package/dist/cjs/tlm-plugin/pluginProcess.cjs +4 -2
  26. package/dist/cjs/tlm-plugin/pluginService.cjs +3 -0
  27. package/dist/cjs/tlm-trace/traceController.cjs +16 -9
  28. package/dist/cjs/tlm-trace/traceRoutes.cjs +2 -1
  29. package/dist/cjs/tlm-util/utilController.cjs +23 -2
  30. package/dist/cjs/tlm-util/utilRoutes.cjs +44 -5
  31. package/dist/cjs/utils/logger.cjs +35 -13
  32. package/dist/esm/config/bootConfig.js +2 -0
  33. package/dist/esm/docs/openapi.yaml +1399 -0
  34. package/dist/esm/index.js +1 -0
  35. package/dist/esm/routesManager.js +1 -1
  36. package/dist/esm/telemetry/custom-implementations/exporters/InMemoryDbLogExporter.js +32 -11
  37. package/dist/esm/telemetry/custom-implementations/exporters/InMemoryDbMetricExporter.js +10 -2
  38. package/dist/esm/telemetry/custom-implementations/exporters/InMemoryDbSpanExporter.js +20 -13
  39. package/dist/esm/telemetry/initializeTelemetry.js +22 -14
  40. package/dist/esm/telemetry/telemetryConfigurator.js +7 -10
  41. package/dist/esm/telemetry/telemetryRegistry.js +10 -7
  42. package/dist/esm/tlm-ai/agent.js +37 -78
  43. package/dist/esm/tlm-ai/aiController.js +56 -39
  44. package/dist/esm/tlm-ai/aiRoutes.js +11 -4
  45. package/dist/esm/tlm-ai/aiService.js +94 -0
  46. package/dist/esm/tlm-ai/tools.js +29 -255
  47. package/dist/esm/tlm-auth/authController.js +8 -8
  48. package/dist/esm/tlm-auth/authMiddleware.js +1 -1
  49. package/dist/esm/tlm-log/logController.js +26 -28
  50. package/dist/esm/tlm-log/logRoutes.js +4 -3
  51. package/dist/esm/tlm-metric/metricsController.js +10 -6
  52. package/dist/esm/tlm-metric/metricsRoutes.js +3 -2
  53. package/dist/esm/tlm-plugin/pluginController.js +2 -1
  54. package/dist/esm/tlm-plugin/pluginProcess.js +4 -2
  55. package/dist/esm/tlm-plugin/pluginService.js +4 -0
  56. package/dist/esm/tlm-trace/traceController.js +11 -7
  57. package/dist/esm/tlm-trace/traceRoutes.js +3 -2
  58. package/dist/esm/tlm-util/utilController.js +22 -0
  59. package/dist/esm/tlm-util/utilRoutes.js +40 -5
  60. package/dist/esm/utils/logger.js +35 -12
  61. package/dist/types/config/bootConfig.d.ts +1 -0
  62. package/dist/types/index.d.ts +2 -1
  63. package/dist/types/telemetry/custom-implementations/exporters/InMemoryDbLogExporter.d.ts +7 -1
  64. package/dist/types/telemetry/custom-implementations/exporters/InMemoryDbMetricExporter.d.ts +1 -0
  65. package/dist/types/telemetry/custom-implementations/exporters/InMemoryDbSpanExporter.d.ts +1 -0
  66. package/dist/types/telemetry/telemetryRegistry.d.ts +22 -6
  67. package/dist/types/tlm-ai/agent.d.ts +2 -2
  68. package/dist/types/tlm-ai/aiController.d.ts +5 -4
  69. package/dist/types/tlm-ai/aiRoutes.d.ts +1 -1
  70. package/dist/types/tlm-ai/aiService.d.ts +38 -0
  71. package/dist/types/tlm-ai/tools.d.ts +5 -14
  72. package/dist/types/tlm-log/logController.d.ts +2 -2
  73. package/dist/types/tlm-metric/metricsController.d.ts +2 -1
  74. package/dist/types/tlm-plugin/pluginService.d.ts +2 -0
  75. package/dist/types/tlm-trace/traceController.d.ts +2 -1
  76. package/dist/types/tlm-util/utilController.d.ts +1 -0
  77. package/dist/types/utils/logger.d.ts +5 -5
  78. package/dist/ui/assets/ApiDocsPage-C_VVPPHa.js +16 -0
  79. package/dist/ui/assets/CollapsibleCard-B3KR_8mL.js +1 -0
  80. package/dist/ui/assets/DevToolsPage-OyZcDcmw.js +1 -0
  81. package/dist/ui/assets/LandingPage-CppFBA6K.js +6 -0
  82. package/dist/ui/assets/LogsPage-9Fq8GArS.js +26 -0
  83. package/dist/ui/assets/NotFoundPage-B3quk3P1.js +1 -0
  84. package/dist/ui/assets/PluginCreatePage-X_aCH4t4.js +50 -0
  85. package/dist/ui/assets/PluginPage-DMDSihrZ.js +27 -0
  86. package/dist/ui/assets/alert-jQ9HCPIf.js +1133 -0
  87. package/dist/ui/assets/badge-CNq0-mH5.js +1 -0
  88. package/dist/ui/assets/card-DFAwwhN3.js +1 -0
  89. package/dist/ui/assets/chevron-down-CPsvsmqj.js +6 -0
  90. package/dist/ui/assets/chevron-up-Df9jMo1X.js +6 -0
  91. package/dist/ui/assets/circle-alert-DOPQPvU8.js +6 -0
  92. package/dist/ui/assets/index-BkD6DijD.js +15 -0
  93. package/dist/ui/assets/index-CERGVYZK.js +292 -0
  94. package/dist/ui/assets/index-CSIPf9qw.css +1 -0
  95. package/dist/ui/assets/input-Dzvg_ZEZ.js +1 -0
  96. package/dist/ui/assets/label-DuVnkZ4q.js +1 -0
  97. package/dist/ui/assets/loader-circle-CrvlRy5o.js +6 -0
  98. package/dist/ui/assets/loginPage-qa4V-B70.js +6 -0
  99. package/dist/ui/assets/select-DhS8YUtJ.js +1 -0
  100. package/dist/ui/assets/separator-isK4chBP.js +6 -0
  101. package/dist/ui/assets/severityOptions-O38dSOfk.js +11 -0
  102. package/dist/ui/assets/switch-Z3mImG9n.js +1 -0
  103. package/dist/ui/assets/tabs-_77MUUQe.js +16 -0
  104. package/dist/ui/assets/upload-C1LT4Gkb.js +16 -0
  105. package/dist/ui/assets/utilService-DNyqzwj0.js +1 -0
  106. package/dist/ui/index.html +2 -2
  107. package/package.json +24 -14
  108. package/dist/cjs/telemetry/custom-implementations/exporters/PluginLogExporter.cjs +0 -45
  109. package/dist/cjs/telemetry/custom-implementations/exporters/PluginMetricExporter.cjs +0 -46
  110. package/dist/cjs/telemetry/custom-implementations/exporters/PluginSpanExporter.cjs +0 -61
  111. package/dist/cjs/tlm-ai/knownMicroservices.cjs +0 -13
  112. package/dist/esm/telemetry/custom-implementations/exporters/PluginLogExporter.js +0 -36
  113. package/dist/esm/telemetry/custom-implementations/exporters/PluginMetricExporter.js +0 -35
  114. package/dist/esm/telemetry/custom-implementations/exporters/PluginSpanExporter.js +0 -52
  115. package/dist/esm/tlm-ai/knownMicroservices.js +0 -5
  116. package/dist/types/telemetry/custom-implementations/exporters/PluginLogExporter.d.ts +0 -8
  117. package/dist/types/telemetry/custom-implementations/exporters/PluginMetricExporter.d.ts +0 -12
  118. package/dist/types/telemetry/custom-implementations/exporters/PluginSpanExporter.d.ts +0 -14
  119. package/dist/types/tlm-ai/knownMicroservices.d.ts +0 -6
  120. package/dist/ui/assets/index-Bgd7fFFH.js +0 -1743
  121. package/dist/ui/assets/index-Cz3N1n1Q.css +0 -1
@@ -1,61 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.PluginSpanExporter = void 0;
7
- var _core = require("@opentelemetry/core");
8
- var _logger = _interopRequireDefault(require("../../../utils/logger.cjs"));
9
- var _wrappers = require("../wrappers.cjs");
10
- var _pluginService = require("../../../tlm-plugin/pluginService.cjs");
11
- var _circular = require("../utils/circular.cjs");
12
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
13
- class PluginSpanExporter extends _wrappers.Enabler {
14
- constructor() {
15
- super();
16
- this._baseUrl = '/telemetry'; // Default base URL, can be overridden by the config
17
- }
18
- set baseUrl(baseUrl) {
19
- this._baseUrl = baseUrl;
20
- }
21
- export(readableSpans, resultCallback) {
22
- _logger.default.debug('PluginSpanExporter.export called with spans: ', readableSpans.length);
23
- try {
24
- if (!this.isEnabled()) {
25
- _logger.default.debug('PluginSpanExporter is not enabled. Skipping export.');
26
- return resultCallback({
27
- code: _core.ExportResultCode.SUCCESS
28
- });
29
- }
30
- // Prepare spans to be inserted into the in-memory database (remove circular references and convert to nested objects)
31
- const cleanSpans = readableSpans.map(nestedSpan => (0, _circular.removeCircularRefs)(nestedSpan)) // to avoid JSON parsing error
32
- .map(span => (0, _circular.applyNesting)(span)) // to avoid dot notation in keys (neDB does not support dot notation in keys)
33
- .filter(span => {
34
- const target = span?.attributes?.http?.target; // Exclude spans where target includes 'telemetry' but NOT 'telemetry/utils'
35
- if (target && target.includes(this._baseUrl)) {
36
- return target.includes(this._baseUrl + '/utils');
37
- }
38
- return true;
39
- });
40
- cleanSpans.forEach(span => {
41
- _pluginService.pluginService.broadcastTrace(span);
42
- });
43
- setTimeout(() => resultCallback({
44
- code: _core.ExportResultCode.SUCCESS
45
- }), 0);
46
- } catch (error) {
47
- _logger.default.error('Error exporting spans\n' + error.message + '\n' + error.stack);
48
- return resultCallback({
49
- code: _core.ExportResultCode.FAILED,
50
- error: new Error('Error exporting spans\n' + error.message + '\n' + error.stack)
51
- });
52
- }
53
- }
54
- shutdown() {
55
- return this.forceFlush();
56
- }
57
- forceFlush() {
58
- return Promise.resolve();
59
- }
60
- }
61
- exports.PluginSpanExporter = PluginSpanExporter;
@@ -1,13 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.setKnownMicroservices = exports.getKnownMicroservices = void 0;
7
- let knownMicroservices = null;
8
- const getKnownMicroservices = () => knownMicroservices || [];
9
- exports.getKnownMicroservices = getKnownMicroservices;
10
- const setKnownMicroservices = microservices => {
11
- knownMicroservices = microservices;
12
- };
13
- exports.setKnownMicroservices = setKnownMicroservices;
@@ -1,36 +0,0 @@
1
- import { ExportResultCode } from '@opentelemetry/core';
2
- import logger from '../../../utils/logger.js';
3
- import { Enabler } from '../wrappers.js';
4
- import { pluginService } from '../../../tlm-plugin/pluginService.js';
5
- import { applyNesting, removeCircularRefs } from '../utils/circular.js';
6
- export class PluginLogExporter extends Enabler {
7
- constructor() {
8
- super();
9
- }
10
- export(logs, resultCallback) {
11
- logger.debug('PluginLogExporter.export called with logs: ', logs.length);
12
- try {
13
- if (!this.isEnabled()) {
14
- logger.debug('PluginLogExporter is not enabled. Skipping export.');
15
- return resultCallback({ code: ExportResultCode.SUCCESS });
16
- }
17
- const cleanLogs = logs
18
- .map(log => removeCircularRefs(log))
19
- .map(log => applyNesting(log));
20
- cleanLogs.forEach(log => {
21
- pluginService.broadcastLog(log);
22
- });
23
- setTimeout(() => resultCallback({ code: ExportResultCode.SUCCESS }), 0);
24
- }
25
- catch (error) {
26
- logger.error('Error exporting logs\n' + error.message + '\n' + error.stack);
27
- return resultCallback({
28
- code: ExportResultCode.FAILED,
29
- error: new Error('Error exporting logs\n' + error.message + '\n' + error.stack),
30
- });
31
- }
32
- }
33
- shutdown() {
34
- return Promise.resolve();
35
- }
36
- }
@@ -1,35 +0,0 @@
1
- import { ExportResultCode } from '@opentelemetry/core';
2
- import logger from '../../../utils/logger.js';
3
- import { Enabler } from '../wrappers.js';
4
- import { pluginService } from '../../../tlm-plugin/pluginService.js';
5
- import { applyNesting, removeCircularRefs } from '../utils/circular.js';
6
- export class PluginMetricExporter extends Enabler {
7
- constructor() {
8
- super();
9
- }
10
- export(metrics, resultCallback) {
11
- logger.debug('PluginMetricExporter.export called');
12
- try {
13
- if (!this.isEnabled()) {
14
- logger.debug('PluginMetricExporter is not enabled. Skipping export.');
15
- return resultCallback({ code: ExportResultCode.SUCCESS });
16
- }
17
- const cleanMetrics = applyNesting(removeCircularRefs(metrics));
18
- pluginService.broadcastMetric(cleanMetrics);
19
- setTimeout(() => resultCallback({ code: ExportResultCode.SUCCESS }), 0);
20
- }
21
- catch (error) {
22
- logger.error('Error exporting metrics\n' + error.message + '\n' + error.stack);
23
- return resultCallback({
24
- code: ExportResultCode.FAILED,
25
- error: new Error('Error exporting metrics\n' + error.message + '\n' + error.stack),
26
- });
27
- }
28
- }
29
- shutdown() {
30
- return Promise.resolve();
31
- }
32
- forceFlush() {
33
- return Promise.resolve();
34
- }
35
- }
@@ -1,52 +0,0 @@
1
- import { ExportResultCode } from '@opentelemetry/core';
2
- import logger from '../../../utils/logger.js';
3
- import { Enabler } from '../wrappers.js';
4
- import { pluginService } from '../../../tlm-plugin/pluginService.js';
5
- import { applyNesting, removeCircularRefs } from '../utils/circular.js';
6
- export class PluginSpanExporter extends Enabler {
7
- constructor() {
8
- super();
9
- this._baseUrl = '/telemetry'; // Default base URL, can be overridden by the config
10
- }
11
- ;
12
- set baseUrl(baseUrl) {
13
- this._baseUrl = baseUrl;
14
- }
15
- export(readableSpans, resultCallback) {
16
- logger.debug('PluginSpanExporter.export called with spans: ', readableSpans.length);
17
- try {
18
- if (!this.isEnabled()) {
19
- logger.debug('PluginSpanExporter is not enabled. Skipping export.');
20
- return resultCallback({ code: ExportResultCode.SUCCESS });
21
- }
22
- // Prepare spans to be inserted into the in-memory database (remove circular references and convert to nested objects)
23
- const cleanSpans = readableSpans
24
- .map(nestedSpan => removeCircularRefs(nestedSpan)) // to avoid JSON parsing error
25
- .map(span => applyNesting(span)) // to avoid dot notation in keys (neDB does not support dot notation in keys)
26
- .filter(span => {
27
- const target = span?.attributes?.http?.target; // Exclude spans where target includes 'telemetry' but NOT 'telemetry/utils'
28
- if (target && target.includes(this._baseUrl)) {
29
- return target.includes(this._baseUrl + '/utils');
30
- }
31
- return true;
32
- });
33
- cleanSpans.forEach(span => {
34
- pluginService.broadcastTrace(span);
35
- });
36
- setTimeout(() => resultCallback({ code: ExportResultCode.SUCCESS }), 0);
37
- }
38
- catch (error) {
39
- logger.error('Error exporting spans\n' + error.message + '\n' + error.stack);
40
- return resultCallback({
41
- code: ExportResultCode.FAILED,
42
- error: new Error('Error exporting spans\n' + error.message + '\n' + error.stack),
43
- });
44
- }
45
- }
46
- shutdown() {
47
- return this.forceFlush();
48
- }
49
- forceFlush() {
50
- return Promise.resolve();
51
- }
52
- }
@@ -1,5 +0,0 @@
1
- let knownMicroservices = null;
2
- export const getKnownMicroservices = () => knownMicroservices || [];
3
- export const setKnownMicroservices = (microservices) => {
4
- knownMicroservices = microservices;
5
- };
@@ -1,8 +0,0 @@
1
- import { ExportResult } from '@opentelemetry/core';
2
- import { ReadableLogRecord, LogRecordExporter } from '@opentelemetry/sdk-logs';
3
- import { Enabler } from '../wrappers.js';
4
- export declare class PluginLogExporter extends Enabler implements LogRecordExporter {
5
- constructor();
6
- export(logs: ReadableLogRecord[], resultCallback: (result: ExportResult) => void): void;
7
- shutdown(): Promise<void>;
8
- }
@@ -1,12 +0,0 @@
1
- import { ExportResultCode } from '@opentelemetry/core';
2
- import { ResourceMetrics, PushMetricExporter } from '@opentelemetry/sdk-metrics';
3
- import { Enabler } from '../wrappers.js';
4
- export declare class PluginMetricExporter extends Enabler implements PushMetricExporter {
5
- constructor();
6
- export(metrics: ResourceMetrics, resultCallback: (result: {
7
- code: ExportResultCode;
8
- error?: Error;
9
- }) => void): void;
10
- shutdown(): Promise<void>;
11
- forceFlush(): Promise<void>;
12
- }
@@ -1,14 +0,0 @@
1
- import { ExportResultCode } from '@opentelemetry/core';
2
- import { ReadableSpan, SpanExporter } from '@opentelemetry/sdk-trace-base';
3
- import { Enabler } from '../wrappers.js';
4
- export declare class PluginSpanExporter extends Enabler implements SpanExporter {
5
- private _baseUrl;
6
- constructor();
7
- set baseUrl(baseUrl: string);
8
- export(readableSpans: ReadableSpan[], resultCallback: (result: {
9
- code: ExportResultCode;
10
- error?: Error;
11
- }) => void): void;
12
- shutdown(): Promise<void>;
13
- forceFlush(): Promise<void>;
14
- }
@@ -1,6 +0,0 @@
1
- export interface KnownMicroservice {
2
- id: string;
3
- url: string;
4
- }
5
- export declare const getKnownMicroservices: () => KnownMicroservice[];
6
- export declare const setKnownMicroservices: (microservices: KnownMicroservice[]) => void;