@oas-tools/oas-telemetry 0.7.0-alpha.2 → 0.7.0-alpha.4

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 (158) hide show
  1. package/.env.example +50 -17
  2. package/README.md +244 -239
  3. package/dist/cjs/config/bootConfig.cjs +18 -0
  4. package/dist/cjs/config/config.cjs +145 -0
  5. package/dist/cjs/config/config.types.cjs +5 -0
  6. package/dist/cjs/index.cjs +19 -25
  7. package/dist/cjs/{tlmRoutes.cjs → routesManager.cjs} +28 -21
  8. package/dist/cjs/{exporters/InMemoryLogRecordExporter.cjs → telemetry/custom-implementations/exporters/InMemoryDbLogExporter.cjs} +42 -19
  9. package/dist/cjs/telemetry/custom-implementations/exporters/InMemoryDbMetricExporter.cjs +97 -0
  10. package/dist/cjs/telemetry/custom-implementations/exporters/InMemoryDbSpanExporter.cjs +118 -0
  11. package/dist/cjs/telemetry/custom-implementations/exporters/PluginLogExporter.cjs +45 -0
  12. package/dist/cjs/telemetry/custom-implementations/exporters/PluginMetricExporter.cjs +46 -0
  13. package/dist/cjs/telemetry/custom-implementations/exporters/PluginSpanExporter.cjs +61 -0
  14. package/dist/cjs/telemetry/custom-implementations/processors/dynamicMultiLogProcessor.cjs +70 -0
  15. package/dist/cjs/telemetry/custom-implementations/processors/dynamicMultiSpanProcessor.cjs +70 -0
  16. package/dist/cjs/{utils → telemetry/custom-implementations/utils}/circular.cjs +39 -49
  17. package/dist/cjs/telemetry/custom-implementations/wrappers.cjs +175 -0
  18. package/dist/cjs/telemetry/initializeTelemetry.cjs +74 -0
  19. package/dist/cjs/telemetry/telemetryConfigurator.cjs +84 -0
  20. package/dist/cjs/telemetry/telemetryRegistry.cjs +40 -0
  21. package/dist/cjs/tlm-ai/agent.cjs +82 -63
  22. package/dist/cjs/tlm-ai/aiController.cjs +5 -4
  23. package/dist/cjs/tlm-ai/aiRoutes.cjs +9 -6
  24. package/dist/cjs/tlm-ai/tools.cjs +16 -9
  25. package/dist/cjs/tlm-auth/authController.cjs +14 -15
  26. package/dist/cjs/tlm-auth/authMiddleware.cjs +11 -10
  27. package/dist/cjs/tlm-auth/authRoutes.cjs +9 -7
  28. package/dist/cjs/tlm-log/logController.cjs +45 -18
  29. package/dist/cjs/tlm-log/logRoutes.cjs +16 -11
  30. package/dist/cjs/tlm-metric/metricsController.cjs +37 -12
  31. package/dist/cjs/tlm-metric/metricsRoutes.cjs +16 -11
  32. package/dist/cjs/tlm-plugin/pluginController.cjs +114 -75
  33. package/dist/cjs/tlm-plugin/pluginProcess.cjs +108 -0
  34. package/dist/cjs/tlm-plugin/pluginRoutes.cjs +11 -6
  35. package/dist/cjs/tlm-plugin/pluginService.cjs +79 -0
  36. package/dist/cjs/tlm-trace/traceController.cjs +54 -45
  37. package/dist/cjs/tlm-trace/traceRoutes.cjs +16 -11
  38. package/dist/cjs/tlm-ui/uiRoutes.cjs +26 -20
  39. package/dist/cjs/tlm-util/utilController.cjs +8 -9
  40. package/dist/cjs/tlm-util/utilRoutes.cjs +22 -19
  41. package/dist/cjs/types/index.cjs +0 -1
  42. package/dist/cjs/utils/logger.cjs +3 -5
  43. package/dist/cjs/utils/regexUtils.cjs +27 -0
  44. package/dist/esm/config/bootConfig.js +11 -0
  45. package/dist/esm/config/config.js +126 -0
  46. package/dist/esm/index.js +18 -29
  47. package/dist/esm/{tlmRoutes.js → routesManager.js} +27 -22
  48. package/dist/esm/{exporters/InMemoryLogRecordExporter.js → telemetry/custom-implementations/exporters/InMemoryDbLogExporter.js} +31 -17
  49. package/dist/esm/{exporters/InMemoryDBMetricsExporter.js → telemetry/custom-implementations/exporters/InMemoryDbMetricExporter.js} +31 -17
  50. package/dist/esm/telemetry/custom-implementations/exporters/InMemoryDbSpanExporter.js +105 -0
  51. package/dist/esm/telemetry/custom-implementations/exporters/PluginLogExporter.js +36 -0
  52. package/dist/esm/telemetry/custom-implementations/exporters/PluginMetricExporter.js +35 -0
  53. package/dist/esm/telemetry/custom-implementations/exporters/PluginSpanExporter.js +52 -0
  54. package/dist/esm/telemetry/custom-implementations/processors/dynamicMultiLogProcessor.js +64 -0
  55. package/dist/esm/telemetry/custom-implementations/processors/dynamicMultiSpanProcessor.js +64 -0
  56. package/dist/esm/telemetry/custom-implementations/utils/circular.js +76 -0
  57. package/dist/esm/telemetry/custom-implementations/wrappers.js +163 -0
  58. package/dist/esm/telemetry/initializeTelemetry.js +71 -0
  59. package/dist/esm/telemetry/telemetryConfigurator.js +74 -0
  60. package/dist/esm/telemetry/telemetryRegistry.js +34 -0
  61. package/dist/esm/tlm-ai/agent.js +77 -59
  62. package/dist/esm/tlm-ai/aiController.js +5 -4
  63. package/dist/esm/tlm-ai/aiRoutes.js +7 -5
  64. package/dist/esm/tlm-ai/tools.js +18 -9
  65. package/dist/esm/tlm-auth/authController.js +9 -10
  66. package/dist/esm/tlm-auth/authMiddleware.js +10 -9
  67. package/dist/esm/tlm-auth/authRoutes.js +8 -6
  68. package/dist/esm/tlm-log/logController.js +36 -16
  69. package/dist/esm/tlm-log/logRoutes.js +15 -11
  70. package/dist/esm/tlm-metric/metricsController.js +29 -10
  71. package/dist/esm/tlm-metric/metricsRoutes.js +15 -11
  72. package/dist/esm/tlm-plugin/pluginController.js +112 -77
  73. package/dist/esm/tlm-plugin/pluginProcess.js +101 -0
  74. package/dist/esm/tlm-plugin/pluginRoutes.js +10 -6
  75. package/dist/esm/tlm-plugin/pluginService.js +73 -0
  76. package/dist/esm/tlm-trace/traceController.js +40 -35
  77. package/dist/esm/tlm-trace/traceRoutes.js +15 -11
  78. package/dist/esm/tlm-ui/uiRoutes.js +24 -19
  79. package/dist/esm/tlm-util/utilController.js +8 -9
  80. package/dist/esm/tlm-util/utilRoutes.js +17 -15
  81. package/dist/esm/types/index.js +0 -1
  82. package/dist/esm/utils/logger.js +3 -4
  83. package/dist/esm/utils/regexUtils.js +23 -0
  84. package/dist/types/config/bootConfig.d.ts +5 -0
  85. package/dist/types/config/config.d.ts +858 -0
  86. package/dist/types/config/config.types.d.ts +34 -0
  87. package/dist/types/index.d.ts +5 -4
  88. package/dist/types/routesManager.d.ts +3 -0
  89. package/dist/types/{exporters/InMemoryLogRecordExporter.d.ts → telemetry/custom-implementations/exporters/InMemoryDbLogExporter.d.ts} +6 -6
  90. package/dist/types/{exporters/InMemoryDBMetricsExporter.d.ts → telemetry/custom-implementations/exporters/InMemoryDbMetricExporter.d.ts} +7 -7
  91. package/dist/types/{exporters/InMemoryDbExporter.d.ts → telemetry/custom-implementations/exporters/InMemoryDbSpanExporter.d.ts} +9 -9
  92. package/dist/types/telemetry/custom-implementations/exporters/PluginLogExporter.d.ts +8 -0
  93. package/dist/types/telemetry/custom-implementations/exporters/PluginMetricExporter.d.ts +12 -0
  94. package/dist/types/telemetry/custom-implementations/exporters/PluginSpanExporter.d.ts +14 -0
  95. package/dist/types/telemetry/custom-implementations/processors/dynamicMultiLogProcessor.d.ts +32 -0
  96. package/dist/types/telemetry/custom-implementations/processors/dynamicMultiSpanProcessor.d.ts +34 -0
  97. package/dist/types/telemetry/custom-implementations/utils/circular.d.ts +27 -0
  98. package/dist/types/telemetry/custom-implementations/wrappers.d.ts +52 -0
  99. package/dist/types/telemetry/initializeTelemetry.d.ts +1 -0
  100. package/dist/types/telemetry/telemetryConfigurator.d.ts +2 -0
  101. package/dist/types/telemetry/telemetryRegistry.d.ts +20 -0
  102. package/dist/types/tlm-ai/agent.d.ts +2 -1
  103. package/dist/types/tlm-ai/aiController.d.ts +4 -3
  104. package/dist/types/tlm-ai/aiRoutes.d.ts +2 -2
  105. package/dist/types/tlm-ai/tools.d.ts +3 -1
  106. package/dist/types/tlm-auth/authController.d.ts +4 -3
  107. package/dist/types/tlm-auth/authMiddleware.d.ts +2 -1
  108. package/dist/types/tlm-auth/authRoutes.d.ts +2 -2
  109. package/dist/types/tlm-log/logController.d.ts +1 -0
  110. package/dist/types/tlm-log/logRoutes.d.ts +2 -2
  111. package/dist/types/tlm-metric/metricsController.d.ts +1 -0
  112. package/dist/types/tlm-metric/metricsRoutes.d.ts +2 -2
  113. package/dist/types/tlm-plugin/pluginController.d.ts +4 -1
  114. package/dist/types/tlm-plugin/pluginProcess.d.ts +1 -0
  115. package/dist/types/tlm-plugin/pluginRoutes.d.ts +1 -2
  116. package/dist/types/tlm-plugin/pluginService.d.ts +24 -0
  117. package/dist/types/tlm-trace/traceController.d.ts +7 -6
  118. package/dist/types/tlm-trace/traceRoutes.d.ts +2 -2
  119. package/dist/types/tlm-ui/uiRoutes.d.ts +1 -2
  120. package/dist/types/tlm-util/utilController.d.ts +2 -1
  121. package/dist/types/tlm-util/utilRoutes.d.ts +2 -2
  122. package/dist/types/types/index.d.ts +17 -47
  123. package/dist/types/utils/regexUtils.d.ts +1 -0
  124. package/dist/ui/assets/index-BzIdRox6.js +1733 -0
  125. package/dist/ui/assets/index-CkoHzrrt.css +1 -0
  126. package/dist/ui/index.html +3 -3
  127. package/dist/ui/oas-tlm.svg +185 -0
  128. package/package.json +12 -7
  129. package/dist/cjs/config.cjs +0 -31
  130. package/dist/cjs/exporters/InMemoryDBMetricsExporter.cjs +0 -74
  131. package/dist/cjs/exporters/InMemoryDbExporter.cjs +0 -102
  132. package/dist/cjs/exporters/consoleExporter.cjs +0 -47
  133. package/dist/cjs/exporters/dynamicExporter.cjs +0 -57
  134. package/dist/cjs/instrumentation/index.cjs +0 -28
  135. package/dist/cjs/instrumentation/logs.cjs +0 -46
  136. package/dist/cjs/instrumentation/metrics.cjs +0 -27
  137. package/dist/cjs/instrumentation/traces.cjs +0 -19
  138. package/dist/esm/config.js +0 -20
  139. package/dist/esm/exporters/InMemoryDbExporter.js +0 -102
  140. package/dist/esm/exporters/consoleExporter.js +0 -38
  141. package/dist/esm/exporters/dynamicExporter.js +0 -50
  142. package/dist/esm/instrumentation/index.js +0 -26
  143. package/dist/esm/instrumentation/logs.js +0 -34
  144. package/dist/esm/instrumentation/metrics.js +0 -18
  145. package/dist/esm/instrumentation/traces.js +0 -12
  146. package/dist/esm/utils/circular.js +0 -84
  147. package/dist/types/config.d.ts +0 -6
  148. package/dist/types/exporters/consoleExporter.d.ts +0 -13
  149. package/dist/types/exporters/dynamicExporter.d.ts +0 -25
  150. package/dist/types/instrumentation/logs.d.ts +0 -1
  151. package/dist/types/instrumentation/metrics.d.ts +0 -1
  152. package/dist/types/instrumentation/traces.d.ts +0 -1
  153. package/dist/types/tlmRoutes.d.ts +0 -2
  154. package/dist/types/utils/circular.d.ts +0 -31
  155. package/dist/ui/assets/index-BNhZBPi2.css +0 -1
  156. package/dist/ui/assets/index-DxGAMrAl.js +0 -401
  157. package/dist/ui/vite.svg +0 -1
  158. /package/dist/{types/instrumentation/index.d.ts → esm/config/config.types.js} +0 -0
package/.env.example CHANGED
@@ -1,26 +1,59 @@
1
- # All environment variables are OPTIONAL, defaults are provided below
1
+ # All environment variables are OPTIONAL
2
2
 
3
-
4
- # DEVELOPMENT ----------------------------------------------------------
5
- # This is JUST for development purposes, to test the react app
3
+ # BOOT CONFIGURATION ---------------------------------------------------
4
+ # These variables are used at the import of the library.
6
5
  # ----------------------------------------------------------------------
7
6
 
8
- # production, development
9
- OASTLM_ENV=production
7
+ # Environment mode | Possible values: "production", "development", "test" | Default: "production"
8
+ OASTLM_BOOT_ENV=
9
+ # Disable the module | Possible values: "true", "false" | Default: "false"
10
+ OASTLM_BOOT_MODULE_DISABLED=
11
+ # Logging level for the boot process | Possible values: "DEBUG", "INFO", "WARNING", "ERROR", "NONE" | Default: "INFO"
12
+ OASTLM_BOOT_LOG_LEVEL=
10
13
 
11
14
 
12
- # PRODUCTION -----------------------------------------------------------
13
- # This variables can be configured in the .env file of the project importing our library
15
+ # CONFIGURATION --------------------------------------------------------
16
+ # These variables are used to override the configuration when oasTelemetry(config) is called.
14
17
  # ----------------------------------------------------------------------
15
18
 
16
- # Disable the module, no Telemetry collected, empty middleware exported
17
- OASTLM_MODULE_DISABLED=false
19
+ # Base URL for telemetry | Default: "/telemetry"
20
+ OASTLM_CONFIG_GENERAL_BASE_URL=
21
+ # Specification file name | Default: null
22
+ OASTLM_CONFIG_GENERAL_SPEC_FILE_NAME=
23
+
24
+
25
+ # Enable authentication | Possible values: "true", "false" | Default: "false"
26
+ OASTLM_CONFIG_AUTH_ENABLED=
27
+ # Maximum age for API keys (ms) | Default: 3600000 (1 hour)
28
+ OASTLM_CONFIG_AUTH_API_KEY_MAX_AGE=
29
+ # Password for authentication | Default: "oas-telemetry-password"
30
+ OASTLM_CONFIG_AUTH_PASSWORD=
31
+ # JWT secret for authentication | Default: "oas-telemetry-secret"
32
+ OASTLM_CONFIG_AUTH_JWT_SECRET=
33
+
34
+
35
+ # Enable memory exporter for traces | Possible values: "true", "false" | Default: "true"
36
+ OASTLM_CONFIG_TRACES_MEMORY_EXPORTER_ENABLED=
37
+ # Retention time for memory exporter (s) | Default: 3600 (1 hour)
38
+ OASTLM_CONFIG_TRACES_MEMORY_EXPORTER_RETENTION_TIME_SECONDS=
39
+
40
+
41
+ # Export interval for main metric reader (ms) | Default: 60000 (60 seconds)
42
+ OASTLM_CONFIG_METRICS_MAIN_READER_EXPORT_INTERVAL=
43
+ # Enable memory exporter for metrics | Possible values: "true", "false" | Default: "true"
44
+ OASTLM_CONFIG_METRICS_MEMORY_EXPORTER_ENABLED=
45
+ # Retention time for memory exporter (s) | Default: 3600 (1 hour)
46
+ OASTLM_CONFIG_METRICS_MEMORY_EXPORTER_RETENTION_TIME_SECONDS=
47
+
18
48
 
19
- OASTLM_AI_OPENAI_API_KEY=
20
- OASTLM_AI_OPENAI_MODEL_NAME=gpt-4o-mini
49
+ # Enable memory exporter for logs | Possible values: "true", "false" | Default: "true"
50
+ OASTLM_CONFIG_LOGS_MEMORY_EXPORTER_ENABLED=
51
+ # Retention time for memory exporter (s) | Default: 3600 (1 hour)
52
+ OASTLM_CONFIG_LOGS_MEMORY_EXPORTER_RETENTION_TIME_SECONDS=
21
53
 
22
- # Used in OASTLM logger
23
- OASTLM_SERVICE_NAME=OAS-TLM
24
- # LEVELS: DEBUG, INFO, WARNING, ERROR, NONE
25
- # Note: "NONE" will disable all OASTLM logging
26
- OASTLM_LOG_LEVEL=INFO
54
+ # OpenAI API key | Default: null
55
+ OASTLM_CONFIG_AI_OPENAI_KEY=
56
+ # OpenAI model name | Default: "gpt-3.5-turbo"
57
+ OASTLM_CONFIG_AI_OPENAI_MODEL=
58
+ # Extra context prompts for AI | Default: empty (e.g., "Prompt1,Prompt2")
59
+ OASTLM_CONFIG_AI_EXTRA_CONTEXT_PROMPTS=