@application-kit/observability 0.2.0 → 0.3.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 (143) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/README.md +62 -18
  3. package/dist/cjs/cqrs/cqrs-logger.d.ts +1 -1
  4. package/dist/cjs/cqrs/cqrs-logger.js +1 -1
  5. package/dist/cjs/cqrs/index.d.ts +0 -2
  6. package/dist/cjs/cqrs/index.js +0 -2
  7. package/dist/cjs/health/cli/health-cli-commands.d.ts +10 -0
  8. package/dist/cjs/health/cli/health-cli-commands.js +46 -0
  9. package/dist/cjs/health/cli/health-cli-options.interface.d.ts +3 -0
  10. package/dist/cjs/health/cli/health-cli.d.ts +4 -0
  11. package/dist/cjs/health/cli/health-cli.js +32 -0
  12. package/dist/cjs/health/cli/health-cli.module.d.ts +5 -0
  13. package/dist/cjs/health/cli/health-cli.module.js +23 -0
  14. package/dist/cjs/health/cli/index.d.ts +4 -0
  15. package/dist/cjs/health/cli/index.js +20 -0
  16. package/dist/cjs/health/graphql/health-check.type.d.ts +3 -0
  17. package/dist/cjs/health/graphql/health-check.type.js +24 -0
  18. package/dist/cjs/health/graphql/health-graphql.module.d.ts +5 -0
  19. package/dist/cjs/health/graphql/health-graphql.module.js +26 -0
  20. package/dist/cjs/health/graphql/health.resolver.d.ts +11 -0
  21. package/dist/cjs/health/graphql/health.resolver.js +55 -0
  22. package/dist/cjs/health/graphql/index.d.ts +3 -0
  23. package/dist/cjs/health/graphql/index.js +19 -0
  24. package/dist/cjs/health/health-checks.d.ts +10 -0
  25. package/dist/cjs/health/health-checks.js +53 -0
  26. package/dist/cjs/health/health-http.module.d.ts +5 -0
  27. package/dist/cjs/health/health-http.module.js +26 -0
  28. package/dist/cjs/health/health-module-options.interface.d.ts +9 -0
  29. package/dist/cjs/health/health-module-options.interface.js +2 -0
  30. package/dist/cjs/health/health.config.d.ts +8 -0
  31. package/dist/cjs/health/health.config.js +39 -0
  32. package/dist/cjs/health/health.controller.d.ts +14 -0
  33. package/dist/cjs/health/health.controller.js +78 -0
  34. package/dist/cjs/health/health.environment.d.ts +5 -0
  35. package/dist/cjs/health/health.environment.js +38 -0
  36. package/dist/cjs/health/health.module.d.ts +5 -0
  37. package/dist/cjs/health/health.module.js +28 -0
  38. package/dist/cjs/health/index.d.ts +8 -0
  39. package/dist/cjs/health/index.js +24 -0
  40. package/dist/cjs/health/migrations.health-indicator.d.ts +9 -0
  41. package/dist/cjs/health/migrations.health-indicator.js +40 -0
  42. package/dist/cjs/logging/index.d.ts +8 -0
  43. package/dist/cjs/logging/index.js +24 -0
  44. package/dist/cjs/logging/infrastructure-paths.d.ts +4 -0
  45. package/dist/cjs/logging/infrastructure-paths.js +9 -0
  46. package/dist/cjs/logging/logger.environment.d.ts +4 -0
  47. package/dist/cjs/logging/logger.environment.js +24 -0
  48. package/dist/cjs/logging/observability-logger.interface.js +2 -0
  49. package/dist/cjs/logging/pino-logger-options.interface.d.ts +5 -0
  50. package/dist/cjs/logging/pino-logger-options.interface.js +2 -0
  51. package/dist/cjs/logging/pino-logger.config.d.ts +15 -0
  52. package/dist/cjs/logging/pino-logger.config.js +104 -0
  53. package/dist/cjs/logging/resolve-request-id.d.ts +4 -0
  54. package/dist/cjs/logging/resolve-request-id.js +10 -0
  55. package/dist/cjs/logging/resolve-support-id.d.ts +3 -0
  56. package/dist/cjs/logging/resolve-support-id.js +8 -0
  57. package/dist/cjs/metrics/index.d.ts +3 -0
  58. package/dist/cjs/metrics/index.js +3 -0
  59. package/dist/cjs/metrics/metrics-hooks.d.ts +2 -0
  60. package/dist/cjs/metrics/metrics-hooks.js +37 -0
  61. package/dist/cjs/metrics/metrics-http.module.d.ts +5 -0
  62. package/dist/cjs/metrics/metrics-http.module.js +29 -0
  63. package/dist/cjs/metrics/metrics.controller.d.ts +7 -0
  64. package/dist/cjs/metrics/metrics.controller.js +42 -0
  65. package/dist/cjs/shared/active-span-context.d.ts +2 -0
  66. package/dist/cjs/shared/active-span-context.js +9 -0
  67. package/dist/cjs/shared/with-class-decorator.d.ts +2 -0
  68. package/dist/cjs/shared/with-class-decorator.js +14 -0
  69. package/dist/esm/cqrs/cqrs-logger.d.ts +1 -1
  70. package/dist/esm/cqrs/cqrs-logger.js +1 -1
  71. package/dist/esm/cqrs/index.d.ts +0 -2
  72. package/dist/esm/cqrs/index.js +0 -2
  73. package/dist/esm/health/cli/health-cli-commands.d.ts +10 -0
  74. package/dist/esm/health/cli/health-cli-commands.js +43 -0
  75. package/dist/esm/health/cli/health-cli-options.interface.d.ts +3 -0
  76. package/dist/esm/health/cli/health-cli.d.ts +4 -0
  77. package/dist/esm/health/cli/health-cli.js +28 -0
  78. package/dist/esm/health/cli/health-cli.module.d.ts +5 -0
  79. package/dist/esm/health/cli/health-cli.module.js +20 -0
  80. package/dist/esm/health/cli/index.d.ts +4 -0
  81. package/dist/esm/health/cli/index.js +4 -0
  82. package/dist/esm/health/graphql/health-check.type.d.ts +3 -0
  83. package/dist/esm/health/graphql/health-check.type.js +21 -0
  84. package/dist/esm/health/graphql/health-graphql.module.d.ts +5 -0
  85. package/dist/esm/health/graphql/health-graphql.module.js +23 -0
  86. package/dist/esm/health/graphql/health.resolver.d.ts +11 -0
  87. package/dist/esm/health/graphql/health.resolver.js +52 -0
  88. package/dist/esm/health/graphql/index.d.ts +3 -0
  89. package/dist/esm/health/graphql/index.js +3 -0
  90. package/dist/esm/health/health-checks.d.ts +10 -0
  91. package/dist/esm/health/health-checks.js +50 -0
  92. package/dist/esm/health/health-http.module.d.ts +5 -0
  93. package/dist/esm/health/health-http.module.js +23 -0
  94. package/dist/esm/health/health-module-options.interface.d.ts +9 -0
  95. package/dist/esm/health/health-module-options.interface.js +1 -0
  96. package/dist/esm/health/health.config.d.ts +8 -0
  97. package/dist/esm/health/health.config.js +36 -0
  98. package/dist/esm/health/health.controller.d.ts +14 -0
  99. package/dist/esm/health/health.controller.js +75 -0
  100. package/dist/esm/health/health.environment.d.ts +5 -0
  101. package/dist/esm/health/health.environment.js +34 -0
  102. package/dist/esm/health/health.module.d.ts +5 -0
  103. package/dist/esm/health/health.module.js +25 -0
  104. package/dist/esm/health/index.d.ts +8 -0
  105. package/dist/esm/health/index.js +8 -0
  106. package/dist/esm/health/migrations.health-indicator.d.ts +9 -0
  107. package/dist/esm/health/migrations.health-indicator.js +37 -0
  108. package/dist/esm/logging/index.d.ts +8 -0
  109. package/dist/esm/logging/index.js +8 -0
  110. package/dist/esm/logging/infrastructure-paths.d.ts +4 -0
  111. package/dist/esm/logging/infrastructure-paths.js +5 -0
  112. package/dist/esm/logging/logger.environment.d.ts +4 -0
  113. package/dist/esm/logging/logger.environment.js +20 -0
  114. package/dist/esm/logging/observability-logger.interface.js +1 -0
  115. package/dist/esm/logging/pino-logger-options.interface.d.ts +5 -0
  116. package/dist/esm/logging/pino-logger-options.interface.js +1 -0
  117. package/dist/esm/logging/pino-logger.config.d.ts +15 -0
  118. package/dist/esm/logging/pino-logger.config.js +99 -0
  119. package/dist/esm/logging/resolve-request-id.d.ts +4 -0
  120. package/dist/esm/logging/resolve-request-id.js +6 -0
  121. package/dist/esm/logging/resolve-support-id.d.ts +3 -0
  122. package/dist/esm/logging/resolve-support-id.js +4 -0
  123. package/dist/esm/metrics/index.d.ts +3 -0
  124. package/dist/esm/metrics/index.js +3 -0
  125. package/dist/esm/metrics/metrics-hooks.d.ts +2 -0
  126. package/dist/esm/metrics/metrics-hooks.js +33 -0
  127. package/dist/esm/metrics/metrics-http.module.d.ts +5 -0
  128. package/dist/esm/metrics/metrics-http.module.js +26 -0
  129. package/dist/esm/metrics/metrics.controller.d.ts +7 -0
  130. package/dist/esm/metrics/metrics.controller.js +39 -0
  131. package/dist/esm/shared/active-span-context.d.ts +2 -0
  132. package/dist/esm/shared/active-span-context.js +5 -0
  133. package/dist/esm/shared/with-class-decorator.d.ts +2 -0
  134. package/dist/esm/shared/with-class-decorator.js +10 -0
  135. package/package.json +111 -5
  136. /package/dist/cjs/{cqrs/observability-logger.interface.js → health/cli/health-cli-options.interface.js} +0 -0
  137. /package/dist/cjs/{cqrs → logging}/constants.d.ts +0 -0
  138. /package/dist/cjs/{cqrs → logging}/constants.js +0 -0
  139. /package/dist/cjs/{cqrs → logging}/observability-logger.interface.d.ts +0 -0
  140. /package/dist/esm/{cqrs/observability-logger.interface.js → health/cli/health-cli-options.interface.js} +0 -0
  141. /package/dist/esm/{cqrs → logging}/constants.d.ts +0 -0
  142. /package/dist/esm/{cqrs → logging}/constants.js +0 -0
  143. /package/dist/esm/{cqrs → logging}/observability-logger.interface.d.ts +0 -0
package/package.json CHANGED
@@ -1,14 +1,17 @@
1
1
  {
2
2
  "name": "@application-kit/observability",
3
- "version": "0.2.0",
4
- "description": "Наблюдаемость NestJS-процесса: реестр метрик Prometheus и RED-гистограммы, логирование команд и запросов CQRS-шин, реальный IP клиента за прокси",
3
+ "version": "0.3.1",
4
+ "description": "Наблюдаемость NestJS-процесса: метрики Prometheus и RED-гистограммы, health-чеки и пробы, опции pino с request-id и trace-контекстом, логирование CQRS-шин, реальный IP клиента за прокси",
5
5
  "keywords": [
6
6
  "cqrs",
7
+ "health",
7
8
  "logging",
8
9
  "metrics",
9
10
  "nestjs",
10
11
  "observability",
11
- "prometheus"
12
+ "pino",
13
+ "prometheus",
14
+ "terminus"
12
15
  ],
13
16
  "homepage": "https://gitlab.com/application-kit/application-kit/-/tree/main/packages/observability",
14
17
  "bugs": "https://gitlab.com/application-kit/application-kit/-/issues",
@@ -34,6 +37,36 @@
34
37
  "default": "./dist/cjs/cqrs/index.js"
35
38
  }
36
39
  },
40
+ "./health": {
41
+ "import": {
42
+ "types": "./dist/esm/health/index.d.ts",
43
+ "default": "./dist/esm/health/index.js"
44
+ },
45
+ "require": {
46
+ "types": "./dist/cjs/health/index.d.ts",
47
+ "default": "./dist/cjs/health/index.js"
48
+ }
49
+ },
50
+ "./health/cli": {
51
+ "import": {
52
+ "types": "./dist/esm/health/cli/index.d.ts",
53
+ "default": "./dist/esm/health/cli/index.js"
54
+ },
55
+ "require": {
56
+ "types": "./dist/cjs/health/cli/index.d.ts",
57
+ "default": "./dist/cjs/health/cli/index.js"
58
+ }
59
+ },
60
+ "./health/graphql": {
61
+ "import": {
62
+ "types": "./dist/esm/health/graphql/index.d.ts",
63
+ "default": "./dist/esm/health/graphql/index.js"
64
+ },
65
+ "require": {
66
+ "types": "./dist/cjs/health/graphql/index.d.ts",
67
+ "default": "./dist/cjs/health/graphql/index.js"
68
+ }
69
+ },
37
70
  "./http": {
38
71
  "import": {
39
72
  "types": "./dist/esm/http/index.d.ts",
@@ -44,6 +77,16 @@
44
77
  "default": "./dist/cjs/http/index.js"
45
78
  }
46
79
  },
80
+ "./logging": {
81
+ "import": {
82
+ "types": "./dist/esm/logging/index.d.ts",
83
+ "default": "./dist/esm/logging/index.js"
84
+ },
85
+ "require": {
86
+ "types": "./dist/cjs/logging/index.d.ts",
87
+ "default": "./dist/cjs/logging/index.js"
88
+ }
89
+ },
47
90
  "./metrics": {
48
91
  "import": {
49
92
  "types": "./dist/esm/metrics/index.d.ts",
@@ -63,38 +106,101 @@
63
106
  "dist"
64
107
  ],
65
108
  "scripts": {
66
- "build": "rm -rf ./dist && node ../../scripts/barrels.mjs create ./src/cqrs && node ../../scripts/barrels.mjs create ./src/http && node ../../scripts/barrels.mjs create ./src/metrics && tsc --project tsconfig.build.json && tsc --project tsconfig.build.cjs.json && node ../../scripts/barrels.mjs clean ./src && node ../../scripts/mark-cjs.mjs ./dist/cjs",
109
+ "build": "rm -rf ./dist && node ../../scripts/barrels.mjs create ./src/cqrs && node ../../scripts/barrels.mjs create ./src/health --entry-only=cli,graphql && node ../../scripts/barrels.mjs create ./src/http && node ../../scripts/barrels.mjs create ./src/logging && node ../../scripts/barrels.mjs create ./src/metrics && tsc --project tsconfig.build.json && tsc --project tsconfig.build.cjs.json && node ../../scripts/barrels.mjs clean ./src && node ../../scripts/mark-cjs.mjs ./dist/cjs",
67
110
  "lint:tsc": "tsc --noEmit --pretty --project .",
68
111
  "test:mutation": "stryker run",
69
112
  "test:unit": "vitest run"
70
113
  },
114
+ "dependencies": {
115
+ "@application-kit/typeorm": "^0.3.0"
116
+ },
71
117
  "devDependencies": {
72
118
  "@nestjs/common": "^11.2.7",
73
119
  "@nestjs/core": "^11.2.7",
74
120
  "@nestjs/cqrs": "^11.0.3",
121
+ "@nestjs/graphql": "^13.4.5",
122
+ "@nestjs/platform-fastify": "^11.2.7",
123
+ "@nestjs/terminus": "^11.1.1",
75
124
  "@nestjs/testing": "^11.2.7",
125
+ "@nestjs/typeorm": "^11.0.3",
126
+ "@opentelemetry/api": "^1.9.1",
76
127
  "@prometheus-io/client": "^0.16.0",
77
128
  "@stryker-mutator/core": "^10.0.0",
78
129
  "@stryker-mutator/vitest-runner": "^10.0.0",
79
130
  "@types/node": "^26.2.0",
131
+ "class-transformer": "^0.5.1",
132
+ "class-validator": "^0.15.1",
133
+ "fastify": "^5.12.5",
80
134
  "graphql": "^16.14.2",
135
+ "nestjs-console": "^10.0.0",
136
+ "nestjs-pino": "^4.6.1",
137
+ "pino": "^10.3.1",
81
138
  "reflect-metadata": "^0.2.2",
82
139
  "rxjs": "^7.8.2",
140
+ "typeorm": "^1.1.0",
83
141
  "typescript": "^6.0.3",
84
142
  "vitest": "^4.1.11"
85
143
  },
86
144
  "peerDependencies": {
87
145
  "@nestjs/common": "^11.0.0",
88
146
  "@nestjs/cqrs": "^11.0.0",
147
+ "@nestjs/graphql": "^13.0.0",
148
+ "@nestjs/platform-fastify": "^11.0.0",
149
+ "@nestjs/terminus": "^11.0.0",
150
+ "@nestjs/typeorm": "^11.0.0",
151
+ "@opentelemetry/api": "^1.9.0",
89
152
  "@prometheus-io/client": "^0.16.0",
90
- "graphql": "^16.0.0"
153
+ "class-transformer": "^0.5.1",
154
+ "class-validator": "^0.15.1",
155
+ "fastify": "^5.0.0",
156
+ "graphql": "^16.0.0",
157
+ "nestjs-console": "^10.0.0",
158
+ "nestjs-pino": "^4.6.1",
159
+ "pino": "^10.0.0",
160
+ "typeorm": "^1.0.0"
91
161
  },
92
162
  "peerDependenciesMeta": {
93
163
  "@nestjs/cqrs": {
94
164
  "optional": true
95
165
  },
166
+ "@nestjs/graphql": {
167
+ "optional": true
168
+ },
169
+ "@nestjs/platform-fastify": {
170
+ "optional": true
171
+ },
172
+ "@nestjs/terminus": {
173
+ "optional": true
174
+ },
175
+ "@nestjs/typeorm": {
176
+ "optional": true
177
+ },
178
+ "@opentelemetry/api": {
179
+ "optional": true
180
+ },
181
+ "class-transformer": {
182
+ "optional": true
183
+ },
184
+ "class-validator": {
185
+ "optional": true
186
+ },
187
+ "fastify": {
188
+ "optional": true
189
+ },
96
190
  "graphql": {
97
191
  "optional": true
192
+ },
193
+ "nestjs-console": {
194
+ "optional": true
195
+ },
196
+ "nestjs-pino": {
197
+ "optional": true
198
+ },
199
+ "pino": {
200
+ "optional": true
201
+ },
202
+ "typeorm": {
203
+ "optional": true
98
204
  }
99
205
  },
100
206
  "engines": {
File without changes
File without changes
File without changes
File without changes