@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,140 @@
1
+ "use strict";
2
+ // =============================================================================
3
+ // User-owned data registry (issue #688 PP-1.9, moved to core by #699)
4
+ // =============================================================================
5
+ //
6
+ // Every Prisma model holding a foreign key to `User` is registered here, with
7
+ // the role of each such key (OWNER: the row belongs to the user; ACTOR: the
8
+ // row only names a user who acted), what happens to the row when the user's
9
+ // data is purged, and whether the user's data export includes it.
10
+ //
11
+ // Two things read it:
12
+ //
13
+ // - the `userOwnedData` conformance suite (`@marinoscar/platform-api/testing`):
14
+ // fails when a model gains a `User` relation without an entry, when an
15
+ // entry names a model or field that does not exist, or when a purge policy
16
+ // contradicts the relation's `onDelete`;
17
+ // - the scoped client (./scoped-client.ts): confines a scoped client's
18
+ // queries on a registered owner model to the scope's user, and refuses
19
+ // every other model.
20
+ //
21
+ // ⚠ FRAMEWORK-FREE ON PURPOSE, like the registry primitive: seeds and
22
+ // standalone scripts may read it without a Nest container. The app fills it
23
+ // from one manifest (platform entries, then its own); a packaged slice
24
+ // registers its own models when it is extracted.
25
+ // =============================================================================
26
+ Object.defineProperty(exports, "__esModule", { value: true });
27
+ exports.userOwnedModelRegistry = void 0;
28
+ exports.registerUserOwnedModels = registerUserOwnedModels;
29
+ exports.ownerFieldOf = ownerFieldOf;
30
+ exports.ownerRelationOf = ownerRelationOf;
31
+ const registry_1 = require("../registry/registry");
32
+ function validate(def) {
33
+ const actors = def.actorFields ?? [];
34
+ if (def.ownerField === undefined && actors.length === 0) {
35
+ throw new Error('declare an ownerField, actorFields, or both');
36
+ }
37
+ if (def.ownerField !== undefined && def.ownerField.trim() === '') {
38
+ throw new Error('ownerField must not be empty');
39
+ }
40
+ if (actors.some((field) => typeof field !== 'string' || field.trim() === '')) {
41
+ throw new Error('actorFields must be non-empty strings');
42
+ }
43
+ if (new Set(actors).size !== actors.length) {
44
+ throw new Error('actorFields must not repeat a field');
45
+ }
46
+ if (def.ownerField !== undefined && actors.includes(def.ownerField)) {
47
+ throw new Error(`"${def.ownerField}" cannot be both the ownerField and an actor field`);
48
+ }
49
+ if (def.ownerRelation !== undefined && def.ownerField === undefined) {
50
+ throw new Error('ownerRelation requires an ownerField');
51
+ }
52
+ if (!['delete', 'detach', 'retain'].includes(def.purge)) {
53
+ throw new Error(`purge must be 'delete', 'detach' or 'retain', not ${JSON.stringify(def.purge)}`);
54
+ }
55
+ if (def.purge === 'retain' && def.ownerField !== undefined) {
56
+ throw new Error("purge 'retain' is only for actor-only models: a user's own rows are deleted or detached");
57
+ }
58
+ if (!['include', 'exclude'].includes(def.export)) {
59
+ throw new Error(`export must be 'include' or 'exclude', not ${JSON.stringify(def.export)}`);
60
+ }
61
+ if (def.exportOmit !== undefined && def.export === 'exclude' && def.exportOmit.length > 0) {
62
+ throw new Error("exportOmit is meaningless when export is 'exclude'");
63
+ }
64
+ if (typeof def.rationale !== 'string' || def.rationale.trim() === '') {
65
+ throw new Error('rationale is required');
66
+ }
67
+ }
68
+ /**
69
+ * The static registry of models holding a foreign key to `User`, keyed by
70
+ * model name. One per process: the app fills it from a manifest imported
71
+ * before bootstrap, and `RegistryFreezeService` freezes it with every other
72
+ * `defineRegistry` registry.
73
+ *
74
+ * @stability experimental
75
+ * @extensionPoint registry
76
+ * @example
77
+ * ```ts
78
+ * // apps/api/src/prisma/ownership/user-owned-model.manifest.ts
79
+ * registerUserOwnedModels(PLATFORM_USER_OWNED_MODELS);
80
+ * registerUserOwnedModels(APP_USER_OWNED_MODELS);
81
+ *
82
+ * userOwnedModelRegistry.get('UserCredential')?.ownerField; // 'userId'
83
+ * ```
84
+ */
85
+ exports.userOwnedModelRegistry = (0, registry_1.defineRegistry)({
86
+ name: 'user-owned-models',
87
+ idOf: (def) => def.model,
88
+ // A Prisma model name: PascalCase identifier.
89
+ idPattern: /^[A-Z][A-Za-z0-9_]*$/,
90
+ validate,
91
+ });
92
+ /**
93
+ * Registers a batch of definitions in {@link userOwnedModelRegistry}, all or
94
+ * nothing.
95
+ *
96
+ * @param defs - the definitions; an app may type them with its own model names.
97
+ * @throws RegistryError `INVALID_ENTRY`, `DUPLICATE_ID` or `FROZEN`.
98
+ *
99
+ * @stability experimental
100
+ * @example
101
+ * ```ts
102
+ * registerUserOwnedModels([
103
+ * { model: 'Workout', ownerField: 'userId', purge: 'delete', export: 'include', rationale: "The user's own log." },
104
+ * ]);
105
+ * ```
106
+ */
107
+ function registerUserOwnedModels(defs) {
108
+ exports.userOwnedModelRegistry.registerAll(defs);
109
+ }
110
+ /**
111
+ * The owner field of a registered model, or `undefined` (actor-only or
112
+ * unregistered).
113
+ *
114
+ * @param model - the Prisma model name.
115
+ * @stability experimental
116
+ * @example
117
+ * ```ts
118
+ * ownerFieldOf('StorageObject'); // 'uploadedById'
119
+ * ```
120
+ */
121
+ function ownerFieldOf(model) {
122
+ return exports.userOwnedModelRegistry.get(model)?.ownerField;
123
+ }
124
+ /**
125
+ * The relation field backing a definition's owner field: `ownerRelation`
126
+ * when given, otherwise the owner field without its trailing `Id`.
127
+ *
128
+ * @param def - a registered (or candidate) definition.
129
+ * @stability experimental
130
+ * @example
131
+ * ```ts
132
+ * ownerRelationOf({ model: 'WorkerNode', ownerField: 'createdById', purge: 'delete', export: 'exclude', rationale: 'x' }); // 'createdBy'
133
+ * ```
134
+ */
135
+ function ownerRelationOf(def) {
136
+ if (def.ownerField === undefined)
137
+ return undefined;
138
+ return def.ownerRelation ?? def.ownerField.replace(/Id$/, '');
139
+ }
140
+ //# sourceMappingURL=user-owned-data.registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-owned-data.registry.js","sourceRoot":"","sources":["../../../src/core/data-access/user-owned-data.registry.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,sEAAsE;AACtE,gFAAgF;AAChF,EAAE;AACF,8EAA8E;AAC9E,4EAA4E;AAC5E,4EAA4E;AAC5E,kEAAkE;AAClE,EAAE;AACF,sBAAsB;AACtB,EAAE;AACF,kFAAkF;AAClF,2EAA2E;AAC3E,+EAA+E;AAC/E,6CAA6C;AAC7C,yEAAyE;AACzE,2EAA2E;AAC3E,yBAAyB;AACzB,EAAE;AACF,sEAAsE;AACtE,4EAA4E;AAC5E,uEAAuE;AACvE,iDAAiD;AACjD,gFAAgF;;;AAkFhF,0DAEC;AAaD,oCAEC;AAaD,0CAGC;AAjHD,mDAAsD;AAGtD,SAAS,QAAQ,CAAC,GAAsB;IACtC,MAAM,MAAM,GAAG,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC;IACrC,IAAI,GAAG,CAAC,UAAU,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxD,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;IACjE,CAAC;IACD,IAAI,GAAG,CAAC,UAAU,KAAK,SAAS,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACjE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAClD,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;QAC7E,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAC3D,CAAC;IACD,IAAI,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IACzD,CAAC;IACD,IAAI,GAAG,CAAC,UAAU,KAAK,SAAS,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;QACpE,MAAM,IAAI,KAAK,CAAC,IAAI,GAAG,CAAC,UAAU,oDAAoD,CAAC,CAAC;IAC1F,CAAC;IACD,IAAI,GAAG,CAAC,aAAa,KAAK,SAAS,IAAI,GAAG,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QACpE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;IAC1D,CAAC;IACD,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QACxD,MAAM,IAAI,KAAK,CAAC,qDAAqD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACpG,CAAC;IACD,IAAI,GAAG,CAAC,KAAK,KAAK,QAAQ,IAAI,GAAG,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QAC3D,MAAM,IAAI,KAAK,CAAC,yFAAyF,CAAC,CAAC;IAC7G,CAAC;IACD,IAAI,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QACjD,MAAM,IAAI,KAAK,CAAC,8CAA8C,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC9F,CAAC;IACD,IAAI,GAAG,CAAC,UAAU,KAAK,SAAS,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1F,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;IACxE,CAAC;IACD,IAAI,OAAO,GAAG,CAAC,SAAS,KAAK,QAAQ,IAAI,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACrE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;IAC3C,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACU,QAAA,sBAAsB,GAAG,IAAA,yBAAc,EAAoB;IACtE,IAAI,EAAE,mBAAmB;IACzB,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK;IACxB,8CAA8C;IAC9C,SAAS,EAAE,sBAAsB;IACjC,QAAQ;CACT,CAAC,CAAC;AAEH;;;;;;;;;;;;;;GAcG;AACH,SAAgB,uBAAuB,CAAwB,IAA0C;IACvG,8BAAsB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;AAC3C,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAgB,YAAY,CAAC,KAAa;IACxC,OAAO,8BAAsB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC;AACvD,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAgB,eAAe,CAAC,GAAsB;IACpD,IAAI,GAAG,CAAC,UAAU,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACnD,OAAO,GAAG,CAAC,aAAa,IAAI,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AAChE,CAAC"}
@@ -0,0 +1,23 @@
1
+ import { InternalServerErrorException } from '@nestjs/common';
2
+ /**
3
+ * Exception thrown when required database seed data is missing.
4
+ * This indicates the database migrations have been run but seeds have not.
5
+ *
6
+ * A 500 whose envelope `details` carries `missingData`, `seedCommand` and
7
+ * operator `instructions`; the response `code` is `INTERNAL_ERROR` like any
8
+ * other 500 (see {@link HttpExceptionFilter}).
9
+ *
10
+ * @stability stable
11
+ * @example
12
+ * ```ts
13
+ * if (!defaultRole) throw new DatabaseSeedException('default role "Viewer"');
14
+ * ```
15
+ */
16
+ export declare class DatabaseSeedException extends InternalServerErrorException {
17
+ /**
18
+ * @param missingData - What is missing, for the message and `details.missingData`.
19
+ * @param seedCommand - The command that seeds it; defaults to `npm run prisma:seed`.
20
+ */
21
+ constructor(missingData: string, seedCommand?: string);
22
+ }
23
+ //# sourceMappingURL=database-seed.exception.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"database-seed.exception.d.ts","sourceRoot":"","sources":["../../../src/core/errors/database-seed.exception.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAE,MAAM,gBAAgB,CAAC;AAE9D;;;;;;;;;;;;;GAaG;AACH,qBAAa,qBAAsB,SAAQ,4BAA4B;IACrE;;;OAGG;gBACS,WAAW,EAAE,MAAM,EAAE,WAAW,SAAwB;CAuBrE"}
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DatabaseSeedException = void 0;
4
+ const common_1 = require("@nestjs/common");
5
+ /**
6
+ * Exception thrown when required database seed data is missing.
7
+ * This indicates the database migrations have been run but seeds have not.
8
+ *
9
+ * A 500 whose envelope `details` carries `missingData`, `seedCommand` and
10
+ * operator `instructions`; the response `code` is `INTERNAL_ERROR` like any
11
+ * other 500 (see {@link HttpExceptionFilter}).
12
+ *
13
+ * @stability stable
14
+ * @example
15
+ * ```ts
16
+ * if (!defaultRole) throw new DatabaseSeedException('default role "Viewer"');
17
+ * ```
18
+ */
19
+ class DatabaseSeedException extends common_1.InternalServerErrorException {
20
+ /**
21
+ * @param missingData - What is missing, for the message and `details.missingData`.
22
+ * @param seedCommand - The command that seeds it; defaults to `npm run prisma:seed`.
23
+ */
24
+ constructor(missingData, seedCommand = 'npm run prisma:seed') {
25
+ const message = `Database seed data missing: ${missingData}. Please run: ${seedCommand}`;
26
+ super({
27
+ // NOT on the wire. `HttpExceptionFilter` always derives the response's
28
+ // `code` from the HTTP status (500 -> INTERNAL_ERROR) and ignores any
29
+ // `code` on the payload — that is the published contract in
30
+ // `./error.dto.ts`, whose `code` is a closed enum of the
31
+ // status-derived values. Kept here as the internal name for this failure,
32
+ // which is what the log line and `details.missingData` identify it by.
33
+ // Do not add a client that branches on seeing it in a response (#153).
34
+ code: 'DATABASE_SEED_REQUIRED',
35
+ message,
36
+ details: {
37
+ missingData,
38
+ seedCommand,
39
+ instructions: [
40
+ 'Database migrations have been run but seed data is missing',
41
+ `Run the following command: ${seedCommand}`,
42
+ 'This will populate required data like roles and permissions',
43
+ ],
44
+ },
45
+ });
46
+ }
47
+ }
48
+ exports.DatabaseSeedException = DatabaseSeedException;
49
+ //# sourceMappingURL=database-seed.exception.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"database-seed.exception.js","sourceRoot":"","sources":["../../../src/core/errors/database-seed.exception.ts"],"names":[],"mappings":";;;AAAA,2CAA8D;AAE9D;;;;;;;;;;;;;GAaG;AACH,MAAa,qBAAsB,SAAQ,qCAA4B;IACrE;;;OAGG;IACH,YAAY,WAAmB,EAAE,WAAW,GAAG,qBAAqB;QAClE,MAAM,OAAO,GAAG,+BAA+B,WAAW,iBAAiB,WAAW,EAAE,CAAC;QACzF,KAAK,CAAC;YACJ,uEAAuE;YACvE,sEAAsE;YACtE,4DAA4D;YAC5D,yDAAyD;YACzD,0EAA0E;YAC1E,uEAAuE;YACvE,uEAAuE;YACvE,IAAI,EAAE,wBAAwB;YAC9B,OAAO;YACP,OAAO,EAAE;gBACP,WAAW;gBACX,WAAW;gBACX,YAAY,EAAE;oBACZ,4DAA4D;oBAC5D,8BAA8B,WAAW,EAAE;oBAC3C,6DAA6D;iBAC9D;aACF;SACF,CAAC,CAAC;IACL,CAAC;CACF;AA5BD,sDA4BC"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * The error body this API returns for every endpoint but one.
3
+ *
4
+ * `HttpExceptionFilter` rebuilds error responses from a fixed key allowlist —
5
+ * `statusCode`, `code`, `message`, `details`, `timestamp`, `path` and nothing
6
+ * else — so this class is not an approximation of the wire format, it is the
7
+ * complete set of keys that can appear. In particular a custom top-level field
8
+ * on a thrown `HttpException` payload is silently dropped; endpoint-specific
9
+ * data belongs under {@link details}.
10
+ *
11
+ * THE ONE EXCEPTION (#153): an endpoint whose error body is fixed by an
12
+ * external standard can opt out of this envelope entirely, by branding its
13
+ * exception with `withVerbatimErrorBody`
14
+ * (`./verbatim-error-body.exception.ts`). Its body is then sent
15
+ * exactly as thrown, with none of the keys below. Today the only user is
16
+ * `POST /auth/device/token`, which RFC 8628 §3.5 requires to answer with
17
+ * `{ error, error_description }` — see `DeviceTokenErrorDto`, which the
18
+ * operation declares for its 400 and 401 responses. That opt-out is deliberately
19
+ * hard to reach and rare; assume this envelope unless an operation documents
20
+ * otherwise.
21
+ *
22
+ * Kept as an `@ApiProperty` class rather than a zod DTO because nothing
23
+ * validates it — it is documentation-only, produced by the filter and never
24
+ * parsed on the way in. The OpenAPI schema name is `ErrorDto`; it is
25
+ * published, so the class name does not change.
26
+ *
27
+ * @stability stable
28
+ * @example
29
+ * ```ts
30
+ * @ApiResponse({ status: 409, description: 'Already exists', type: ErrorDto })
31
+ * ```
32
+ */
33
+ export declare class ErrorDto {
34
+ /** HTTP status code, repeated in the body. */
35
+ statusCode: number;
36
+ /** Status-derived machine-readable code (closed enum, see the property's `@ApiProperty`). */
37
+ code: string;
38
+ /** Human-readable description of what went wrong. */
39
+ message: string;
40
+ /** Endpoint-specific structured data, when the failure carried any. */
41
+ details?: unknown;
42
+ /** When the error was produced, ISO 8601 UTC. */
43
+ timestamp: string;
44
+ /** Request path that produced the error. */
45
+ path: string;
46
+ }
47
+ //# sourceMappingURL=error.dto.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error.dto.d.ts","sourceRoot":"","sources":["../../../src/core/errors/error.dto.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,qBAAa,QAAQ;IACnB,8CAA8C;IAK9C,UAAU,EAAG,MAAM,CAAC;IAEpB,6FAA6F;IAsB7F,IAAI,EAAG,MAAM,CAAC;IAEd,qDAAqD;IAKrD,OAAO,EAAG,MAAM,CAAC;IAEjB,uEAAuE;IAQvE,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,iDAAiD;IAKjD,SAAS,EAAG,MAAM,CAAC;IAEnB,4CAA4C;IAK5C,IAAI,EAAG,MAAM,CAAC;CACf"}
@@ -0,0 +1,121 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ 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;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.ErrorDto = void 0;
13
+ const swagger_1 = require("@nestjs/swagger");
14
+ /**
15
+ * The error body this API returns for every endpoint but one.
16
+ *
17
+ * `HttpExceptionFilter` rebuilds error responses from a fixed key allowlist —
18
+ * `statusCode`, `code`, `message`, `details`, `timestamp`, `path` and nothing
19
+ * else — so this class is not an approximation of the wire format, it is the
20
+ * complete set of keys that can appear. In particular a custom top-level field
21
+ * on a thrown `HttpException` payload is silently dropped; endpoint-specific
22
+ * data belongs under {@link details}.
23
+ *
24
+ * THE ONE EXCEPTION (#153): an endpoint whose error body is fixed by an
25
+ * external standard can opt out of this envelope entirely, by branding its
26
+ * exception with `withVerbatimErrorBody`
27
+ * (`./verbatim-error-body.exception.ts`). Its body is then sent
28
+ * exactly as thrown, with none of the keys below. Today the only user is
29
+ * `POST /auth/device/token`, which RFC 8628 §3.5 requires to answer with
30
+ * `{ error, error_description }` — see `DeviceTokenErrorDto`, which the
31
+ * operation declares for its 400 and 401 responses. That opt-out is deliberately
32
+ * hard to reach and rare; assume this envelope unless an operation documents
33
+ * otherwise.
34
+ *
35
+ * Kept as an `@ApiProperty` class rather than a zod DTO because nothing
36
+ * validates it — it is documentation-only, produced by the filter and never
37
+ * parsed on the way in. The OpenAPI schema name is `ErrorDto`; it is
38
+ * published, so the class name does not change.
39
+ *
40
+ * @stability stable
41
+ * @example
42
+ * ```ts
43
+ * @ApiResponse({ status: 409, description: 'Already exists', type: ErrorDto })
44
+ * ```
45
+ */
46
+ class ErrorDto {
47
+ /** HTTP status code, repeated in the body. */
48
+ statusCode;
49
+ /** Status-derived machine-readable code (closed enum, see the property's `@ApiProperty`). */
50
+ code;
51
+ /** Human-readable description of what went wrong. */
52
+ message;
53
+ /** Endpoint-specific structured data, when the failure carried any. */
54
+ details;
55
+ /** When the error was produced, ISO 8601 UTC. */
56
+ timestamp;
57
+ /** Request path that produced the error. */
58
+ path;
59
+ }
60
+ exports.ErrorDto = ErrorDto;
61
+ __decorate([
62
+ (0, swagger_1.ApiProperty)({
63
+ description: 'HTTP status code, repeated in the body so a logged payload is self-describing.',
64
+ example: 409,
65
+ }),
66
+ __metadata("design:type", Number)
67
+ ], ErrorDto.prototype, "statusCode", void 0);
68
+ __decorate([
69
+ (0, swagger_1.ApiProperty)({
70
+ description: 'Stable machine-readable code. Derived from the status by the exception filter, which ' +
71
+ 'overwrites any `code` a thrown exception supplied — so it is always one of the values ' +
72
+ 'below. Prefer branching on this over matching `message`, which is prose and may change.',
73
+ example: 'CONFLICT',
74
+ // Mirrors `HttpExceptionFilter.getCodeFromStatus`: the mapped statuses,
75
+ // plus the `ERROR` fallback an unmapped status produces.
76
+ enum: [
77
+ 'BAD_REQUEST',
78
+ 'UNAUTHORIZED',
79
+ 'FORBIDDEN',
80
+ 'NOT_FOUND',
81
+ 'CONFLICT',
82
+ 'PRECONDITION_FAILED',
83
+ 'UNPROCESSABLE_ENTITY',
84
+ 'TOO_MANY_REQUESTS',
85
+ 'INTERNAL_ERROR',
86
+ 'ERROR',
87
+ ],
88
+ }),
89
+ __metadata("design:type", String)
90
+ ], ErrorDto.prototype, "code", void 0);
91
+ __decorate([
92
+ (0, swagger_1.ApiProperty)({
93
+ description: 'Human-readable description of what went wrong.',
94
+ example: 'Email already in allowlist',
95
+ }),
96
+ __metadata("design:type", String)
97
+ ], ErrorDto.prototype, "message", void 0);
98
+ __decorate([
99
+ (0, swagger_1.ApiPropertyOptional)({
100
+ description: 'Endpoint-specific structured data — the only place a custom field survives the exception ' +
101
+ 'filter. Omitted when the failure carried none. Shape varies by endpoint and is documented ' +
102
+ 'on the operation that returns it.',
103
+ example: { field: 'email' },
104
+ }),
105
+ __metadata("design:type", Object)
106
+ ], ErrorDto.prototype, "details", void 0);
107
+ __decorate([
108
+ (0, swagger_1.ApiProperty)({
109
+ description: 'When the error was produced, ISO 8601 UTC.',
110
+ example: '2026-08-17T04:37:58.000Z',
111
+ }),
112
+ __metadata("design:type", String)
113
+ ], ErrorDto.prototype, "timestamp", void 0);
114
+ __decorate([
115
+ (0, swagger_1.ApiProperty)({
116
+ description: 'Request path that produced the error.',
117
+ example: '/api/allowlist',
118
+ }),
119
+ __metadata("design:type", String)
120
+ ], ErrorDto.prototype, "path", void 0);
121
+ //# sourceMappingURL=error.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error.dto.js","sourceRoot":"","sources":["../../../src/core/errors/error.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAAmE;AAEnE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAa,QAAQ;IACnB,8CAA8C;IAK9C,UAAU,CAAU;IAEpB,6FAA6F;IAsB7F,IAAI,CAAU;IAEd,qDAAqD;IAKrD,OAAO,CAAU;IAEjB,uEAAuE;IAQvE,OAAO,CAAW;IAElB,iDAAiD;IAKjD,SAAS,CAAU;IAEnB,4CAA4C;IAK5C,IAAI,CAAU;CACf;AA9DD,4BA8DC;AAxDC;IAJC,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,gFAAgF;QAC7F,OAAO,EAAE,GAAG;KACb,CAAC;;4CACkB;AAwBpB;IArBC,IAAA,qBAAW,EAAC;QACX,WAAW,EACT,uFAAuF;YACvF,wFAAwF;YACxF,yFAAyF;QAC3F,OAAO,EAAE,UAAU;QACnB,wEAAwE;QACxE,yDAAyD;QACzD,IAAI,EAAE;YACJ,aAAa;YACb,cAAc;YACd,WAAW;YACX,WAAW;YACX,UAAU;YACV,qBAAqB;YACrB,sBAAsB;YACtB,mBAAmB;YACnB,gBAAgB;YAChB,OAAO;SACR;KACF,CAAC;;sCACY;AAOd;IAJC,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,gDAAgD;QAC7D,OAAO,EAAE,4BAA4B;KACtC,CAAC;;yCACe;AAUjB;IAPC,IAAA,6BAAmB,EAAC;QACnB,WAAW,EACT,2FAA2F;YAC3F,4FAA4F;YAC5F,mCAAmC;QACrC,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE;KAC5B,CAAC;;yCACgB;AAOlB;IAJC,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,4CAA4C;QACzD,OAAO,EAAE,0BAA0B;KACpC,CAAC;;2CACiB;AAOnB;IAJC,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,uCAAuC;QACpD,OAAO,EAAE,gBAAgB;KAC1B,CAAC;;sCACY"}
@@ -0,0 +1,63 @@
1
+ import { ExceptionFilter, ArgumentsHost } from '@nestjs/common';
2
+ /**
3
+ * The application-wide exception filter: turns every thrown value into the one
4
+ * error envelope (`{ statusCode, code, message, details?, timestamp, path }`,
5
+ * documented by {@link ErrorDto}) on a Fastify reply, and logs one line per
6
+ * failure (`warn` below 500, `error` with the stack from 500 up).
7
+ *
8
+ * `code` is always derived from the HTTP status; a `code` on the thrown
9
+ * payload is ignored. `details` is the only place endpoint-specific data
10
+ * survives. An exception branded with {@link withVerbatimErrorBody} skips the
11
+ * envelope and is sent exactly as thrown. A 429 whose `details.retryAfterMs`
12
+ * is a positive number also gets a `Retry-After` header (whole seconds,
13
+ * rounded up). A `ZodValidationException` without explicit details answers
14
+ * `details.issues` (`[{ path, message }]`), never the submitted value. A
15
+ * non-`HttpException` error is a 500 whose `details` carries the stack unless
16
+ * `NODE_ENV` is `production`.
17
+ *
18
+ * Register it once, as an `APP_FILTER` provider of the root module. There is
19
+ * no module to import and nothing to configure.
20
+ *
21
+ * @stability stable
22
+ * @extensionPoint component
23
+ * @example
24
+ * ```ts
25
+ * import { APP_FILTER } from '@nestjs/core';
26
+ * import { HttpExceptionFilter } from '@marinoscar/platform-api/core';
27
+ *
28
+ * @Module({ providers: [{ provide: APP_FILTER, useClass: HttpExceptionFilter }] })
29
+ * export class AppModule {}
30
+ * ```
31
+ */
32
+ export declare class HttpExceptionFilter implements ExceptionFilter {
33
+ private readonly logger;
34
+ /**
35
+ * Nest's `ExceptionFilter` hook: write the error response for `exception`
36
+ * on the HTTP reply of `host`. Called by Nest, not by application code.
37
+ *
38
+ * @param exception - Whatever was thrown.
39
+ * @param host - The Nest arguments host of the failed request (HTTP only).
40
+ */
41
+ catch(exception: unknown, host: ArgumentsHost): void;
42
+ /**
43
+ * One log line per handled failure, identical for enveloped and verbatim
44
+ * responses. Extracted so the verbatim early-return above cannot silently
45
+ * skip logging — a device-flow `slow_down` storm has to be visible in the
46
+ * logs like any other 4xx.
47
+ */
48
+ private logOutcome;
49
+ /**
50
+ * A short log-only description of a verbatim body.
51
+ *
52
+ * Reading `error` here is for the LOG LINE ONLY and shapes nothing — an RFC
53
+ * body's `error` is the single most useful thing to see in operations
54
+ * (`slow_down` and `access_denied` mean very different things at 3am), and
55
+ * without it every device-flow failure logs as an indistinguishable 400. The
56
+ * body itself is never stringified into the log: a verbatim payload is
57
+ * whatever the spec says it is, and this filter should not assume the rest of
58
+ * it is safe to print.
59
+ */
60
+ private summarize;
61
+ private getCodeFromStatus;
62
+ }
63
+ //# sourceMappingURL=http-exception.filter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http-exception.filter.d.ts","sourceRoot":"","sources":["../../../src/core/errors/http-exception.filter.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EAEf,aAAa,EAId,MAAM,gBAAgB,CAAC;AAaxB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,qBACa,mBAAoB,YAAW,eAAe;IACzD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwC;IAE/D;;;;;;OAMG;IACH,KAAK,CAAC,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa;IAmI7C;;;;;OAKG;IACH,OAAO,CAAC,UAAU;IAkBlB;;;;;;;;;;OAUG;IACH,OAAO,CAAC,SAAS;IAKjB,OAAO,CAAC,iBAAiB;CAe1B"}