@marinoscar/platform-api 0.0.0-stage → 0.1.0-next.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.
Files changed (616) hide show
  1. package/CHANGELOG.md +54 -0
  2. package/LICENSE +21 -0
  3. package/README.md +106 -2
  4. package/dist/core/crypto/encryption-key-startup-check.d.ts +29 -0
  5. package/dist/core/crypto/encryption-key-startup-check.d.ts.map +1 -0
  6. package/dist/core/crypto/encryption-key-startup-check.js +221 -0
  7. package/dist/core/crypto/encryption-key-startup-check.js.map +1 -0
  8. package/dist/core/crypto/secret-cipher.d.ts +151 -0
  9. package/dist/core/crypto/secret-cipher.d.ts.map +1 -0
  10. package/dist/core/crypto/secret-cipher.js +452 -0
  11. package/dist/core/crypto/secret-cipher.js.map +1 -0
  12. package/dist/core/data-access/index.d.ts +6 -0
  13. package/dist/core/data-access/index.d.ts.map +1 -0
  14. package/dist/core/data-access/index.js +19 -0
  15. package/dist/core/data-access/index.js.map +1 -0
  16. package/dist/core/data-access/scoped-access.error.d.ts +35 -0
  17. package/dist/core/data-access/scoped-access.error.d.ts.map +1 -0
  18. package/dist/core/data-access/scoped-access.error.js +43 -0
  19. package/dist/core/data-access/scoped-access.error.js.map +1 -0
  20. package/dist/core/data-access/scoped-client.d.ts +104 -0
  21. package/dist/core/data-access/scoped-client.d.ts.map +1 -0
  22. package/dist/core/data-access/scoped-client.js +270 -0
  23. package/dist/core/data-access/scoped-client.js.map +1 -0
  24. package/dist/core/data-access/types.d.ts +85 -0
  25. package/dist/core/data-access/types.d.ts.map +1 -0
  26. package/dist/core/data-access/types.js +12 -0
  27. package/dist/core/data-access/types.js.map +1 -0
  28. package/dist/core/data-access/user-owned-data.registry.d.ts +60 -0
  29. package/dist/core/data-access/user-owned-data.registry.d.ts.map +1 -0
  30. package/dist/core/data-access/user-owned-data.registry.js +140 -0
  31. package/dist/core/data-access/user-owned-data.registry.js.map +1 -0
  32. package/dist/core/errors/database-seed.exception.d.ts +23 -0
  33. package/dist/core/errors/database-seed.exception.d.ts.map +1 -0
  34. package/dist/core/errors/database-seed.exception.js +49 -0
  35. package/dist/core/errors/database-seed.exception.js.map +1 -0
  36. package/dist/core/errors/error.dto.d.ts +47 -0
  37. package/dist/core/errors/error.dto.d.ts.map +1 -0
  38. package/dist/core/errors/error.dto.js +121 -0
  39. package/dist/core/errors/error.dto.js.map +1 -0
  40. package/dist/core/errors/http-exception.filter.d.ts +63 -0
  41. package/dist/core/errors/http-exception.filter.d.ts.map +1 -0
  42. package/dist/core/errors/http-exception.filter.js +234 -0
  43. package/dist/core/errors/http-exception.filter.js.map +1 -0
  44. package/dist/core/errors/verbatim-error-body.exception.d.ts +46 -0
  45. package/dist/core/errors/verbatim-error-body.exception.d.ts.map +1 -0
  46. package/dist/core/errors/verbatim-error-body.exception.js +135 -0
  47. package/dist/core/errors/verbatim-error-body.exception.js.map +1 -0
  48. package/dist/core/host/index.d.ts +7 -0
  49. package/dist/core/host/index.d.ts.map +1 -0
  50. package/dist/core/host/index.js +14 -0
  51. package/dist/core/host/index.js.map +1 -0
  52. package/dist/core/host/platform-host.d.ts +58 -0
  53. package/dist/core/host/platform-host.d.ts.map +1 -0
  54. package/dist/core/host/platform-host.js +104 -0
  55. package/dist/core/host/platform-host.js.map +1 -0
  56. package/dist/core/host/platform-host.module.d.ts +53 -0
  57. package/dist/core/host/platform-host.module.d.ts.map +1 -0
  58. package/dist/core/host/platform-host.module.js +90 -0
  59. package/dist/core/host/platform-host.module.js.map +1 -0
  60. package/dist/core/host/ports.d.ts +132 -0
  61. package/dist/core/host/ports.d.ts.map +1 -0
  62. package/dist/core/host/ports.js +48 -0
  63. package/dist/core/host/ports.js.map +1 -0
  64. package/dist/core/index.d.ts +15 -0
  65. package/dist/core/index.d.ts.map +1 -0
  66. package/dist/core/index.js +77 -0
  67. package/dist/core/index.js.map +1 -0
  68. package/dist/core/openapi/openapi-tag.registry.d.ts +80 -0
  69. package/dist/core/openapi/openapi-tag.registry.d.ts.map +1 -0
  70. package/dist/core/openapi/openapi-tag.registry.js +72 -0
  71. package/dist/core/openapi/openapi-tag.registry.js.map +1 -0
  72. package/dist/core/principal/index.d.ts +6 -0
  73. package/dist/core/principal/index.d.ts.map +1 -0
  74. package/dist/core/principal/index.js +3 -0
  75. package/dist/core/principal/index.js.map +1 -0
  76. package/dist/core/principal/principal.types.d.ts +222 -0
  77. package/dist/core/principal/principal.types.d.ts.map +1 -0
  78. package/dist/core/principal/principal.types.js +22 -0
  79. package/dist/core/principal/principal.types.js.map +1 -0
  80. package/dist/core/registry/index.d.ts +4 -0
  81. package/dist/core/registry/index.d.ts.map +1 -0
  82. package/dist/core/registry/index.js +19 -0
  83. package/dist/core/registry/index.js.map +1 -0
  84. package/dist/core/registry/registry-freeze.service.d.ts +14 -0
  85. package/dist/core/registry/registry-freeze.service.d.ts.map +1 -0
  86. package/dist/core/registry/registry-freeze.service.js +55 -0
  87. package/dist/core/registry/registry-freeze.service.js.map +1 -0
  88. package/dist/core/registry/registry.d.ts +268 -0
  89. package/dist/core/registry/registry.d.ts.map +1 -0
  90. package/dist/core/registry/registry.js +351 -0
  91. package/dist/core/registry/registry.js.map +1 -0
  92. package/dist/core/registry/testing.d.ts +29 -0
  93. package/dist/core/registry/testing.d.ts.map +1 -0
  94. package/dist/core/registry/testing.js +63 -0
  95. package/dist/core/registry/testing.js.map +1 -0
  96. package/dist/doctor/doctor-check.interface.d.ts +100 -0
  97. package/dist/doctor/doctor-check.interface.d.ts.map +1 -0
  98. package/dist/doctor/doctor-check.interface.js +95 -0
  99. package/dist/doctor/doctor-check.interface.js.map +1 -0
  100. package/dist/doctor/doctor-check.registry.d.ts +37 -0
  101. package/dist/doctor/doctor-check.registry.d.ts.map +1 -0
  102. package/dist/doctor/doctor-check.registry.js +96 -0
  103. package/dist/doctor/doctor-check.registry.js.map +1 -0
  104. package/dist/doctor/doctor.controller.factory.d.ts +29 -0
  105. package/dist/doctor/doctor.controller.factory.d.ts.map +1 -0
  106. package/dist/doctor/doctor.controller.factory.js +121 -0
  107. package/dist/doctor/doctor.controller.factory.js.map +1 -0
  108. package/dist/doctor/doctor.module.d.ts +78 -0
  109. package/dist/doctor/doctor.module.d.ts.map +1 -0
  110. package/dist/doctor/doctor.module.js +158 -0
  111. package/dist/doctor/doctor.module.js.map +1 -0
  112. package/dist/doctor/doctor.options.d.ts +39 -0
  113. package/dist/doctor/doctor.options.d.ts.map +1 -0
  114. package/dist/doctor/doctor.options.js +21 -0
  115. package/dist/doctor/doctor.options.js.map +1 -0
  116. package/dist/doctor/doctor.service.d.ts +80 -0
  117. package/dist/doctor/doctor.service.d.ts.map +1 -0
  118. package/dist/doctor/doctor.service.js +301 -0
  119. package/dist/doctor/doctor.service.js.map +1 -0
  120. package/dist/doctor/dto/doctor-query.dto.d.ts +15 -0
  121. package/dist/doctor/dto/doctor-query.dto.d.ts.map +1 -0
  122. package/dist/doctor/dto/doctor-query.dto.js +16 -0
  123. package/dist/doctor/dto/doctor-query.dto.js.map +1 -0
  124. package/dist/doctor/dto/doctor-report.dto.d.ts +27 -0
  125. package/dist/doctor/dto/doctor-report.dto.d.ts.map +1 -0
  126. package/dist/doctor/dto/doctor-report.dto.js +23 -0
  127. package/dist/doctor/dto/doctor-report.dto.js.map +1 -0
  128. package/dist/doctor/egress/classify-host.d.ts +73 -0
  129. package/dist/doctor/egress/classify-host.d.ts.map +1 -0
  130. package/dist/doctor/egress/classify-host.js +210 -0
  131. package/dist/doctor/egress/classify-host.js.map +1 -0
  132. package/dist/doctor/egress/egress.registry.d.ts +34 -0
  133. package/dist/doctor/egress/egress.registry.d.ts.map +1 -0
  134. package/dist/doctor/egress/egress.registry.js +70 -0
  135. package/dist/doctor/egress/egress.registry.js.map +1 -0
  136. package/dist/doctor/egress/egress.types.d.ts +135 -0
  137. package/dist/doctor/egress/egress.types.d.ts.map +1 -0
  138. package/dist/doctor/egress/egress.types.js +42 -0
  139. package/dist/doctor/egress/egress.types.js.map +1 -0
  140. package/dist/doctor/egress/index.d.ts +6 -0
  141. package/dist/doctor/egress/index.d.ts.map +1 -0
  142. package/dist/doctor/egress/index.js +23 -0
  143. package/dist/doctor/egress/index.js.map +1 -0
  144. package/dist/doctor/egress/network-egress.doctor-check.d.ts +78 -0
  145. package/dist/doctor/egress/network-egress.doctor-check.d.ts.map +1 -0
  146. package/dist/doctor/egress/network-egress.doctor-check.js +226 -0
  147. package/dist/doctor/egress/network-egress.doctor-check.js.map +1 -0
  148. package/dist/doctor/index.d.ts +19 -0
  149. package/dist/doctor/index.d.ts.map +1 -0
  150. package/dist/doctor/index.js +66 -0
  151. package/dist/doctor/index.js.map +1 -0
  152. package/dist/doctor/support-bundle/index.d.ts +12 -0
  153. package/dist/doctor/support-bundle/index.d.ts.map +1 -0
  154. package/dist/doctor/support-bundle/index.js +32 -0
  155. package/dist/doctor/support-bundle/index.js.map +1 -0
  156. package/dist/doctor/support-bundle/redact.d.ts +76 -0
  157. package/dist/doctor/support-bundle/redact.d.ts.map +1 -0
  158. package/dist/doctor/support-bundle/redact.js +236 -0
  159. package/dist/doctor/support-bundle/redact.js.map +1 -0
  160. package/dist/doctor/support-bundle/sections/doctor.section.d.ts +81 -0
  161. package/dist/doctor/support-bundle/sections/doctor.section.d.ts.map +1 -0
  162. package/dist/doctor/support-bundle/sections/doctor.section.js +83 -0
  163. package/dist/doctor/support-bundle/sections/doctor.section.js.map +1 -0
  164. package/dist/doctor/support-bundle/sections/egress.section.d.ts +73 -0
  165. package/dist/doctor/support-bundle/sections/egress.section.d.ts.map +1 -0
  166. package/dist/doctor/support-bundle/sections/egress.section.js +97 -0
  167. package/dist/doctor/support-bundle/sections/egress.section.js.map +1 -0
  168. package/dist/doctor/support-bundle/sections/meta.section.d.ts +39 -0
  169. package/dist/doctor/support-bundle/sections/meta.section.d.ts.map +1 -0
  170. package/dist/doctor/support-bundle/sections/meta.section.js +89 -0
  171. package/dist/doctor/support-bundle/sections/meta.section.js.map +1 -0
  172. package/dist/doctor/support-bundle/support-bundle-section.interface.d.ts +100 -0
  173. package/dist/doctor/support-bundle/support-bundle-section.interface.d.ts.map +1 -0
  174. package/dist/doctor/support-bundle/support-bundle-section.interface.js +59 -0
  175. package/dist/doctor/support-bundle/support-bundle-section.interface.js.map +1 -0
  176. package/dist/doctor/support-bundle/support-bundle.controller.d.ts +57 -0
  177. package/dist/doctor/support-bundle/support-bundle.controller.d.ts.map +1 -0
  178. package/dist/doctor/support-bundle/support-bundle.controller.js +141 -0
  179. package/dist/doctor/support-bundle/support-bundle.controller.js.map +1 -0
  180. package/dist/doctor/support-bundle/support-bundle.options.d.ts +92 -0
  181. package/dist/doctor/support-bundle/support-bundle.options.d.ts.map +1 -0
  182. package/dist/doctor/support-bundle/support-bundle.options.js +100 -0
  183. package/dist/doctor/support-bundle/support-bundle.options.js.map +1 -0
  184. package/dist/doctor/support-bundle/support-bundle.registry.d.ts +38 -0
  185. package/dist/doctor/support-bundle/support-bundle.registry.d.ts.map +1 -0
  186. package/dist/doctor/support-bundle/support-bundle.registry.js +90 -0
  187. package/dist/doctor/support-bundle/support-bundle.registry.js.map +1 -0
  188. package/dist/doctor/support-bundle/support-bundle.service.d.ts +63 -0
  189. package/dist/doctor/support-bundle/support-bundle.service.d.ts.map +1 -0
  190. package/dist/doctor/support-bundle/support-bundle.service.js +244 -0
  191. package/dist/doctor/support-bundle/support-bundle.service.js.map +1 -0
  192. package/dist/index.d.ts +11 -0
  193. package/dist/index.d.ts.map +1 -0
  194. package/dist/index.js +14 -0
  195. package/dist/index.js.map +1 -0
  196. package/dist/otel-core/index.d.ts +9 -0
  197. package/dist/otel-core/index.d.ts.map +1 -0
  198. package/dist/otel-core/index.js +58 -0
  199. package/dist/otel-core/index.js.map +1 -0
  200. package/dist/otel-core/metrics/gauge-provider.d.ts +44 -0
  201. package/dist/otel-core/metrics/gauge-provider.d.ts.map +1 -0
  202. package/dist/otel-core/metrics/gauge-provider.js +37 -0
  203. package/dist/otel-core/metrics/gauge-provider.js.map +1 -0
  204. package/dist/otel-core/metrics/labels.d.ts +79 -0
  205. package/dist/otel-core/metrics/labels.d.ts.map +1 -0
  206. package/dist/otel-core/metrics/labels.js +135 -0
  207. package/dist/otel-core/metrics/labels.js.map +1 -0
  208. package/dist/otel-core/metrics/metric-name.registry.d.ts +130 -0
  209. package/dist/otel-core/metrics/metric-name.registry.d.ts.map +1 -0
  210. package/dist/otel-core/metrics/metric-name.registry.js +134 -0
  211. package/dist/otel-core/metrics/metric-name.registry.js.map +1 -0
  212. package/dist/otel-core/metrics/metrics-host.service.d.ts +163 -0
  213. package/dist/otel-core/metrics/metrics-host.service.d.ts.map +1 -0
  214. package/dist/otel-core/metrics/metrics-host.service.js +344 -0
  215. package/dist/otel-core/metrics/metrics-host.service.js.map +1 -0
  216. package/dist/otel-core/metrics/otel-metrics.module.d.ts +54 -0
  217. package/dist/otel-core/metrics/otel-metrics.module.d.ts.map +1 -0
  218. package/dist/otel-core/metrics/otel-metrics.module.js +83 -0
  219. package/dist/otel-core/metrics/otel-metrics.module.js.map +1 -0
  220. package/dist/otel-core/sdk/index.d.ts +5 -0
  221. package/dist/otel-core/sdk/index.d.ts.map +1 -0
  222. package/dist/otel-core/sdk/index.js +27 -0
  223. package/dist/otel-core/sdk/index.js.map +1 -0
  224. package/dist/otel-core/sdk/initialize-otel.d.ts +126 -0
  225. package/dist/otel-core/sdk/initialize-otel.d.ts.map +1 -0
  226. package/dist/otel-core/sdk/initialize-otel.js +204 -0
  227. package/dist/otel-core/sdk/initialize-otel.js.map +1 -0
  228. package/dist/otel-core/sdk/instance-id.d.ts +29 -0
  229. package/dist/otel-core/sdk/instance-id.d.ts.map +1 -0
  230. package/dist/otel-core/sdk/instance-id.js +65 -0
  231. package/dist/otel-core/sdk/instance-id.js.map +1 -0
  232. package/dist/otel-core/sdk/service-name.d.ts +28 -0
  233. package/dist/otel-core/sdk/service-name.d.ts.map +1 -0
  234. package/dist/otel-core/sdk/service-name.js +63 -0
  235. package/dist/otel-core/sdk/service-name.js.map +1 -0
  236. package/dist/otel-core/sdk/telemetry-gate.d.ts +116 -0
  237. package/dist/otel-core/sdk/telemetry-gate.d.ts.map +1 -0
  238. package/dist/otel-core/sdk/telemetry-gate.js +297 -0
  239. package/dist/otel-core/sdk/telemetry-gate.js.map +1 -0
  240. package/dist/otel-core/spans/request-span-attributes.d.ts +58 -0
  241. package/dist/otel-core/spans/request-span-attributes.d.ts.map +1 -0
  242. package/dist/otel-core/spans/request-span-attributes.js +155 -0
  243. package/dist/otel-core/spans/request-span-attributes.js.map +1 -0
  244. package/dist/otel-core/spans/trace.decorator.d.ts +36 -0
  245. package/dist/otel-core/spans/trace.decorator.d.ts.map +1 -0
  246. package/dist/otel-core/spans/trace.decorator.js +74 -0
  247. package/dist/otel-core/spans/trace.decorator.js.map +1 -0
  248. package/dist/telemetry/assistant/telemetry-ai-enabled.guard.d.ts +15 -0
  249. package/dist/telemetry/assistant/telemetry-ai-enabled.guard.d.ts.map +1 -0
  250. package/dist/telemetry/assistant/telemetry-ai-enabled.guard.js +50 -0
  251. package/dist/telemetry/assistant/telemetry-ai-enabled.guard.js.map +1 -0
  252. package/dist/telemetry/assistant/telemetry-assistant.controller.d.ts +14 -0
  253. package/dist/telemetry/assistant/telemetry-assistant.controller.d.ts.map +1 -0
  254. package/dist/telemetry/assistant/telemetry-assistant.controller.js +178 -0
  255. package/dist/telemetry/assistant/telemetry-assistant.controller.js.map +1 -0
  256. package/dist/telemetry/assistant/telemetry-assistant.metrics.d.ts +147 -0
  257. package/dist/telemetry/assistant/telemetry-assistant.metrics.d.ts.map +1 -0
  258. package/dist/telemetry/assistant/telemetry-assistant.metrics.js +495 -0
  259. package/dist/telemetry/assistant/telemetry-assistant.metrics.js.map +1 -0
  260. package/dist/telemetry/assistant/telemetry-assistant.service.d.ts +216 -0
  261. package/dist/telemetry/assistant/telemetry-assistant.service.d.ts.map +1 -0
  262. package/dist/telemetry/assistant/telemetry-assistant.service.js +1256 -0
  263. package/dist/telemetry/assistant/telemetry-assistant.service.js.map +1 -0
  264. package/dist/telemetry/assistant/telemetry-assistant.sql.d.ts +69 -0
  265. package/dist/telemetry/assistant/telemetry-assistant.sql.d.ts.map +1 -0
  266. package/dist/telemetry/assistant/telemetry-assistant.sql.js +471 -0
  267. package/dist/telemetry/assistant/telemetry-assistant.sql.js.map +1 -0
  268. package/dist/telemetry/assistant/telemetry-assistant.sse.d.ts +15 -0
  269. package/dist/telemetry/assistant/telemetry-assistant.sse.d.ts.map +1 -0
  270. package/dist/telemetry/assistant/telemetry-assistant.sse.js +68 -0
  271. package/dist/telemetry/assistant/telemetry-assistant.sse.js.map +1 -0
  272. package/dist/telemetry/connection/dto/telemetry-connection.dto.d.ts +92 -0
  273. package/dist/telemetry/connection/dto/telemetry-connection.dto.d.ts.map +1 -0
  274. package/dist/telemetry/connection/dto/telemetry-connection.dto.js +41 -0
  275. package/dist/telemetry/connection/dto/telemetry-connection.dto.js.map +1 -0
  276. package/dist/telemetry/connection/telemetry-connection-admin.service.d.ts +45 -0
  277. package/dist/telemetry/connection/telemetry-connection-admin.service.d.ts.map +1 -0
  278. package/dist/telemetry/connection/telemetry-connection-admin.service.js +303 -0
  279. package/dist/telemetry/connection/telemetry-connection-admin.service.js.map +1 -0
  280. package/dist/telemetry/connection/telemetry-connection-test.service.d.ts +41 -0
  281. package/dist/telemetry/connection/telemetry-connection-test.service.d.ts.map +1 -0
  282. package/dist/telemetry/connection/telemetry-connection-test.service.js +187 -0
  283. package/dist/telemetry/connection/telemetry-connection-test.service.js.map +1 -0
  284. package/dist/telemetry/connection/telemetry-connection.controller.d.ts +14 -0
  285. package/dist/telemetry/connection/telemetry-connection.controller.d.ts.map +1 -0
  286. package/dist/telemetry/connection/telemetry-connection.controller.js +192 -0
  287. package/dist/telemetry/connection/telemetry-connection.controller.js.map +1 -0
  288. package/dist/telemetry/connection/telemetry-connection.schema.d.ts +28 -0
  289. package/dist/telemetry/connection/telemetry-connection.schema.d.ts.map +1 -0
  290. package/dist/telemetry/connection/telemetry-connection.schema.js +106 -0
  291. package/dist/telemetry/connection/telemetry-connection.schema.js.map +1 -0
  292. package/dist/telemetry/connection/telemetry-connection.service.d.ts +197 -0
  293. package/dist/telemetry/connection/telemetry-connection.service.d.ts.map +1 -0
  294. package/dist/telemetry/connection/telemetry-connection.service.js +461 -0
  295. package/dist/telemetry/connection/telemetry-connection.service.js.map +1 -0
  296. package/dist/telemetry/dashboard/sql-literals.d.ts +19 -0
  297. package/dist/telemetry/dashboard/sql-literals.d.ts.map +1 -0
  298. package/dist/telemetry/dashboard/sql-literals.js +75 -0
  299. package/dist/telemetry/dashboard/sql-literals.js.map +1 -0
  300. package/dist/telemetry/dashboard/telemetry-dashboard.controller.d.ts +14 -0
  301. package/dist/telemetry/dashboard/telemetry-dashboard.controller.d.ts.map +1 -0
  302. package/dist/telemetry/dashboard/telemetry-dashboard.controller.js +277 -0
  303. package/dist/telemetry/dashboard/telemetry-dashboard.controller.js.map +1 -0
  304. package/dist/telemetry/dashboard/telemetry-dashboard.service.d.ts +112 -0
  305. package/dist/telemetry/dashboard/telemetry-dashboard.service.d.ts.map +1 -0
  306. package/dist/telemetry/dashboard/telemetry-dashboard.service.js +904 -0
  307. package/dist/telemetry/dashboard/telemetry-dashboard.service.js.map +1 -0
  308. package/dist/telemetry/dashboard/telemetry-dashboard.sql.d.ts +212 -0
  309. package/dist/telemetry/dashboard/telemetry-dashboard.sql.d.ts.map +1 -0
  310. package/dist/telemetry/dashboard/telemetry-dashboard.sql.js +486 -0
  311. package/dist/telemetry/dashboard/telemetry-dashboard.sql.js.map +1 -0
  312. package/dist/telemetry/dashboard/telemetry-dashboard.verdict.d.ts +235 -0
  313. package/dist/telemetry/dashboard/telemetry-dashboard.verdict.d.ts.map +1 -0
  314. package/dist/telemetry/dashboard/telemetry-dashboard.verdict.js +269 -0
  315. package/dist/telemetry/dashboard/telemetry-dashboard.verdict.js.map +1 -0
  316. package/dist/telemetry/dashboard/verdict-policy.d.ts +51 -0
  317. package/dist/telemetry/dashboard/verdict-policy.d.ts.map +1 -0
  318. package/dist/telemetry/dashboard/verdict-policy.js +77 -0
  319. package/dist/telemetry/dashboard/verdict-policy.js.map +1 -0
  320. package/dist/telemetry/doctor/egress/greptimedb.egress.contributor.d.ts +21 -0
  321. package/dist/telemetry/doctor/egress/greptimedb.egress.contributor.d.ts.map +1 -0
  322. package/dist/telemetry/doctor/egress/greptimedb.egress.contributor.js +59 -0
  323. package/dist/telemetry/doctor/egress/greptimedb.egress.contributor.js.map +1 -0
  324. package/dist/telemetry/doctor/telemetry-connection.doctor-check.d.ts +23 -0
  325. package/dist/telemetry/doctor/telemetry-connection.doctor-check.d.ts.map +1 -0
  326. package/dist/telemetry/doctor/telemetry-connection.doctor-check.js +69 -0
  327. package/dist/telemetry/doctor/telemetry-connection.doctor-check.js.map +1 -0
  328. package/dist/telemetry/doctor/telemetry-export.doctor-check.d.ts +33 -0
  329. package/dist/telemetry/doctor/telemetry-export.doctor-check.d.ts.map +1 -0
  330. package/dist/telemetry/doctor/telemetry-export.doctor-check.js +105 -0
  331. package/dist/telemetry/doctor/telemetry-export.doctor-check.js.map +1 -0
  332. package/dist/telemetry/doctor/telemetry-freshness.doctor-check.d.ts +38 -0
  333. package/dist/telemetry/doctor/telemetry-freshness.doctor-check.d.ts.map +1 -0
  334. package/dist/telemetry/doctor/telemetry-freshness.doctor-check.js +104 -0
  335. package/dist/telemetry/doctor/telemetry-freshness.doctor-check.js.map +1 -0
  336. package/dist/telemetry/doctor/telemetry-reachable.doctor-check.d.ts +23 -0
  337. package/dist/telemetry/doctor/telemetry-reachable.doctor-check.d.ts.map +1 -0
  338. package/dist/telemetry/doctor/telemetry-reachable.doctor-check.js +65 -0
  339. package/dist/telemetry/doctor/telemetry-reachable.doctor-check.js.map +1 -0
  340. package/dist/telemetry/doctor/telemetry-tables.doctor-check.d.ts +23 -0
  341. package/dist/telemetry/doctor/telemetry-tables.doctor-check.d.ts.map +1 -0
  342. package/dist/telemetry/doctor/telemetry-tables.doctor-check.js +91 -0
  343. package/dist/telemetry/doctor/telemetry-tables.doctor-check.js.map +1 -0
  344. package/dist/telemetry/dto/telemetry-assistant.dto.d.ts +14 -0
  345. package/dist/telemetry/dto/telemetry-assistant.dto.d.ts.map +1 -0
  346. package/dist/telemetry/dto/telemetry-assistant.dto.js +29 -0
  347. package/dist/telemetry/dto/telemetry-assistant.dto.js.map +1 -0
  348. package/dist/telemetry/dto/telemetry-config.dto.d.ts +59 -0
  349. package/dist/telemetry/dto/telemetry-config.dto.d.ts.map +1 -0
  350. package/dist/telemetry/dto/telemetry-config.dto.js +18 -0
  351. package/dist/telemetry/dto/telemetry-config.dto.js.map +1 -0
  352. package/dist/telemetry/dto/telemetry-dashboard.dto.d.ts +397 -0
  353. package/dist/telemetry/dto/telemetry-dashboard.dto.d.ts.map +1 -0
  354. package/dist/telemetry/dto/telemetry-dashboard.dto.js +118 -0
  355. package/dist/telemetry/dto/telemetry-dashboard.dto.js.map +1 -0
  356. package/dist/telemetry/dto/telemetry-query.dto.d.ts +44 -0
  357. package/dist/telemetry/dto/telemetry-query.dto.d.ts.map +1 -0
  358. package/dist/telemetry/dto/telemetry-query.dto.js +42 -0
  359. package/dist/telemetry/dto/telemetry-query.dto.js.map +1 -0
  360. package/dist/telemetry/dto/telemetry-status.dto.d.ts +22 -0
  361. package/dist/telemetry/dto/telemetry-status.dto.d.ts.map +1 -0
  362. package/dist/telemetry/dto/telemetry-status.dto.js +12 -0
  363. package/dist/telemetry/dto/telemetry-status.dto.js.map +1 -0
  364. package/dist/telemetry/export/parquet-writer.loader.d.ts +13 -0
  365. package/dist/telemetry/export/parquet-writer.loader.d.ts.map +1 -0
  366. package/dist/telemetry/export/parquet-writer.loader.js +29 -0
  367. package/dist/telemetry/export/parquet-writer.loader.js.map +1 -0
  368. package/dist/telemetry/export/telemetry-export.service.d.ts +39 -0
  369. package/dist/telemetry/export/telemetry-export.service.d.ts.map +1 -0
  370. package/dist/telemetry/export/telemetry-export.service.js +185 -0
  371. package/dist/telemetry/export/telemetry-export.service.js.map +1 -0
  372. package/dist/telemetry/greptime/greptime-host.d.ts +44 -0
  373. package/dist/telemetry/greptime/greptime-host.d.ts.map +1 -0
  374. package/dist/telemetry/greptime/greptime-host.js +114 -0
  375. package/dist/telemetry/greptime/greptime-host.js.map +1 -0
  376. package/dist/telemetry/greptime/greptime.client.d.ts +171 -0
  377. package/dist/telemetry/greptime/greptime.client.d.ts.map +1 -0
  378. package/dist/telemetry/greptime/greptime.client.js +352 -0
  379. package/dist/telemetry/greptime/greptime.client.js.map +1 -0
  380. package/dist/telemetry/greptime/greptime.errors.d.ts +59 -0
  381. package/dist/telemetry/greptime/greptime.errors.d.ts.map +1 -0
  382. package/dist/telemetry/greptime/greptime.errors.js +100 -0
  383. package/dist/telemetry/greptime/greptime.errors.js.map +1 -0
  384. package/dist/telemetry/handlers/telemetry-retention.handler.d.ts +27 -0
  385. package/dist/telemetry/handlers/telemetry-retention.handler.d.ts.map +1 -0
  386. package/dist/telemetry/handlers/telemetry-retention.handler.js +123 -0
  387. package/dist/telemetry/handlers/telemetry-retention.handler.js.map +1 -0
  388. package/dist/telemetry/index.d.ts +37 -0
  389. package/dist/telemetry/index.d.ts.map +1 -0
  390. package/dist/telemetry/index.js +97 -0
  391. package/dist/telemetry/index.js.map +1 -0
  392. package/dist/telemetry/internal/blank-secret.d.ts +3 -0
  393. package/dist/telemetry/internal/blank-secret.d.ts.map +1 -0
  394. package/dist/telemetry/internal/blank-secret.js +14 -0
  395. package/dist/telemetry/internal/blank-secret.js.map +1 -0
  396. package/dist/telemetry/internal/csv.d.ts +9 -0
  397. package/dist/telemetry/internal/csv.d.ts.map +1 -0
  398. package/dist/telemetry/internal/csv.js +23 -0
  399. package/dist/telemetry/internal/csv.js.map +1 -0
  400. package/dist/telemetry/internal/sse.d.ts +23 -0
  401. package/dist/telemetry/internal/sse.d.ts.map +1 -0
  402. package/dist/telemetry/internal/sse.js +43 -0
  403. package/dist/telemetry/internal/sse.js.map +1 -0
  404. package/dist/telemetry/metrics/groups/database.metric-group.d.ts +7 -0
  405. package/dist/telemetry/metrics/groups/database.metric-group.d.ts.map +1 -0
  406. package/dist/telemetry/metrics/groups/database.metric-group.js +159 -0
  407. package/dist/telemetry/metrics/groups/database.metric-group.js.map +1 -0
  408. package/dist/telemetry/metrics/groups/host.metric-group.d.ts +7 -0
  409. package/dist/telemetry/metrics/groups/host.metric-group.d.ts.map +1 -0
  410. package/dist/telemetry/metrics/groups/host.metric-group.js +146 -0
  411. package/dist/telemetry/metrics/groups/host.metric-group.js.map +1 -0
  412. package/dist/telemetry/metrics/groups/nodes.metric-group.d.ts +7 -0
  413. package/dist/telemetry/metrics/groups/nodes.metric-group.d.ts.map +1 -0
  414. package/dist/telemetry/metrics/groups/nodes.metric-group.js +159 -0
  415. package/dist/telemetry/metrics/groups/nodes.metric-group.js.map +1 -0
  416. package/dist/telemetry/metrics/groups/pipeline.metric-group.d.ts +7 -0
  417. package/dist/telemetry/metrics/groups/pipeline.metric-group.d.ts.map +1 -0
  418. package/dist/telemetry/metrics/groups/pipeline.metric-group.js +144 -0
  419. package/dist/telemetry/metrics/groups/pipeline.metric-group.js.map +1 -0
  420. package/dist/telemetry/metrics/groups/queue.metric-group.d.ts +7 -0
  421. package/dist/telemetry/metrics/groups/queue.metric-group.d.ts.map +1 -0
  422. package/dist/telemetry/metrics/groups/queue.metric-group.js +163 -0
  423. package/dist/telemetry/metrics/groups/queue.metric-group.js.map +1 -0
  424. package/dist/telemetry/metrics/groups/uptime.metric-group.d.ts +7 -0
  425. package/dist/telemetry/metrics/groups/uptime.metric-group.d.ts.map +1 -0
  426. package/dist/telemetry/metrics/groups/uptime.metric-group.js +103 -0
  427. package/dist/telemetry/metrics/groups/uptime.metric-group.js.map +1 -0
  428. package/dist/telemetry/metrics/metric-catalog.d.ts +324 -0
  429. package/dist/telemetry/metrics/metric-catalog.d.ts.map +1 -0
  430. package/dist/telemetry/metrics/metric-catalog.helpers.d.ts +30 -0
  431. package/dist/telemetry/metrics/metric-catalog.helpers.d.ts.map +1 -0
  432. package/dist/telemetry/metrics/metric-catalog.helpers.js +37 -0
  433. package/dist/telemetry/metrics/metric-catalog.helpers.js.map +1 -0
  434. package/dist/telemetry/metrics/metric-catalog.js +180 -0
  435. package/dist/telemetry/metrics/metric-catalog.js.map +1 -0
  436. package/dist/telemetry/metrics/metric-group-registry.service.d.ts +59 -0
  437. package/dist/telemetry/metrics/metric-group-registry.service.d.ts.map +1 -0
  438. package/dist/telemetry/metrics/metric-group-registry.service.js +99 -0
  439. package/dist/telemetry/metrics/metric-group-registry.service.js.map +1 -0
  440. package/dist/telemetry/metrics/metric-group.d.ts +113 -0
  441. package/dist/telemetry/metrics/metric-group.d.ts.map +1 -0
  442. package/dist/telemetry/metrics/metric-group.js +647 -0
  443. package/dist/telemetry/metrics/metric-group.js.map +1 -0
  444. package/dist/telemetry/metrics/metric-group.manifest.d.ts +2 -0
  445. package/dist/telemetry/metrics/metric-group.manifest.d.ts.map +1 -0
  446. package/dist/telemetry/metrics/metric-group.manifest.js +30 -0
  447. package/dist/telemetry/metrics/metric-group.manifest.js.map +1 -0
  448. package/dist/telemetry/metrics/metric-group.registry.d.ts +109 -0
  449. package/dist/telemetry/metrics/metric-group.registry.d.ts.map +1 -0
  450. package/dist/telemetry/metrics/metric-group.registry.js +181 -0
  451. package/dist/telemetry/metrics/metric-group.registry.js.map +1 -0
  452. package/dist/telemetry/metrics/metric-sql.d.ts +98 -0
  453. package/dist/telemetry/metrics/metric-sql.d.ts.map +1 -0
  454. package/dist/telemetry/metrics/metric-sql.js +259 -0
  455. package/dist/telemetry/metrics/metric-sql.js.map +1 -0
  456. package/dist/telemetry/metrics/metric-values.d.ts +19 -0
  457. package/dist/telemetry/metrics/metric-values.d.ts.map +1 -0
  458. package/dist/telemetry/metrics/metric-values.js +97 -0
  459. package/dist/telemetry/metrics/metric-values.js.map +1 -0
  460. package/dist/telemetry/metrics/metric-verdict.d.ts +20 -0
  461. package/dist/telemetry/metrics/metric-verdict.d.ts.map +1 -0
  462. package/dist/telemetry/metrics/metric-verdict.js +218 -0
  463. package/dist/telemetry/metrics/metric-verdict.js.map +1 -0
  464. package/dist/telemetry/ports.d.ts +575 -0
  465. package/dist/telemetry/ports.d.ts.map +1 -0
  466. package/dist/telemetry/ports.js +78 -0
  467. package/dist/telemetry/ports.js.map +1 -0
  468. package/dist/telemetry/query/sql-guard.d.ts +71 -0
  469. package/dist/telemetry/query/sql-guard.d.ts.map +1 -0
  470. package/dist/telemetry/query/sql-guard.js +258 -0
  471. package/dist/telemetry/query/sql-guard.js.map +1 -0
  472. package/dist/telemetry/query/telemetry-availability.d.ts +11 -0
  473. package/dist/telemetry/query/telemetry-availability.d.ts.map +1 -0
  474. package/dist/telemetry/query/telemetry-availability.js +55 -0
  475. package/dist/telemetry/query/telemetry-availability.js.map +1 -0
  476. package/dist/telemetry/query/telemetry-query.errors.d.ts +48 -0
  477. package/dist/telemetry/query/telemetry-query.errors.d.ts.map +1 -0
  478. package/dist/telemetry/query/telemetry-query.errors.js +100 -0
  479. package/dist/telemetry/query/telemetry-query.errors.js.map +1 -0
  480. package/dist/telemetry/query/telemetry-query.service.d.ts +57 -0
  481. package/dist/telemetry/query/telemetry-query.service.d.ts.map +1 -0
  482. package/dist/telemetry/query/telemetry-query.service.js +194 -0
  483. package/dist/telemetry/query/telemetry-query.service.js.map +1 -0
  484. package/dist/telemetry/query/telemetry-schema.service.d.ts +36 -0
  485. package/dist/telemetry/query/telemetry-schema.service.d.ts.map +1 -0
  486. package/dist/telemetry/query/telemetry-schema.service.js +154 -0
  487. package/dist/telemetry/query/telemetry-schema.service.js.map +1 -0
  488. package/dist/telemetry/stack/dto/telemetry-stack.dto.d.ts +29 -0
  489. package/dist/telemetry/stack/dto/telemetry-stack.dto.d.ts.map +1 -0
  490. package/dist/telemetry/stack/dto/telemetry-stack.dto.js +27 -0
  491. package/dist/telemetry/stack/dto/telemetry-stack.dto.js.map +1 -0
  492. package/dist/telemetry/stack/stack-agent.client.d.ts +76 -0
  493. package/dist/telemetry/stack/stack-agent.client.d.ts.map +1 -0
  494. package/dist/telemetry/stack/stack-agent.client.js +208 -0
  495. package/dist/telemetry/stack/stack-agent.client.js.map +1 -0
  496. package/dist/telemetry/stack/telemetry-stack-deploy.handler.d.ts +43 -0
  497. package/dist/telemetry/stack/telemetry-stack-deploy.handler.d.ts.map +1 -0
  498. package/dist/telemetry/stack/telemetry-stack-deploy.handler.js +159 -0
  499. package/dist/telemetry/stack/telemetry-stack-deploy.handler.js.map +1 -0
  500. package/dist/telemetry/stack/telemetry-stack.controller.d.ts +14 -0
  501. package/dist/telemetry/stack/telemetry-stack.controller.d.ts.map +1 -0
  502. package/dist/telemetry/stack/telemetry-stack.controller.js +107 -0
  503. package/dist/telemetry/stack/telemetry-stack.controller.js.map +1 -0
  504. package/dist/telemetry/stack/telemetry-stack.service.d.ts +19 -0
  505. package/dist/telemetry/stack/telemetry-stack.service.d.ts.map +1 -0
  506. package/dist/telemetry/stack/telemetry-stack.service.js +122 -0
  507. package/dist/telemetry/stack/telemetry-stack.service.js.map +1 -0
  508. package/dist/telemetry/tasks/telemetry-retention.task.d.ts +8 -0
  509. package/dist/telemetry/tasks/telemetry-retention.task.d.ts.map +1 -0
  510. package/dist/telemetry/tasks/telemetry-retention.task.js +61 -0
  511. package/dist/telemetry/tasks/telemetry-retention.task.js.map +1 -0
  512. package/dist/telemetry/telemetry-admin.controller.d.ts +14 -0
  513. package/dist/telemetry/telemetry-admin.controller.d.ts.map +1 -0
  514. package/dist/telemetry/telemetry-admin.controller.js +148 -0
  515. package/dist/telemetry/telemetry-admin.controller.js.map +1 -0
  516. package/dist/telemetry/telemetry-config.controller.d.ts +14 -0
  517. package/dist/telemetry/telemetry-config.controller.d.ts.map +1 -0
  518. package/dist/telemetry/telemetry-config.controller.js +73 -0
  519. package/dist/telemetry/telemetry-config.controller.js.map +1 -0
  520. package/dist/telemetry/telemetry-explorer.controller.d.ts +14 -0
  521. package/dist/telemetry/telemetry-explorer.controller.d.ts.map +1 -0
  522. package/dist/telemetry/telemetry-explorer.controller.js +193 -0
  523. package/dist/telemetry/telemetry-explorer.controller.js.map +1 -0
  524. package/dist/telemetry/telemetry-settings.service.d.ts +85 -0
  525. package/dist/telemetry/telemetry-settings.service.d.ts.map +1 -0
  526. package/dist/telemetry/telemetry-settings.service.js +278 -0
  527. package/dist/telemetry/telemetry-settings.service.js.map +1 -0
  528. package/dist/telemetry/telemetry-status.service.d.ts +28 -0
  529. package/dist/telemetry/telemetry-status.service.d.ts.map +1 -0
  530. package/dist/telemetry/telemetry-status.service.js +185 -0
  531. package/dist/telemetry/telemetry-status.service.js.map +1 -0
  532. package/dist/telemetry/telemetry-support-bundle.section.d.ts +163 -0
  533. package/dist/telemetry/telemetry-support-bundle.section.d.ts.map +1 -0
  534. package/dist/telemetry/telemetry-support-bundle.section.js +187 -0
  535. package/dist/telemetry/telemetry-support-bundle.section.js.map +1 -0
  536. package/dist/telemetry/telemetry.module.d.ts +35 -0
  537. package/dist/telemetry/telemetry.module.d.ts.map +1 -0
  538. package/dist/telemetry/telemetry.module.js +210 -0
  539. package/dist/telemetry/telemetry.module.js.map +1 -0
  540. package/dist/telemetry/telemetry.options.d.ts +176 -0
  541. package/dist/telemetry/telemetry.options.d.ts.map +1 -0
  542. package/dist/telemetry/telemetry.options.js +246 -0
  543. package/dist/telemetry/telemetry.options.js.map +1 -0
  544. package/dist/telemetry/telemetry.permissions.d.ts +76 -0
  545. package/dist/telemetry/telemetry.permissions.d.ts.map +1 -0
  546. package/dist/telemetry/telemetry.permissions.js +85 -0
  547. package/dist/telemetry/telemetry.permissions.js.map +1 -0
  548. package/dist/telemetry/telemetry.settings.d.ts +79 -0
  549. package/dist/telemetry/telemetry.settings.d.ts.map +1 -0
  550. package/dist/telemetry/telemetry.settings.js +92 -0
  551. package/dist/telemetry/telemetry.settings.js.map +1 -0
  552. package/dist/telemetry/testing/coach-metric-group.fixture.d.ts +17 -0
  553. package/dist/telemetry/testing/coach-metric-group.fixture.d.ts.map +1 -0
  554. package/dist/telemetry/testing/coach-metric-group.fixture.js +128 -0
  555. package/dist/telemetry/testing/coach-metric-group.fixture.js.map +1 -0
  556. package/dist/telemetry/testing/conformance.d.ts +257 -0
  557. package/dist/telemetry/testing/conformance.d.ts.map +1 -0
  558. package/dist/telemetry/testing/conformance.js +626 -0
  559. package/dist/telemetry/testing/conformance.js.map +1 -0
  560. package/dist/telemetry/testing/index.d.ts +10 -0
  561. package/dist/telemetry/testing/index.d.ts.map +1 -0
  562. package/dist/telemetry/testing/index.js +41 -0
  563. package/dist/telemetry/testing/index.js.map +1 -0
  564. package/dist/telemetry/testing/metric-schema.fixture.d.ts +73 -0
  565. package/dist/telemetry/testing/metric-schema.fixture.d.ts.map +1 -0
  566. package/dist/telemetry/testing/metric-schema.fixture.js +362 -0
  567. package/dist/telemetry/testing/metric-schema.fixture.js.map +1 -0
  568. package/dist/telemetry/testing/stub-ports.d.ts +46 -0
  569. package/dist/telemetry/testing/stub-ports.d.ts.map +1 -0
  570. package/dist/telemetry/testing/stub-ports.js +119 -0
  571. package/dist/telemetry/testing/stub-ports.js.map +1 -0
  572. package/dist/testing/conformance-suite.d.ts +106 -0
  573. package/dist/testing/conformance-suite.d.ts.map +1 -0
  574. package/dist/testing/conformance-suite.js +8 -0
  575. package/dist/testing/conformance-suite.js.map +1 -0
  576. package/dist/testing/conformance-suites.d.ts +14 -0
  577. package/dist/testing/conformance-suites.d.ts.map +1 -0
  578. package/dist/testing/conformance-suites.js +27 -0
  579. package/dist/testing/conformance-suites.js.map +1 -0
  580. package/dist/testing/host/in-memory-audit-sink.d.ts +23 -0
  581. package/dist/testing/host/in-memory-audit-sink.d.ts.map +1 -0
  582. package/dist/testing/host/in-memory-audit-sink.js +30 -0
  583. package/dist/testing/host/in-memory-audit-sink.js.map +1 -0
  584. package/dist/testing/host/in-memory-system-settings-store.d.ts +31 -0
  585. package/dist/testing/host/in-memory-system-settings-store.d.ts.map +1 -0
  586. package/dist/testing/host/in-memory-system-settings-store.js +54 -0
  587. package/dist/testing/host/in-memory-system-settings-store.js.map +1 -0
  588. package/dist/testing/host/index.d.ts +4 -0
  589. package/dist/testing/host/index.d.ts.map +1 -0
  590. package/dist/testing/host/index.js +13 -0
  591. package/dist/testing/host/index.js.map +1 -0
  592. package/dist/testing/host/test-platform-host.d.ts +35 -0
  593. package/dist/testing/host/test-platform-host.d.ts.map +1 -0
  594. package/dist/testing/host/test-platform-host.js +81 -0
  595. package/dist/testing/host/test-platform-host.js.map +1 -0
  596. package/dist/testing/index.d.ts +12 -0
  597. package/dist/testing/index.d.ts.map +1 -0
  598. package/dist/testing/index.js +32 -0
  599. package/dist/testing/index.js.map +1 -0
  600. package/dist/testing/prisma-schema.d.ts +99 -0
  601. package/dist/testing/prisma-schema.d.ts.map +1 -0
  602. package/dist/testing/prisma-schema.js +175 -0
  603. package/dist/testing/prisma-schema.js.map +1 -0
  604. package/dist/testing/run-platform-conformance.d.ts +70 -0
  605. package/dist/testing/run-platform-conformance.d.ts.map +1 -0
  606. package/dist/testing/run-platform-conformance.js +77 -0
  607. package/dist/testing/run-platform-conformance.js.map +1 -0
  608. package/dist/testing/suites/cron-enqueue-only.d.ts +46 -0
  609. package/dist/testing/suites/cron-enqueue-only.d.ts.map +1 -0
  610. package/dist/testing/suites/cron-enqueue-only.js +177 -0
  611. package/dist/testing/suites/cron-enqueue-only.js.map +1 -0
  612. package/dist/testing/suites/user-owned-data.d.ts +86 -0
  613. package/dist/testing/suites/user-owned-data.d.ts.map +1 -0
  614. package/dist/testing/suites/user-owned-data.js +329 -0
  615. package/dist/testing/suites/user-owned-data.js.map +1 -0
  616. package/package.json +129 -4
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+ // The `meta` support-bundle section (issue #772): which platform packages are
3
+ // installed, at which versions, and which sections the bundle holds. Built in;
4
+ // registered by `DoctorModule.forRoot()`.
5
+ //
6
+ // NO ACTOR: the caller's id and email are audited, never written into the
7
+ // bundle.
8
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
9
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
10
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
11
+ 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;
12
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
13
+ };
14
+ var __metadata = (this && this.__metadata) || function (k, v) {
15
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
16
+ };
17
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
18
+ return function (target, key) { decorator(target, key, paramIndex); }
19
+ };
20
+ Object.defineProperty(exports, "__esModule", { value: true });
21
+ exports.MetaSupportBundleSection = exports.PLATFORM_PACKAGE_NAMES = void 0;
22
+ const common_1 = require("@nestjs/common");
23
+ const zod_1 = require("zod");
24
+ const support_bundle_registry_1 = require("../support-bundle.registry");
25
+ /**
26
+ * The platform packages whose versions the `meta` section reports, when installed.
27
+ *
28
+ * @stability experimental
29
+ */
30
+ exports.PLATFORM_PACKAGE_NAMES = Object.freeze([
31
+ '@marinoscar/platform-contract',
32
+ '@marinoscar/platform-api',
33
+ '@marinoscar/platform-web',
34
+ '@marinoscar/platform-db',
35
+ '@marinoscar/platform-cli',
36
+ '@marinoscar/platform-infra',
37
+ ]);
38
+ const metaSectionSchema = zod_1.z
39
+ .object({
40
+ platformPackages: zod_1.z
41
+ .record(zod_1.z.string().regex(/^@marinoscar\/platform-[a-z]+$/), zod_1.z.string().max(64))
42
+ .describe('Installed platform packages and their versions; a package that is not installed is absent.'),
43
+ sections: zod_1.z.array(zod_1.z.string()).describe('The section ids this bundle holds, in registration order.'),
44
+ })
45
+ .strict();
46
+ /** Reads `<name>/package.json`'s version, or `null` when the package is not installed. */
47
+ function installedVersion(name) {
48
+ try {
49
+ // Every platform package exports `./package.json`.
50
+ const manifest = require(`${name}/package.json`);
51
+ return typeof manifest.version === 'string' ? manifest.version : null;
52
+ }
53
+ catch {
54
+ return null;
55
+ }
56
+ }
57
+ /**
58
+ * The built-in `meta` section: platform package versions and section ids.
59
+ *
60
+ * @stability experimental
61
+ */
62
+ let MetaSupportBundleSection = class MetaSupportBundleSection {
63
+ registry;
64
+ id = 'meta';
65
+ label = 'Bundle metadata';
66
+ schema = metaSectionSchema;
67
+ constructor(registry) {
68
+ this.registry = registry;
69
+ }
70
+ onModuleInit() {
71
+ this.registry.register(this);
72
+ }
73
+ async collect() {
74
+ const platformPackages = {};
75
+ for (const name of exports.PLATFORM_PACKAGE_NAMES) {
76
+ const version = installedVersion(name);
77
+ if (version !== null)
78
+ platformPackages[name] = version;
79
+ }
80
+ return { platformPackages, sections: this.registry.list().map((section) => section.id) };
81
+ }
82
+ };
83
+ exports.MetaSupportBundleSection = MetaSupportBundleSection;
84
+ exports.MetaSupportBundleSection = MetaSupportBundleSection = __decorate([
85
+ (0, common_1.Injectable)(),
86
+ __param(0, (0, common_1.Inject)(support_bundle_registry_1.SupportBundleRegistry)),
87
+ __metadata("design:paramtypes", [support_bundle_registry_1.SupportBundleRegistry])
88
+ ], MetaSupportBundleSection);
89
+ //# sourceMappingURL=meta.section.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"meta.section.js","sourceRoot":"","sources":["../../../../src/doctor/support-bundle/sections/meta.section.ts"],"names":[],"mappings":";AAAA,8EAA8E;AAC9E,+EAA+E;AAC/E,0CAA0C;AAC1C,EAAE;AACF,0EAA0E;AAC1E,UAAU;;;;;;;;;;;;;;;AAEV,2CAAkE;AAClE,6BAAwB;AAGxB,wEAAmE;AAEnE;;;;GAIG;AACU,QAAA,sBAAsB,GAAsB,MAAM,CAAC,MAAM,CAAC;IACrE,+BAA+B;IAC/B,0BAA0B;IAC1B,0BAA0B;IAC1B,yBAAyB;IACzB,0BAA0B;IAC1B,4BAA4B;CAC7B,CAAC,CAAC;AAEH,MAAM,iBAAiB,GAAG,OAAC;KACxB,MAAM,CAAC;IACN,gBAAgB,EAAE,OAAC;SAChB,MAAM,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,gCAAgC,CAAC,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;SAC9E,QAAQ,CAAC,4FAA4F,CAAC;IACzG,QAAQ,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,2DAA2D,CAAC;CACpG,CAAC;KACD,MAAM,EAAE,CAAC;AASZ,0FAA0F;AAC1F,SAAS,gBAAgB,CAAC,IAAY;IACpC,IAAI,CAAC;QACH,mDAAmD;QACnD,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,IAAI,eAAe,CAA0B,CAAC;QAC1E,OAAO,OAAO,QAAQ,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;IACxE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;GAIG;AAEI,IAAM,wBAAwB,GAA9B,MAAM,wBAAwB;IAKyB;IAJnD,EAAE,GAAG,MAAM,CAAC;IACZ,KAAK,GAAG,iBAAiB,CAAC;IAC1B,MAAM,GAAG,iBAAiB,CAAC;IAEpC,YAA4D,QAA+B;QAA/B,aAAQ,GAAR,QAAQ,CAAuB;IAAG,CAAC;IAE/F,YAAY;QACV,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,OAAO;QACX,MAAM,gBAAgB,GAA2B,EAAE,CAAC;QACpD,KAAK,MAAM,IAAI,IAAI,8BAAsB,EAAE,CAAC;YAC1C,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;YACvC,IAAI,OAAO,KAAK,IAAI;gBAAE,gBAAgB,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC;QACzD,CAAC;QACD,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;IAC3F,CAAC;CACF,CAAA;AAnBY,4DAAwB;mCAAxB,wBAAwB;IADpC,IAAA,mBAAU,GAAE;IAME,WAAA,IAAA,eAAM,EAAC,+CAAqB,CAAC,CAAA;qCAA4B,+CAAqB;GALhF,wBAAwB,CAmBpC"}
@@ -0,0 +1,100 @@
1
+ import type { ZodType } from 'zod';
2
+ /**
3
+ * What a section's `collect()` receives.
4
+ *
5
+ * @stability experimental
6
+ */
7
+ export interface SupportBundleSectionContext {
8
+ /** Who is downloading the bundle. For an audited read the section performs on their behalf; never copy it into the data. */
9
+ readonly actorUserId: string;
10
+ /** Every permission the caller holds. */
11
+ readonly permissions: ReadonlySet<string>;
12
+ /** When the bundle build started. Use it instead of `new Date()` so every section agrees. */
13
+ readonly now: Date;
14
+ /** Aborted when the section's timeout elapses. Pass it on to any I/O that accepts one. */
15
+ readonly signal: AbortSignal;
16
+ }
17
+ /**
18
+ * One section of the support bundle. Implement it in the module that owns the
19
+ * capability, inject `SupportBundleRegistry` and call
20
+ * `registry.register(this)` from `onModuleInit`.
21
+ *
22
+ * @typeParam T - the data the section returns, as its `schema` describes it.
23
+ *
24
+ * @extensionPoint registry
25
+ * @stability experimental
26
+ */
27
+ export interface SupportBundleSection<T = unknown> {
28
+ /** Unique across the application; the key of the section in the bundle (`'doctor'`, `'versions'`, `'telemetry'`). Lowercase letters, digits, `.`, `_` and `-`. */
29
+ readonly id: string;
30
+ /** Human label, for logs and docs. */
31
+ readonly label: string;
32
+ /**
33
+ * A permission needed IN ADDITION to the route's own (`system_settings:read`
34
+ * by default). A caller without it gets `{ status: 'omitted' }` for this
35
+ * section.
36
+ */
37
+ readonly permission?: string;
38
+ /** Strict schema (`.strict()` objects): an unexpected field fails the section closed. */
39
+ readonly schema: ZodType<T>;
40
+ /** Ceiling for `collect()`, in milliseconds. Default 10_000. */
41
+ readonly timeoutMs?: number;
42
+ /**
43
+ * Gathers the section's data. READ-ONLY, like a doctor check: no writes, no
44
+ * jobs, no model calls, no "test" services. Return
45
+ * {@link SupportBundleOmission} (`omitSupportBundleSection(reason)`) when the
46
+ * capability is off and there is nothing to collect.
47
+ *
48
+ * @param ctx - the caller, the build instant and the timeout signal.
49
+ */
50
+ collect(ctx: SupportBundleSectionContext): Promise<T | SupportBundleOmission>;
51
+ }
52
+ declare const OMISSION: unique symbol;
53
+ /**
54
+ * What `collect()` returns to say "nothing to collect" (the capability is
55
+ * switched off or not configured). Build it with {@link omitSupportBundleSection}.
56
+ *
57
+ * @stability experimental
58
+ */
59
+ export interface SupportBundleOmission {
60
+ /** Brand; do not construct by hand. */
61
+ readonly [OMISSION]: true;
62
+ /** One line saying why, shown as the section's `reason`. */
63
+ readonly reason: string;
64
+ }
65
+ /**
66
+ * Marks a section as `omitted` from inside `collect()`.
67
+ *
68
+ * @param reason - one line saying why (`'telemetry is switched off'`).
69
+ * @returns the omission marker to return from `collect()`.
70
+ *
71
+ * @example
72
+ * ```ts
73
+ * if (!policy.enabled) return omitSupportBundleSection('telemetry is switched off');
74
+ * ```
75
+ *
76
+ * @stability experimental
77
+ */
78
+ export declare function omitSupportBundleSection(reason: string): SupportBundleOmission;
79
+ /**
80
+ * Whether `value` is the marker {@link omitSupportBundleSection} returns.
81
+ *
82
+ * @param value - what a section's `collect()` resolved with.
83
+ * @returns `true` for an omission.
84
+ *
85
+ * @stability experimental
86
+ */
87
+ export declare function isSupportBundleOmission(value: unknown): value is SupportBundleOmission;
88
+ /**
89
+ * Who is downloading the bundle, as the route resolves them from the request.
90
+ *
91
+ * @stability experimental
92
+ */
93
+ export interface SupportBundlePrincipal {
94
+ /** The caller's user id. Audited; never written into the bundle. */
95
+ readonly userId: string;
96
+ /** Every permission the caller holds. */
97
+ readonly permissions: readonly string[];
98
+ }
99
+ export {};
100
+ //# sourceMappingURL=support-bundle-section.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"support-bundle-section.interface.d.ts","sourceRoot":"","sources":["../../../src/doctor/support-bundle/support-bundle-section.interface.ts"],"names":[],"mappings":"AA2BA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AAEnC;;;;GAIG;AACH,MAAM,WAAW,2BAA2B;IAC1C,4HAA4H;IAC5H,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,yCAAyC;IACzC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC1C,6FAA6F;IAC7F,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC;IACnB,0FAA0F;IAC1F,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;CAC9B;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,oBAAoB,CAAC,CAAC,GAAG,OAAO;IAC/C,kKAAkK;IAClK,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,sCAAsC;IACtC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB;;;;OAIG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,yFAAyF;IACzF,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IAC5B,gEAAgE;IAChE,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B;;;;;;;OAOG;IACH,OAAO,CAAC,GAAG,EAAE,2BAA2B,GAAG,OAAO,CAAC,CAAC,GAAG,qBAAqB,CAAC,CAAC;CAC/E;AAED,QAAA,MAAM,QAAQ,eAAkE,CAAC;AAEjF;;;;;GAKG;AACH,MAAM,WAAW,qBAAqB;IACpC,uCAAuC;IACvC,QAAQ,CAAC,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC;IAC1B,4DAA4D;IAC5D,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,GAAG,qBAAqB,CAE9E;AAED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,qBAAqB,CAEtF;AAED;;;;GAIG;AACH,MAAM,WAAW,sBAAsB;IACrC,oEAAoE;IACpE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,yCAAyC;IACzC,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;CACzC"}
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ // =============================================================================
3
+ // The support-bundle section contract (issue #772, PP-13.1)
4
+ // =============================================================================
5
+ //
6
+ // A SECTION is one capability's contribution to the support bundle
7
+ // (`GET /api/admin/doctor/support-bundle`): the Doctor report, the versions,
8
+ // a telemetry summary, an app's own facts. It mirrors a doctor check:
9
+ //
10
+ // 1. READ-ONLY, like a doctor check (rule 3 of `doctor-check.interface.ts`):
11
+ // no writes, no jobs, no model calls, no "test" services. An audited
12
+ // read the capability already performs (the telemetry dashboard's
13
+ // `telemetry:dashboard` row) is fine; a new write is not.
14
+ // 2. ALLOWLIST, NEVER DENYLIST. `collect()` copies the fields it means to
15
+ // send into a new object; it never spreads a service's response. The
16
+ // section's `schema` is STRICT (`.strict()` objects), so a field nobody
17
+ // chose fails the section closed (status `error`, data dropped) instead
18
+ // of leaking.
19
+ // 3. NO SECRET MATERIAL, no personal data beyond counts. A central redaction
20
+ // pass (`redact.ts`) runs over the whole bundle afterwards, but it is the
21
+ // second line of defence, not the first.
22
+ // 4. BOUNDED. Each section runs under `timeoutMs` (default 10 s) and its
23
+ // serialized data is capped at 512 KiB.
24
+ //
25
+ // Sections self-register with `SupportBundleRegistry` from `onModuleInit`,
26
+ // exactly as checks register with `DoctorCheckRegistry`.
27
+ // =============================================================================
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.omitSupportBundleSection = omitSupportBundleSection;
30
+ exports.isSupportBundleOmission = isSupportBundleOmission;
31
+ const OMISSION = Symbol.for('@marinoscar/platform/doctor/SupportBundleOmission');
32
+ /**
33
+ * Marks a section as `omitted` from inside `collect()`.
34
+ *
35
+ * @param reason - one line saying why (`'telemetry is switched off'`).
36
+ * @returns the omission marker to return from `collect()`.
37
+ *
38
+ * @example
39
+ * ```ts
40
+ * if (!policy.enabled) return omitSupportBundleSection('telemetry is switched off');
41
+ * ```
42
+ *
43
+ * @stability experimental
44
+ */
45
+ function omitSupportBundleSection(reason) {
46
+ return Object.freeze({ [OMISSION]: true, reason });
47
+ }
48
+ /**
49
+ * Whether `value` is the marker {@link omitSupportBundleSection} returns.
50
+ *
51
+ * @param value - what a section's `collect()` resolved with.
52
+ * @returns `true` for an omission.
53
+ *
54
+ * @stability experimental
55
+ */
56
+ function isSupportBundleOmission(value) {
57
+ return typeof value === 'object' && value !== null && value[OMISSION] === true;
58
+ }
59
+ //# sourceMappingURL=support-bundle-section.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"support-bundle-section.interface.js","sourceRoot":"","sources":["../../../src/doctor/support-bundle/support-bundle-section.interface.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,4DAA4D;AAC5D,gFAAgF;AAChF,EAAE;AACF,mEAAmE;AACnE,6EAA6E;AAC7E,sEAAsE;AACtE,EAAE;AACF,+EAA+E;AAC/E,0EAA0E;AAC1E,uEAAuE;AACvE,+DAA+D;AAC/D,4EAA4E;AAC5E,0EAA0E;AAC1E,6EAA6E;AAC7E,6EAA6E;AAC7E,mBAAmB;AACnB,+EAA+E;AAC/E,+EAA+E;AAC/E,8CAA8C;AAC9C,2EAA2E;AAC3E,6CAA6C;AAC7C,EAAE;AACF,2EAA2E;AAC3E,yDAAyD;AACzD,gFAAgF;;AAoFhF,4DAEC;AAUD,0DAEC;AA1CD,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC;AAejF;;;;;;;;;;;;GAYG;AACH,SAAgB,wBAAwB,CAAC,MAAc;IACrD,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,IAAa,EAAE,MAAM,EAAE,CAAC,CAAC;AAC9D,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,uBAAuB,CAAC,KAAc;IACpD,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAK,KAAiC,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC;AAC9G,CAAC"}
@@ -0,0 +1,57 @@
1
+ import { Type } from '@nestjs/common';
2
+ import type { FastifyReply } from 'fastify';
3
+ import type { ResolvedDoctorModuleOptions } from '../doctor.options';
4
+ declare const SupportBundleDto_base: import("nestjs-zod").ZodDto<import("zod").ZodObject<{
5
+ bundleVersion: import("zod").ZodLiteral<1>;
6
+ generatedAt: import("zod").ZodString;
7
+ redaction: import("zod").ZodObject<{
8
+ rules: import("zod").ZodLiteral<"v1">;
9
+ replacements: import("zod").ZodNumber;
10
+ }, import("zod/v4/core").$strip>;
11
+ sections: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
12
+ status: import("zod").ZodLiteral<"ok">;
13
+ data: import("zod").ZodUnknown;
14
+ truncated: import("zod").ZodOptional<import("zod").ZodBoolean>;
15
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
16
+ status: import("zod").ZodLiteral<"omitted">;
17
+ reason: import("zod").ZodString;
18
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
19
+ status: import("zod").ZodLiteral<"error">;
20
+ error: import("zod").ZodString;
21
+ }, import("zod/v4/core").$strip>], "status">>;
22
+ }, import("zod/v4/core").$strip>, false>;
23
+ /**
24
+ * The bundle's OpenAPI schema (from `@marinoscar/platform-contract/doctor`).
25
+ *
26
+ * @stability experimental
27
+ */
28
+ export declare class SupportBundleDto extends SupportBundleDto_base {
29
+ }
30
+ /**
31
+ * The shape of the controller class {@link createSupportBundleController} returns.
32
+ *
33
+ * @stability experimental
34
+ */
35
+ export interface SupportBundleControllerInstance {
36
+ /**
37
+ * `GET <path>/support-bundle`: builds the bundle and sends it as a JSON attachment.
38
+ *
39
+ * @param request - the framework request (the caller is resolved from it).
40
+ * @param reply - the Fastify reply the file is written to.
41
+ */
42
+ download(request: unknown, reply: FastifyReply): Promise<FastifyReply>;
43
+ }
44
+ /**
45
+ * Creates the support bundle's controller class for one set of options: the
46
+ * route at `<options.path>/support-bundle`, guarded by
47
+ * `options.host.access.requirePermissions([options.permission])`.
48
+ * `DoctorModule.forRoot()` calls it; an app never needs to.
49
+ *
50
+ * @param options - the resolved Doctor module options.
51
+ * @returns a controller class named `SupportBundleController` with a `download` handler.
52
+ *
53
+ * @stability experimental
54
+ */
55
+ export declare function createSupportBundleController(options: ResolvedDoctorModuleOptions): Type<SupportBundleControllerInstance>;
56
+ export {};
57
+ //# sourceMappingURL=support-bundle.controller.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"support-bundle.controller.d.ts","sourceRoot":"","sources":["../../../src/doctor/support-bundle/support-bundle.controller.ts"],"names":[],"mappings":"AAwBA,OAAO,EAAyD,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAE7F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAI5C,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAC;;;;;;;;;;;;;;;;;;;;AAIrE;;;;GAIG;AACH,qBAAa,gBAAiB,SAAQ,qBAAiC;CAAG;AAE1E;;;;GAIG;AACH,MAAM,WAAW,+BAA+B;IAC9C;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;CACxE;AAuBD;;;;;;;;;;GAUG;AACH,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,2BAA2B,GAAG,IAAI,CAAC,+BAA+B,CAAC,CA+CzH"}
@@ -0,0 +1,141 @@
1
+ "use strict";
2
+ // =============================================================================
3
+ // GET /api/admin/doctor/support-bundle, created per app (issue #772, PP-13.1)
4
+ // =============================================================================
5
+ //
6
+ // The controller-factory recipe (core README, "Host ports"), as the Doctor's
7
+ // own controller: the class is defined inside a function
8
+ // `DoctorModule.forRoot()` calls, with the access decorator the app's host
9
+ // supplies, so the route gets exactly the app's `@Auth()`.
10
+ //
11
+ // A SIBLING of `DoctorController`, not a new handler on it, so the Doctor's
12
+ // own OpenAPI operation (`doctor_getReport`) stays word for word what it was.
13
+ // Same path prefix, same permission (`system_settings:read` by default): the
14
+ // bundle describes the deployment's configuration and health, exactly what
15
+ // that permission covers, and no new permission is invented. A section that
16
+ // needs more (telemetry needs `telemetry:query`) declares it and is `omitted`
17
+ // for a caller without it.
18
+ //
19
+ // The body is the FILE, not the `{ data, meta }` envelope: the handler writes
20
+ // the reply itself (`@Res()`), like the telemetry export.
21
+ //
22
+ // Not `@AllowDuringMaintenance()`, the same as the Doctor route: the doctor
23
+ // section performs network I/O through the checks.
24
+ // =============================================================================
25
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
26
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
27
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
28
+ 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;
29
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
30
+ };
31
+ var __metadata = (this && this.__metadata) || function (k, v) {
32
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
33
+ };
34
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
35
+ return function (target, key) { decorator(target, key, paramIndex); }
36
+ };
37
+ Object.defineProperty(exports, "__esModule", { value: true });
38
+ exports.SupportBundleDto = void 0;
39
+ exports.createSupportBundleController = createSupportBundleController;
40
+ const common_1 = require("@nestjs/common");
41
+ const swagger_1 = require("@nestjs/swagger");
42
+ const nestjs_zod_1 = require("nestjs-zod");
43
+ const doctor_1 = require("@marinoscar/platform-contract/doctor");
44
+ const support_bundle_options_1 = require("./support-bundle.options");
45
+ const support_bundle_service_1 = require("./support-bundle.service");
46
+ /**
47
+ * The bundle's OpenAPI schema (from `@marinoscar/platform-contract/doctor`).
48
+ *
49
+ * @stability experimental
50
+ */
51
+ class SupportBundleDto extends (0, nestjs_zod_1.createZodDto)(doctor_1.supportBundleSchema) {
52
+ }
53
+ exports.SupportBundleDto = SupportBundleDto;
54
+ function describeOperation(options) {
55
+ return ('Builds one JSON file for a support ticket: the doctor report, the deployment versions, ' +
56
+ 'a 24-hour telemetry summary and every section the application registers, each validated ' +
57
+ 'by its own strict schema and then passed through a central redaction pass that removes ' +
58
+ 'secrets and personal data (rules `v1`; `redaction.replacements` counts what it replaced). ' +
59
+ 'Raw logs, traces and query results are never included.\n\n' +
60
+ '**Returned as an attachment** (`Content-Disposition: attachment; filename="support-bundle-' +
61
+ `${options.supportBundle.appSlug}-<yyyyMMdd'T'HHmmss'Z'>.json"\`), not in the \`{ data }\` envelope.\n\n` +
62
+ '**Per-section outcome.** `ok` (collected), `omitted` (a section-specific permission is missing — ' +
63
+ 'the telemetry section needs `telemetry:query` — or the capability is off) or `error` (the section ' +
64
+ 'threw, timed out or broke its schema; its data is dropped). The rest of the bundle is always intact.\n\n' +
65
+ `**Bounded.** Sections run in parallel, each cut off after ${options.supportBundle.sectionTimeoutMs} ms ` +
66
+ `unless it declares otherwise; ${support_bundle_options_1.SUPPORT_BUNDLE_SECTION_MAX_BYTES} bytes per section and ` +
67
+ `${support_bundle_options_1.SUPPORT_BUNDLE_MAX_BYTES} bytes per bundle (larger sections are truncated). The doctor report is ` +
68
+ 'served from its cache, so a download never multiplies probes.\n\n' +
69
+ 'Audited as `support_bundle:download`. ' +
70
+ `Requires \`${options.permission}\`.`);
71
+ }
72
+ /**
73
+ * Creates the support bundle's controller class for one set of options: the
74
+ * route at `<options.path>/support-bundle`, guarded by
75
+ * `options.host.access.requirePermissions([options.permission])`.
76
+ * `DoctorModule.forRoot()` calls it; an app never needs to.
77
+ *
78
+ * @param options - the resolved Doctor module options.
79
+ * @returns a controller class named `SupportBundleController` with a `download` handler.
80
+ *
81
+ * @stability experimental
82
+ */
83
+ function createSupportBundleController(options) {
84
+ const requireAccess = options.host.access.requirePermissions([options.permission]);
85
+ let SupportBundleController = class SupportBundleController {
86
+ bundles;
87
+ constructor(bundles) {
88
+ this.bundles = bundles;
89
+ }
90
+ async download(request, reply) {
91
+ const actor = options.supportBundle.principal(request);
92
+ if (!actor)
93
+ throw new common_1.ForbiddenException('The caller could not be identified.');
94
+ const built = await this.bundles.download(actor);
95
+ return reply
96
+ .status(200)
97
+ .header('Content-Type', 'application/json; charset=utf-8')
98
+ .header('Content-Disposition', `attachment; filename="${built.filename}"`)
99
+ .header('Content-Length', String(built.body.length))
100
+ .header('Cache-Control', 'no-store')
101
+ .header('X-Content-Type-Options', 'nosniff')
102
+ .send(built.body);
103
+ }
104
+ };
105
+ __decorate([
106
+ (0, common_1.Get)(support_bundle_options_1.SUPPORT_BUNDLE_SUBPATH),
107
+ requireAccess,
108
+ (0, swagger_1.ApiOperation)({
109
+ summary: 'Download a redacted support bundle (Admin only)',
110
+ description: describeOperation(options),
111
+ }),
112
+ (0, swagger_1.ApiProduces)('application/json'),
113
+ (0, swagger_1.ApiResponse)({
114
+ status: 200,
115
+ description: 'The support bundle, as a JSON attachment.',
116
+ type: SupportBundleDto,
117
+ headers: {
118
+ 'Content-Disposition': {
119
+ description: "`attachment; filename=\"support-bundle-<slug>-<yyyyMMdd'T'HHmmss'Z'>.json\"`",
120
+ schema: { type: 'string' },
121
+ },
122
+ 'Cache-Control': { description: '`no-store`', schema: { type: 'string' } },
123
+ },
124
+ }),
125
+ (0, swagger_1.ApiResponse)({ status: 401, description: 'Not signed in' }),
126
+ (0, swagger_1.ApiResponse)({ status: 403, description: `Missing \`${options.permission}\`` }),
127
+ __param(0, (0, common_1.Req)()),
128
+ __param(1, (0, common_1.Res)()),
129
+ __metadata("design:type", Function),
130
+ __metadata("design:paramtypes", [Object, Object]),
131
+ __metadata("design:returntype", Promise)
132
+ ], SupportBundleController.prototype, "download", null);
133
+ SupportBundleController = __decorate([
134
+ (0, swagger_1.ApiTags)('Doctor'),
135
+ (0, common_1.Controller)(options.path),
136
+ __param(0, (0, common_1.Inject)(support_bundle_service_1.SupportBundleService)),
137
+ __metadata("design:paramtypes", [support_bundle_service_1.SupportBundleService])
138
+ ], SupportBundleController);
139
+ return SupportBundleController;
140
+ }
141
+ //# sourceMappingURL=support-bundle.controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"support-bundle.controller.js","sourceRoot":"","sources":["../../../src/doctor/support-bundle/support-bundle.controller.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,8EAA8E;AAC9E,gFAAgF;AAChF,EAAE;AACF,6EAA6E;AAC7E,yDAAyD;AACzD,2EAA2E;AAC3E,2DAA2D;AAC3D,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,2EAA2E;AAC3E,4EAA4E;AAC5E,8EAA8E;AAC9E,2BAA2B;AAC3B,EAAE;AACF,8EAA8E;AAC9E,0DAA0D;AAC1D,EAAE;AACF,4EAA4E;AAC5E,mDAAmD;AACnD,gFAAgF;;;;;;;;;;;;;;;AAkEhF,sEA+CC;AA/GD,2CAA6F;AAC7F,6CAAkF;AAElF,2CAA0C;AAC1C,iEAA2E;AAG3E,qEAA8H;AAC9H,qEAAgE;AAEhE;;;;GAIG;AACH,MAAa,gBAAiB,SAAQ,IAAA,yBAAY,EAAC,4BAAmB,CAAC;CAAG;AAA1E,4CAA0E;AAiB1E,SAAS,iBAAiB,CAAC,OAAoC;IAC7D,OAAO,CACL,yFAAyF;QACzF,0FAA0F;QAC1F,yFAAyF;QACzF,4FAA4F;QAC5F,4DAA4D;QAC5D,4FAA4F;QAC5F,GAAG,OAAO,CAAC,aAAa,CAAC,OAAO,yEAAyE;QACzG,mGAAmG;QACnG,oGAAoG;QACpG,0GAA0G;QAC1G,6DAA6D,OAAO,CAAC,aAAa,CAAC,gBAAgB,MAAM;QACzG,iCAAiC,yDAAgC,yBAAyB;QAC1F,GAAG,iDAAwB,0EAA0E;QACrG,mEAAmE;QACnE,wCAAwC;QACxC,cAAc,OAAO,CAAC,UAAU,KAAK,CACtC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAgB,6BAA6B,CAAC,OAAoC;IAChF,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;IAEnF,IAEM,uBAAuB,GAF7B,MAEM,uBAAuB;QACgC;QAA3D,YAA2D,OAA6B;YAA7B,YAAO,GAAP,OAAO,CAAsB;QAAG,CAAC;QAuBtF,AAAN,KAAK,CAAC,QAAQ,CAAQ,OAAgB,EAAS,KAAmB;YAChE,MAAM,KAAK,GAAG,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YACvD,IAAI,CAAC,KAAK;gBAAE,MAAM,IAAI,2BAAkB,CAAC,qCAAqC,CAAC,CAAC;YAEhF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAEjD,OAAO,KAAK;iBACT,MAAM,CAAC,GAAG,CAAC;iBACX,MAAM,CAAC,cAAc,EAAE,iCAAiC,CAAC;iBACzD,MAAM,CAAC,qBAAqB,EAAE,yBAAyB,KAAK,CAAC,QAAQ,GAAG,CAAC;iBACzE,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;iBACnD,MAAM,CAAC,eAAe,EAAE,UAAU,CAAC;iBACnC,MAAM,CAAC,wBAAwB,EAAE,SAAS,CAAC;iBAC3C,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC;KACF,CAAA;IAfO;QArBL,IAAA,YAAG,EAAC,+CAAsB,CAAC;QAC3B,aAAa;QACb,IAAA,sBAAY,EAAC;YACZ,OAAO,EAAE,iDAAiD;YAC1D,WAAW,EAAE,iBAAiB,CAAC,OAAO,CAAC;SACxC,CAAC;QACD,IAAA,qBAAW,EAAC,kBAAkB,CAAC;QAC/B,IAAA,qBAAW,EAAC;YACX,MAAM,EAAE,GAAG;YACX,WAAW,EAAE,2CAA2C;YACxD,IAAI,EAAE,gBAAgB;YACtB,OAAO,EAAE;gBACP,qBAAqB,EAAE;oBACrB,WAAW,EAAE,8EAA8E;oBAC3F,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC3B;gBACD,eAAe,EAAE,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;aAC3E;SACF,CAAC;QACD,IAAA,qBAAW,EAAC,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,eAAe,EAAE,CAAC;QAC1D,IAAA,qBAAW,EAAC,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,aAAa,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC;QAC/D,WAAA,IAAA,YAAG,GAAE,CAAA;QAAoB,WAAA,IAAA,YAAG,GAAE,CAAA;;;;2DAc7C;IAtCG,uBAAuB;QAF5B,IAAA,iBAAO,EAAC,QAAQ,CAAC;QACjB,IAAA,mBAAU,EAAC,OAAO,CAAC,IAAI,CAAC;QAEV,WAAA,IAAA,eAAM,EAAC,6CAAoB,CAAC,CAAA;yCAA2B,6CAAoB;OADpF,uBAAuB,CAuC5B;IAED,OAAO,uBAAuB,CAAC;AACjC,CAAC"}
@@ -0,0 +1,92 @@
1
+ import type { SupportBundlePrincipal } from './support-bundle-section.interface';
2
+ /**
3
+ * Ceiling for one section's `collect()` when it declares no `timeoutMs`, in
4
+ * milliseconds.
5
+ *
6
+ * @stability experimental
7
+ */
8
+ export declare const SUPPORT_BUNDLE_SECTION_TIMEOUT_MS = 10000;
9
+ /**
10
+ * A section whose serialized data is larger than this many bytes is replaced
11
+ * by `{ status: 'ok', data: null, truncated: true }`.
12
+ *
13
+ * @stability experimental
14
+ */
15
+ export declare const SUPPORT_BUNDLE_SECTION_MAX_BYTES: number;
16
+ /**
17
+ * The whole bundle's ceiling, in bytes of pretty-printed JSON. Above it the
18
+ * largest sections are truncated first until it fits.
19
+ *
20
+ * @stability experimental
21
+ */
22
+ export declare const SUPPORT_BUNDLE_MAX_BYTES: number;
23
+ /**
24
+ * The route path under the Doctor's own path (`admin/doctor/support-bundle`).
25
+ *
26
+ * @stability experimental
27
+ */
28
+ export declare const SUPPORT_BUNDLE_SUBPATH = "support-bundle";
29
+ /**
30
+ * The audit action of one download.
31
+ *
32
+ * @stability experimental
33
+ */
34
+ export declare const SUPPORT_BUNDLE_AUDIT_ACTION = "support_bundle:download";
35
+ /**
36
+ * What an app passes as `DoctorModuleOptions.supportBundle`.
37
+ *
38
+ * @extensionPoint option
39
+ * @stability experimental
40
+ */
41
+ export interface SupportBundleOptions {
42
+ /**
43
+ * The app's slug, used in the download's filename
44
+ * (`support-bundle-<appSlug>-<yyyyMMdd'T'HHmmss'Z'>.json`). Lowercase
45
+ * letters, digits and dashes. Default `'app'`.
46
+ */
47
+ appSlug?: string;
48
+ /**
49
+ * Resolves the signed-in caller from the request, after the route's access
50
+ * check has passed. Default: `request.requestUser`, then `request.user`,
51
+ * when either has a string `id` and a string-array `permissions`. Returning
52
+ * `null` refuses the download with 403.
53
+ */
54
+ principal?: (request: unknown) => SupportBundlePrincipal | null;
55
+ /** Per-section ceiling when a section declares none, in milliseconds. Default {@link SUPPORT_BUNDLE_SECTION_TIMEOUT_MS}. */
56
+ sectionTimeoutMs?: number;
57
+ }
58
+ /**
59
+ * `SupportBundleOptions` with every default applied.
60
+ *
61
+ * @stability experimental
62
+ */
63
+ export interface ResolvedSupportBundleOptions {
64
+ /** `false` when the app passed `supportBundle: false`: no route, no built-in sections. */
65
+ readonly enabled: boolean;
66
+ /** The slug in the download's filename. */
67
+ readonly appSlug: string;
68
+ /** Resolves the caller from the request. */
69
+ readonly principal: (request: unknown) => SupportBundlePrincipal | null;
70
+ /** Per-section ceiling when a section declares none, in milliseconds. */
71
+ readonly sectionTimeoutMs: number;
72
+ }
73
+ /**
74
+ * The default {@link SupportBundleOptions.principal}: `request.requestUser`,
75
+ * then `request.user`, when either carries a string `id` and a string-array
76
+ * `permissions` (the reference app's `RequestUser`).
77
+ *
78
+ * @param request - the framework request.
79
+ * @returns the caller, or `null` when neither property has that shape.
80
+ *
81
+ * @stability experimental
82
+ */
83
+ export declare function defaultSupportBundlePrincipal(request: unknown): SupportBundlePrincipal | null;
84
+ /**
85
+ * Validates `supportBundle` and applies its defaults.
86
+ *
87
+ * @param options - what the app passed (`undefined`, `false` or an object).
88
+ * @param fail - throws the module's own error.
89
+ * @returns the resolved, frozen options.
90
+ */
91
+ export declare function resolveSupportBundleOptions(options: SupportBundleOptions | false | undefined, fail: (why: string) => never): ResolvedSupportBundleOptions;
92
+ //# sourceMappingURL=support-bundle.options.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"support-bundle.options.d.ts","sourceRoot":"","sources":["../../../src/doctor/support-bundle/support-bundle.options.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAEjF;;;;;GAKG;AACH,eAAO,MAAM,iCAAiC,QAAS,CAAC;AAExD;;;;;GAKG;AACH,eAAO,MAAM,gCAAgC,QAAa,CAAC;AAE3D;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,QAAkB,CAAC;AAExD;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,mBAAmB,CAAC;AAEvD;;;;GAIG;AACH,eAAO,MAAM,2BAA2B,4BAA4B,CAAC;AAErE;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,sBAAsB,GAAG,IAAI,CAAC;IAChE,4HAA4H;IAC5H,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;;;GAIG;AACH,MAAM,WAAW,4BAA4B;IAC3C,0FAA0F;IAC1F,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,2CAA2C;IAC3C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,4CAA4C;IAC5C,QAAQ,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,sBAAsB,GAAG,IAAI,CAAC;IACxE,yEAAyE;IACzE,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;CACnC;AAMD;;;;;;;;;GASG;AACH,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,OAAO,GAAG,sBAAsB,GAAG,IAAI,CAS7F;AAED;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,oBAAoB,GAAG,KAAK,GAAG,SAAS,EACjD,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,KAAK,GAC3B,4BAA4B,CAuB9B"}