@dofe/infra-common 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (373) hide show
  1. package/dist/adapters/base.adapter.d.ts +84 -0
  2. package/dist/adapters/base.adapter.d.ts.map +1 -0
  3. package/dist/adapters/base.adapter.js +19 -0
  4. package/dist/adapters/base.adapter.js.map +1 -0
  5. package/dist/adapters/index.d.ts +35 -0
  6. package/dist/adapters/index.d.ts.map +1 -0
  7. package/dist/adapters/index.js +53 -0
  8. package/dist/adapters/index.js.map +1 -0
  9. package/dist/common.module.d.ts +7 -0
  10. package/dist/common.module.d.ts.map +1 -0
  11. package/dist/common.module.js +26 -0
  12. package/dist/common.module.js.map +1 -0
  13. package/dist/config/agentx.config.d.ts +37 -0
  14. package/dist/config/agentx.config.d.ts.map +1 -0
  15. package/dist/config/agentx.config.js +81 -0
  16. package/dist/config/agentx.config.js.map +1 -0
  17. package/dist/config/configuration.d.ts +55 -0
  18. package/dist/config/configuration.d.ts.map +1 -0
  19. package/dist/config/configuration.js +336 -0
  20. package/dist/config/configuration.js.map +1 -0
  21. package/dist/config/constant/config.constants.d.ts +48 -0
  22. package/dist/config/constant/config.constants.d.ts.map +1 -0
  23. package/dist/config/constant/config.constants.js +86 -0
  24. package/dist/config/constant/config.constants.js.map +1 -0
  25. package/dist/config/dto/config.dto.d.ts +222 -0
  26. package/dist/config/dto/config.dto.d.ts.map +1 -0
  27. package/dist/config/dto/config.dto.js +42 -0
  28. package/dist/config/dto/config.dto.js.map +1 -0
  29. package/dist/config/env-config.service.d.ts +147 -0
  30. package/dist/config/env-config.service.d.ts.map +1 -0
  31. package/dist/config/env-config.service.js +296 -0
  32. package/dist/config/env-config.service.js.map +1 -0
  33. package/dist/config/features/feature-errors.d.ts +13 -0
  34. package/dist/config/features/feature-errors.d.ts.map +1 -0
  35. package/dist/config/features/feature-errors.js +25 -0
  36. package/dist/config/features/feature-errors.js.map +1 -0
  37. package/dist/config/features/feature-registry.d.ts +26 -0
  38. package/dist/config/features/feature-registry.d.ts.map +1 -0
  39. package/dist/config/features/feature-registry.js +172 -0
  40. package/dist/config/features/feature-registry.js.map +1 -0
  41. package/dist/config/features/index.d.ts +4 -0
  42. package/dist/config/features/index.d.ts.map +1 -0
  43. package/dist/config/features/index.js +9 -0
  44. package/dist/config/features/index.js.map +1 -0
  45. package/dist/config/validation/env.validation.d.ts +132 -0
  46. package/dist/config/validation/env.validation.d.ts.map +1 -0
  47. package/dist/config/validation/env.validation.js +304 -0
  48. package/dist/config/validation/env.validation.js.map +1 -0
  49. package/dist/config/validation/index.d.ts +21 -0
  50. package/dist/config/validation/index.d.ts.map +1 -0
  51. package/dist/config/validation/index.js +119 -0
  52. package/dist/config/validation/index.js.map +1 -0
  53. package/dist/config/validation/keys.validation.d.ts +884 -0
  54. package/dist/config/validation/keys.validation.d.ts.map +1 -0
  55. package/dist/config/validation/keys.validation.js +506 -0
  56. package/dist/config/validation/keys.validation.js.map +1 -0
  57. package/dist/config/validation/yaml.validation.d.ts +765 -0
  58. package/dist/config/validation/yaml.validation.d.ts.map +1 -0
  59. package/dist/config/validation/yaml.validation.js +488 -0
  60. package/dist/config/validation/yaml.validation.js.map +1 -0
  61. package/dist/config/vendor.config.d.ts +48 -0
  62. package/dist/config/vendor.config.d.ts.map +1 -0
  63. package/dist/config/vendor.config.js +136 -0
  64. package/dist/config/vendor.config.js.map +1 -0
  65. package/dist/decorators/api-key/api-key.decorator.d.ts +25 -0
  66. package/dist/decorators/api-key/api-key.decorator.d.ts.map +1 -0
  67. package/dist/decorators/api-key/api-key.decorator.js +30 -0
  68. package/dist/decorators/api-key/api-key.decorator.js.map +1 -0
  69. package/dist/decorators/api-key/index.d.ts +2 -0
  70. package/dist/decorators/api-key/index.d.ts.map +1 -0
  71. package/dist/decorators/api-key/index.js +18 -0
  72. package/dist/decorators/api-key/index.js.map +1 -0
  73. package/dist/decorators/app-version/app-version.controller.d.ts +30 -0
  74. package/dist/decorators/app-version/app-version.controller.d.ts.map +1 -0
  75. package/dist/decorators/app-version/app-version.controller.js +159 -0
  76. package/dist/decorators/app-version/app-version.controller.js.map +1 -0
  77. package/dist/decorators/app-version/app-version.interceptor.d.ts +15 -0
  78. package/dist/decorators/app-version/app-version.interceptor.d.ts.map +1 -0
  79. package/dist/decorators/app-version/app-version.interceptor.js +42 -0
  80. package/dist/decorators/app-version/app-version.interceptor.js.map +1 -0
  81. package/dist/decorators/app-version/app-version.module.d.ts +8 -0
  82. package/dist/decorators/app-version/app-version.module.d.ts.map +1 -0
  83. package/dist/decorators/app-version/app-version.module.js +39 -0
  84. package/dist/decorators/app-version/app-version.module.js.map +1 -0
  85. package/dist/decorators/app-version/app-version.service.d.ts +88 -0
  86. package/dist/decorators/app-version/app-version.service.d.ts.map +1 -0
  87. package/dist/decorators/app-version/app-version.service.js +251 -0
  88. package/dist/decorators/app-version/app-version.service.js.map +1 -0
  89. package/dist/decorators/app-version/index.d.ts +8 -0
  90. package/dist/decorators/app-version/index.d.ts.map +1 -0
  91. package/dist/decorators/app-version/index.js +15 -0
  92. package/dist/decorators/app-version/index.js.map +1 -0
  93. package/dist/decorators/audit-log.decorator.d.ts +41 -0
  94. package/dist/decorators/audit-log.decorator.d.ts.map +1 -0
  95. package/dist/decorators/audit-log.decorator.js +19 -0
  96. package/dist/decorators/audit-log.decorator.js.map +1 -0
  97. package/dist/decorators/cache/cache.decorator.d.ts +256 -0
  98. package/dist/decorators/cache/cache.decorator.d.ts.map +1 -0
  99. package/dist/decorators/cache/cache.decorator.js +339 -0
  100. package/dist/decorators/cache/cache.decorator.js.map +1 -0
  101. package/dist/decorators/cache/cache.interceptor.d.ts +43 -0
  102. package/dist/decorators/cache/cache.interceptor.d.ts.map +1 -0
  103. package/dist/decorators/cache/cache.interceptor.js +219 -0
  104. package/dist/decorators/cache/cache.interceptor.js.map +1 -0
  105. package/dist/decorators/cache/cache.module.d.ts +9 -0
  106. package/dist/decorators/cache/cache.module.d.ts.map +1 -0
  107. package/dist/decorators/cache/cache.module.js +36 -0
  108. package/dist/decorators/cache/cache.module.js.map +1 -0
  109. package/dist/decorators/cache/index.d.ts +7 -0
  110. package/dist/decorators/cache/index.d.ts.map +1 -0
  111. package/dist/decorators/cache/index.js +32 -0
  112. package/dist/decorators/cache/index.js.map +1 -0
  113. package/dist/decorators/data-visibility/data-visibility.decorator.d.ts +74 -0
  114. package/dist/decorators/data-visibility/data-visibility.decorator.d.ts.map +1 -0
  115. package/dist/decorators/data-visibility/data-visibility.decorator.js +87 -0
  116. package/dist/decorators/data-visibility/data-visibility.decorator.js.map +1 -0
  117. package/dist/decorators/data-visibility/index.d.ts +2 -0
  118. package/dist/decorators/data-visibility/index.d.ts.map +1 -0
  119. package/dist/decorators/data-visibility/index.js +18 -0
  120. package/dist/decorators/data-visibility/index.js.map +1 -0
  121. package/dist/decorators/event/event.decorator.d.ts +152 -0
  122. package/dist/decorators/event/event.decorator.d.ts.map +1 -0
  123. package/dist/decorators/event/event.decorator.js +158 -0
  124. package/dist/decorators/event/event.decorator.js.map +1 -0
  125. package/dist/decorators/event/event.interceptor.d.ts +23 -0
  126. package/dist/decorators/event/event.interceptor.d.ts.map +1 -0
  127. package/dist/decorators/event/event.interceptor.js +140 -0
  128. package/dist/decorators/event/event.interceptor.js.map +1 -0
  129. package/dist/decorators/event/event.module.d.ts +9 -0
  130. package/dist/decorators/event/event.module.d.ts.map +1 -0
  131. package/dist/decorators/event/event.module.js +59 -0
  132. package/dist/decorators/event/event.module.js.map +1 -0
  133. package/dist/decorators/event/handlers/cache-event.handler.d.ts +55 -0
  134. package/dist/decorators/event/handlers/cache-event.handler.d.ts.map +1 -0
  135. package/dist/decorators/event/handlers/cache-event.handler.js +159 -0
  136. package/dist/decorators/event/handlers/cache-event.handler.js.map +1 -0
  137. package/dist/decorators/event/index.d.ts +8 -0
  138. package/dist/decorators/event/index.d.ts.map +1 -0
  139. package/dist/decorators/event/index.js +26 -0
  140. package/dist/decorators/event/index.js.map +1 -0
  141. package/dist/decorators/feature-flag/feature-flag.decorator.d.ts +144 -0
  142. package/dist/decorators/feature-flag/feature-flag.decorator.d.ts.map +1 -0
  143. package/dist/decorators/feature-flag/feature-flag.decorator.js +135 -0
  144. package/dist/decorators/feature-flag/feature-flag.decorator.js.map +1 -0
  145. package/dist/decorators/feature-flag/feature-flag.interceptor.d.ts +30 -0
  146. package/dist/decorators/feature-flag/feature-flag.interceptor.d.ts.map +1 -0
  147. package/dist/decorators/feature-flag/feature-flag.interceptor.js +127 -0
  148. package/dist/decorators/feature-flag/feature-flag.interceptor.js.map +1 -0
  149. package/dist/decorators/feature-flag/feature-flag.module.d.ts +9 -0
  150. package/dist/decorators/feature-flag/feature-flag.module.d.ts.map +1 -0
  151. package/dist/decorators/feature-flag/feature-flag.module.js +39 -0
  152. package/dist/decorators/feature-flag/feature-flag.module.js.map +1 -0
  153. package/dist/decorators/feature-flag/feature-flag.service.d.ts +102 -0
  154. package/dist/decorators/feature-flag/feature-flag.service.d.ts.map +1 -0
  155. package/dist/decorators/feature-flag/feature-flag.service.js +373 -0
  156. package/dist/decorators/feature-flag/feature-flag.service.js.map +1 -0
  157. package/dist/decorators/feature-flag/feature-flag.service.spec.d.ts +2 -0
  158. package/dist/decorators/feature-flag/feature-flag.service.spec.d.ts.map +1 -0
  159. package/dist/decorators/feature-flag/feature-flag.service.spec.js +264 -0
  160. package/dist/decorators/feature-flag/feature-flag.service.spec.js.map +1 -0
  161. package/dist/decorators/feature-flag/index.d.ts +8 -0
  162. package/dist/decorators/feature-flag/index.d.ts.map +1 -0
  163. package/dist/decorators/feature-flag/index.js +23 -0
  164. package/dist/decorators/feature-flag/index.js.map +1 -0
  165. package/dist/decorators/rate-limit/dto/rate-limit.dto.d.ts +174 -0
  166. package/dist/decorators/rate-limit/dto/rate-limit.dto.d.ts.map +1 -0
  167. package/dist/decorators/rate-limit/dto/rate-limit.dto.js +8 -0
  168. package/dist/decorators/rate-limit/dto/rate-limit.dto.js.map +1 -0
  169. package/dist/decorators/rate-limit/index.d.ts +24 -0
  170. package/dist/decorators/rate-limit/index.d.ts.map +1 -0
  171. package/dist/decorators/rate-limit/index.js +44 -0
  172. package/dist/decorators/rate-limit/index.js.map +1 -0
  173. package/dist/decorators/rate-limit/rate-limit.constants.d.ts +16 -0
  174. package/dist/decorators/rate-limit/rate-limit.constants.d.ts.map +1 -0
  175. package/dist/decorators/rate-limit/rate-limit.constants.js +22 -0
  176. package/dist/decorators/rate-limit/rate-limit.constants.js.map +1 -0
  177. package/dist/decorators/rate-limit/rate-limit.decorator.d.ts +132 -0
  178. package/dist/decorators/rate-limit/rate-limit.decorator.d.ts.map +1 -0
  179. package/dist/decorators/rate-limit/rate-limit.decorator.js +185 -0
  180. package/dist/decorators/rate-limit/rate-limit.decorator.js.map +1 -0
  181. package/dist/decorators/rate-limit/rate-limit.exception.d.ts +39 -0
  182. package/dist/decorators/rate-limit/rate-limit.exception.d.ts.map +1 -0
  183. package/dist/decorators/rate-limit/rate-limit.exception.js +67 -0
  184. package/dist/decorators/rate-limit/rate-limit.exception.js.map +1 -0
  185. package/dist/decorators/rate-limit/rate-limit.module.d.ts +25 -0
  186. package/dist/decorators/rate-limit/rate-limit.module.d.ts.map +1 -0
  187. package/dist/decorators/rate-limit/rate-limit.module.js +48 -0
  188. package/dist/decorators/rate-limit/rate-limit.module.js.map +1 -0
  189. package/dist/decorators/rate-limit/rate-limit.service.d.ts +102 -0
  190. package/dist/decorators/rate-limit/rate-limit.service.d.ts.map +1 -0
  191. package/dist/decorators/rate-limit/rate-limit.service.js +390 -0
  192. package/dist/decorators/rate-limit/rate-limit.service.js.map +1 -0
  193. package/dist/decorators/response.decorator.d.ts +10 -0
  194. package/dist/decorators/response.decorator.d.ts.map +1 -0
  195. package/dist/decorators/response.decorator.js +58 -0
  196. package/dist/decorators/response.decorator.js.map +1 -0
  197. package/dist/decorators/skip-version-check.decorator.d.ts +25 -0
  198. package/dist/decorators/skip-version-check.decorator.d.ts.map +1 -0
  199. package/dist/decorators/skip-version-check.decorator.js +31 -0
  200. package/dist/decorators/skip-version-check.decorator.js.map +1 -0
  201. package/dist/decorators/tenant/index.d.ts +2 -0
  202. package/dist/decorators/tenant/index.d.ts.map +1 -0
  203. package/dist/decorators/tenant/index.js +18 -0
  204. package/dist/decorators/tenant/index.js.map +1 -0
  205. package/dist/decorators/tenant/tenant.decorator.d.ts +82 -0
  206. package/dist/decorators/tenant/tenant.decorator.d.ts.map +1 -0
  207. package/dist/decorators/tenant/tenant.decorator.js +98 -0
  208. package/dist/decorators/tenant/tenant.decorator.js.map +1 -0
  209. package/dist/decorators/transaction/index.d.ts +6 -0
  210. package/dist/decorators/transaction/index.d.ts.map +1 -0
  211. package/dist/decorators/transaction/index.js +12 -0
  212. package/dist/decorators/transaction/index.js.map +1 -0
  213. package/dist/decorators/transaction/transactional.decorator.d.ts +234 -0
  214. package/dist/decorators/transaction/transactional.decorator.d.ts.map +1 -0
  215. package/dist/decorators/transaction/transactional.decorator.js +433 -0
  216. package/dist/decorators/transaction/transactional.decorator.js.map +1 -0
  217. package/dist/decorators/ts-rest-controller.decorator.d.ts +38 -0
  218. package/dist/decorators/ts-rest-controller.decorator.d.ts.map +1 -0
  219. package/dist/decorators/ts-rest-controller.decorator.js +25 -0
  220. package/dist/decorators/ts-rest-controller.decorator.js.map +1 -0
  221. package/dist/decorators/validation.decorator.d.ts +4 -0
  222. package/dist/decorators/validation.decorator.d.ts.map +1 -0
  223. package/dist/decorators/validation.decorator.js +121 -0
  224. package/dist/decorators/validation.decorator.js.map +1 -0
  225. package/dist/decorators/version/index.d.ts +7 -0
  226. package/dist/decorators/version/index.d.ts.map +1 -0
  227. package/dist/decorators/version/index.js +25 -0
  228. package/dist/decorators/version/index.js.map +1 -0
  229. package/dist/decorators/version/version.decorator.d.ts +96 -0
  230. package/dist/decorators/version/version.decorator.d.ts.map +1 -0
  231. package/dist/decorators/version/version.decorator.js +146 -0
  232. package/dist/decorators/version/version.decorator.js.map +1 -0
  233. package/dist/decorators/version/version.interceptor.d.ts +19 -0
  234. package/dist/decorators/version/version.interceptor.d.ts.map +1 -0
  235. package/dist/decorators/version/version.interceptor.js +86 -0
  236. package/dist/decorators/version/version.interceptor.js.map +1 -0
  237. package/dist/decorators/version/version.module.d.ts +8 -0
  238. package/dist/decorators/version/version.module.d.ts.map +1 -0
  239. package/dist/decorators/version/version.module.js +33 -0
  240. package/dist/decorators/version/version.module.js.map +1 -0
  241. package/dist/encryption.service.d.ts +15 -0
  242. package/dist/encryption.service.d.ts.map +1 -0
  243. package/dist/encryption.service.js +35 -0
  244. package/dist/encryption.service.js.map +1 -0
  245. package/dist/enums/action.enum.d.ts +8 -0
  246. package/dist/enums/action.enum.d.ts.map +1 -0
  247. package/dist/enums/action.enum.js +12 -0
  248. package/dist/enums/action.enum.js.map +1 -0
  249. package/dist/enums/error-codes.d.ts +33 -0
  250. package/dist/enums/error-codes.d.ts.map +1 -0
  251. package/dist/enums/error-codes.js +52 -0
  252. package/dist/enums/error-codes.js.map +1 -0
  253. package/dist/enums/role.enum.d.ts +5 -0
  254. package/dist/enums/role.enum.d.ts.map +1 -0
  255. package/dist/enums/role.enum.js +9 -0
  256. package/dist/enums/role.enum.js.map +1 -0
  257. package/dist/filter/exception/api.exception.d.ts +77 -0
  258. package/dist/filter/exception/api.exception.d.ts.map +1 -0
  259. package/dist/filter/exception/api.exception.js +151 -0
  260. package/dist/filter/exception/api.exception.js.map +1 -0
  261. package/dist/filter/exception/exception.d.ts +8 -0
  262. package/dist/filter/exception/exception.d.ts.map +1 -0
  263. package/dist/filter/exception/exception.js +50 -0
  264. package/dist/filter/exception/exception.js.map +1 -0
  265. package/dist/filter/exception/http.exception.d.ts +11 -0
  266. package/dist/filter/exception/http.exception.d.ts.map +1 -0
  267. package/dist/filter/exception/http.exception.js +152 -0
  268. package/dist/filter/exception/http.exception.js.map +1 -0
  269. package/dist/guards/api-key.guard.d.ts +42 -0
  270. package/dist/guards/api-key.guard.d.ts.map +1 -0
  271. package/dist/guards/api-key.guard.js +159 -0
  272. package/dist/guards/api-key.guard.js.map +1 -0
  273. package/dist/guards/auth.guard.d.ts +39 -0
  274. package/dist/guards/auth.guard.d.ts.map +1 -0
  275. package/dist/guards/auth.guard.js +178 -0
  276. package/dist/guards/auth.guard.js.map +1 -0
  277. package/dist/guards/data-visibility.guard.d.ts +18 -0
  278. package/dist/guards/data-visibility.guard.d.ts.map +1 -0
  279. package/dist/guards/data-visibility.guard.js +84 -0
  280. package/dist/guards/data-visibility.guard.js.map +1 -0
  281. package/dist/guards/index.d.ts +7 -0
  282. package/dist/guards/index.d.ts.map +1 -0
  283. package/dist/guards/index.js +23 -0
  284. package/dist/guards/index.js.map +1 -0
  285. package/dist/guards/permission.guard.d.ts +20 -0
  286. package/dist/guards/permission.guard.d.ts.map +1 -0
  287. package/dist/guards/permission.guard.js +141 -0
  288. package/dist/guards/permission.guard.js.map +1 -0
  289. package/dist/guards/tenant-context.guard.d.ts +12 -0
  290. package/dist/guards/tenant-context.guard.d.ts.map +1 -0
  291. package/dist/guards/tenant-context.guard.js +94 -0
  292. package/dist/guards/tenant-context.guard.js.map +1 -0
  293. package/dist/guards/version.guard.d.ts +100 -0
  294. package/dist/guards/version.guard.d.ts.map +1 -0
  295. package/dist/guards/version.guard.js +233 -0
  296. package/dist/guards/version.guard.js.map +1 -0
  297. package/dist/index.d.ts +60 -0
  298. package/dist/index.d.ts.map +1 -0
  299. package/dist/index.js +85 -0
  300. package/dist/index.js.map +1 -0
  301. package/dist/interceptor/audit/audit-log.interceptor.d.ts +16 -0
  302. package/dist/interceptor/audit/audit-log.interceptor.d.ts.map +1 -0
  303. package/dist/interceptor/audit/audit-log.interceptor.js +156 -0
  304. package/dist/interceptor/audit/audit-log.interceptor.js.map +1 -0
  305. package/dist/interceptor/audit/index.d.ts +2 -0
  306. package/dist/interceptor/audit/index.d.ts.map +1 -0
  307. package/dist/interceptor/audit/index.js +18 -0
  308. package/dist/interceptor/audit/index.js.map +1 -0
  309. package/dist/interceptor/mask/index.d.ts +2 -0
  310. package/dist/interceptor/mask/index.d.ts.map +1 -0
  311. package/dist/interceptor/mask/index.js +18 -0
  312. package/dist/interceptor/mask/index.js.map +1 -0
  313. package/dist/interceptor/mask/mask.interceptor.d.ts +79 -0
  314. package/dist/interceptor/mask/mask.interceptor.d.ts.map +1 -0
  315. package/dist/interceptor/mask/mask.interceptor.js +197 -0
  316. package/dist/interceptor/mask/mask.interceptor.js.map +1 -0
  317. package/dist/interceptor/rate-limit/no-rate-limit.interceptor.d.ts +6 -0
  318. package/dist/interceptor/rate-limit/no-rate-limit.interceptor.d.ts.map +1 -0
  319. package/dist/interceptor/rate-limit/no-rate-limit.interceptor.js +20 -0
  320. package/dist/interceptor/rate-limit/no-rate-limit.interceptor.js.map +1 -0
  321. package/dist/interceptor/rate-limit/rate-limit.interceptor.d.ts +45 -0
  322. package/dist/interceptor/rate-limit/rate-limit.interceptor.d.ts.map +1 -0
  323. package/dist/interceptor/rate-limit/rate-limit.interceptor.js +193 -0
  324. package/dist/interceptor/rate-limit/rate-limit.interceptor.js.map +1 -0
  325. package/dist/interceptor/transform/transform.interceptor.d.ts +37 -0
  326. package/dist/interceptor/transform/transform.interceptor.d.ts.map +1 -0
  327. package/dist/interceptor/transform/transform.interceptor.js +72 -0
  328. package/dist/interceptor/transform/transform.interceptor.js.map +1 -0
  329. package/dist/interceptor/transform/transform.interceptor.spec.d.ts +2 -0
  330. package/dist/interceptor/transform/transform.interceptor.spec.d.ts.map +1 -0
  331. package/dist/interceptor/transform/transform.interceptor.spec.js +9 -0
  332. package/dist/interceptor/transform/transform.interceptor.spec.js.map +1 -0
  333. package/dist/interceptor/version/index.d.ts +2 -0
  334. package/dist/interceptor/version/index.d.ts.map +1 -0
  335. package/dist/interceptor/version/index.js +18 -0
  336. package/dist/interceptor/version/index.js.map +1 -0
  337. package/dist/interceptor/version/version-header.interceptor.d.ts +31 -0
  338. package/dist/interceptor/version/version-header.interceptor.d.ts.map +1 -0
  339. package/dist/interceptor/version/version-header.interceptor.js +62 -0
  340. package/dist/interceptor/version/version-header.interceptor.js.map +1 -0
  341. package/dist/middleware/request.middleware.d.ts +27 -0
  342. package/dist/middleware/request.middleware.d.ts.map +1 -0
  343. package/dist/middleware/request.middleware.js +141 -0
  344. package/dist/middleware/request.middleware.js.map +1 -0
  345. package/dist/middleware/tenant-isolation.middleware.d.ts +12 -0
  346. package/dist/middleware/tenant-isolation.middleware.d.ts.map +1 -0
  347. package/dist/middleware/tenant-isolation.middleware.js +51 -0
  348. package/dist/middleware/tenant-isolation.middleware.js.map +1 -0
  349. package/dist/pipes/transform-root.pipe.d.ts +5 -0
  350. package/dist/pipes/transform-root.pipe.d.ts.map +1 -0
  351. package/dist/pipes/transform-root.pipe.js +24 -0
  352. package/dist/pipes/transform-root.pipe.js.map +1 -0
  353. package/dist/ts-rest/index.d.ts +36 -0
  354. package/dist/ts-rest/index.d.ts.map +1 -0
  355. package/dist/ts-rest/index.js +65 -0
  356. package/dist/ts-rest/index.js.map +1 -0
  357. package/dist/ts-rest/response.helper.d.ts +261 -0
  358. package/dist/ts-rest/response.helper.d.ts.map +1 -0
  359. package/dist/ts-rest/response.helper.js +372 -0
  360. package/dist/ts-rest/response.helper.js.map +1 -0
  361. package/dist/utils/audit-log-helper.util.d.ts +41 -0
  362. package/dist/utils/audit-log-helper.util.d.ts.map +1 -0
  363. package/dist/utils/audit-log-helper.util.js +115 -0
  364. package/dist/utils/audit-log-helper.util.js.map +1 -0
  365. package/dist/utils/audit-signature.util.d.ts +64 -0
  366. package/dist/utils/audit-signature.util.d.ts.map +1 -0
  367. package/dist/utils/audit-signature.util.js +155 -0
  368. package/dist/utils/audit-signature.util.js.map +1 -0
  369. package/dist/utils/prisma-error.util.d.ts +160 -0
  370. package/dist/utils/prisma-error.util.d.ts.map +1 -0
  371. package/dist/utils/prisma-error.util.js +342 -0
  372. package/dist/utils/prisma-error.util.js.map +1 -0
  373. package/package.json +54 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keys.validation.d.ts","sourceRoot":"","sources":["../../../src/config/validation/keys.validation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,506 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.keysConfigSchema = exports.vikingdbSchema = exports.ipInfoSchema = exports.exchangerateSchema = exports.embeddingSchema = exports.openaiSchema = exports.agentxSchema = exports.wechatSchema = exports.miniprogramSchema = exports.vectorConfigSchema = exports.vectorProviderSchema = exports.imageConfigSchema = exports.imageProviderSchema = exports.riskConfigSchema = exports.riskProviderSchema = exports.ttsConfigSchema = exports.ttsProviderSchema = exports.transcodeConfigSchema = exports.transcodeProviderSchema = exports.openspeechConfigSchema = exports.openspeechProviderSchema = exports.openspeechVolcengineProviderSchema = exports.openspeechAliyunProviderSchema = exports.storageConfigSchema = exports.storageCredentialsSchema = exports.smsConfigSchema = exports.smsProviderSchema = exports.smsTemplateBaseSchema = exports.sendcloudSchema = exports.emailTemplateSchema = exports.oauthProviderSchema = exports.jinaAiSchema = exports.googleServiceAccountSchema = void 0;
7
+ exports.validateKeysConfig = validateKeysConfig;
8
+ exports.validateKeysConfigSafe = validateKeysConfigSafe;
9
+ exports.isProviderConfigured = isProviderConfigured;
10
+ exports.getConfiguredOAuthProviders = getConfiguredOAuthProviders;
11
+ exports.getConfiguredSmsProviders = getConfiguredSmsProviders;
12
+ exports.getConfiguredStorageProviders = getConfiguredStorageProviders;
13
+ /**
14
+ * Keys Configuration Validation Schema
15
+ *
16
+ * Validates the keys/config.json file using Zod.
17
+ * This file contains sensitive API keys and credentials for third-party services.
18
+ *
19
+ * WARNING: This file contains sensitive information validation only.
20
+ * Never log or expose the actual values.
21
+ */
22
+ const zod_1 = require("zod");
23
+ const environment_util_1 = __importDefault(require("@dofe/infra-utils/environment.util"));
24
+ const infra_utils_1 = require("@dofe/infra-utils");
25
+ const logger = (0, infra_utils_1.createContextLogger)('KeysValidation');
26
+ // ============================================================================
27
+ // Exported Schemas (用于类型推断和外部使用)
28
+ // ============================================================================
29
+ // Google Service Account Schema
30
+ exports.googleServiceAccountSchema = zod_1.z.object({
31
+ type: zod_1.z.literal('service_account'),
32
+ project_id: zod_1.z.string().min(1),
33
+ private_key_id: zod_1.z.string().min(1),
34
+ private_key: zod_1.z
35
+ .string()
36
+ .min(1)
37
+ .refine((key) => key.includes('-----BEGIN PRIVATE KEY-----'), {
38
+ message: 'Invalid private key format',
39
+ }),
40
+ client_email: zod_1.z.string().email(),
41
+ client_id: zod_1.z.string().min(1),
42
+ auth_uri: zod_1.z.string().url(),
43
+ token_uri: zod_1.z.string().url(),
44
+ auth_provider_x509_cert_url: zod_1.z.string().url(),
45
+ client_x509_cert_url: zod_1.z.string().url(),
46
+ universe_domain: zod_1.z.string().default('googleapis.com'),
47
+ // Additional Google API keys
48
+ gemini_api_key: zod_1.z.string().optional(),
49
+ search_api_key: zod_1.z.string().optional(),
50
+ search_cx_key: zod_1.z.string().optional(),
51
+ });
52
+ // Jina AI Schema
53
+ exports.jinaAiSchema = zod_1.z.object({
54
+ embeddingUrl: zod_1.z.string().url(),
55
+ rerankUrl: zod_1.z.string().url(),
56
+ classifyUrl: zod_1.z.string().url(),
57
+ segmentUrl: zod_1.z.string().url(),
58
+ readerUrl: zod_1.z.string().url(),
59
+ searchUrl: zod_1.z.string().url(),
60
+ gRelatedUrl: zod_1.z.string().url(),
61
+ deepsearchUrL: zod_1.z.string().url(),
62
+ apiKey: zod_1.z.string().min(1),
63
+ });
64
+ // OAuth Provider Schema
65
+ exports.oauthProviderSchema = zod_1.z.object({
66
+ provider: zod_1.z.enum(['google', 'discord', 'github', 'wechat', 'apple']),
67
+ clientId: zod_1.z.string().min(1),
68
+ secret: zod_1.z.string().min(1),
69
+ callback: zod_1.z.string().min(1),
70
+ scope: zod_1.z.array(zod_1.z.string()).min(1),
71
+ });
72
+ // Email Service (SendCloud) Schema
73
+ exports.emailTemplateSchema = zod_1.z.object({
74
+ name: zod_1.z.string().min(1),
75
+ subject: zod_1.z.string().min(1),
76
+ from: zod_1.z.string().min(1),
77
+ templateInvokeName: zod_1.z.string().min(1),
78
+ frequency: zod_1.z.number().int().positive().optional(),
79
+ codeExpire: zod_1.z.number().int().positive().optional(),
80
+ sub: zod_1.z.array(zod_1.z.string()).optional(),
81
+ });
82
+ exports.sendcloudSchema = zod_1.z.object({
83
+ vendor: zod_1.z.string().min(1),
84
+ apiUser: zod_1.z.string().min(1),
85
+ apiKey: zod_1.z.string().min(1),
86
+ domain: zod_1.z.string().min(1),
87
+ name: zod_1.z.string().min(1),
88
+ templates: zod_1.z.array(exports.emailTemplateSchema).optional(),
89
+ });
90
+ // SMS Provider Schemas
91
+ exports.smsTemplateBaseSchema = zod_1.z.object({
92
+ name: zod_1.z.string().optional(),
93
+ sign: zod_1.z.string().optional(),
94
+ frequency: zod_1.z.number().int().positive().optional(),
95
+ codeExpire: zod_1.z.number().int().positive().optional(),
96
+ });
97
+ exports.smsProviderSchema = zod_1.z.object({
98
+ vendor: zod_1.z.enum(['aliyun', 'volcengine', 'http', 'zxjcsms', 'tencent']),
99
+ accessKey: zod_1.z.string().min(1),
100
+ accessSecret: zod_1.z.string().min(1),
101
+ endpoint: zod_1.z.string().optional(),
102
+ region: zod_1.z.string().optional(),
103
+ appKey: zod_1.z.string().optional(),
104
+ appCode: zod_1.z.string().optional(),
105
+ templates: zod_1.z.array(zod_1.z.record(zod_1.z.string(), zod_1.z.any())).optional(),
106
+ });
107
+ exports.smsConfigSchema = zod_1.z.object({
108
+ default: zod_1.z.string().min(1),
109
+ providers: zod_1.z.array(exports.smsProviderSchema).min(1),
110
+ });
111
+ // Storage Provider Schema
112
+ exports.storageCredentialsSchema = zod_1.z.object({
113
+ accessKey: zod_1.z.string(),
114
+ secretKey: zod_1.z.string(),
115
+ });
116
+ exports.storageConfigSchema = zod_1.z.object({
117
+ gcs: exports.storageCredentialsSchema.optional(),
118
+ us3: exports.storageCredentialsSchema.optional(),
119
+ qiniu: exports.storageCredentialsSchema.optional(),
120
+ oss: exports.storageCredentialsSchema.optional(),
121
+ tos: exports.storageCredentialsSchema.optional(),
122
+ s3: exports.storageCredentialsSchema.optional(),
123
+ });
124
+ // OpenSpeech (Speech Recognition) Schema
125
+ // 阿里云语音识别配置
126
+ exports.openspeechAliyunProviderSchema = zod_1.z.object({
127
+ /** Token 端点(用于获取 NLS Token) */
128
+ tokenEndpoint: zod_1.z.string().url().optional(),
129
+ /** 录音文件识别 API 端点 */
130
+ endpoint: zod_1.z.string().url(),
131
+ /** AccessKey ID */
132
+ accessKeyId: zod_1.z.string().optional(),
133
+ /** AccessKey Secret */
134
+ accessKeySecret: zod_1.z.string().optional(),
135
+ /** Access Key(备用字段) */
136
+ accessKey: zod_1.z.string().optional(),
137
+ /** Secret Key(备用字段) */
138
+ secretKey: zod_1.z.string().optional(),
139
+ /** NLS 应用 ID */
140
+ nslAppId: zod_1.z.string().optional(),
141
+ /** NLS 应用 AppKey */
142
+ nslAppKey: zod_1.z.string().optional(),
143
+ /** API 版本 */
144
+ apiVersion: zod_1.z.string().optional(),
145
+ });
146
+ // 火山引擎语音识别配置
147
+ exports.openspeechVolcengineProviderSchema = zod_1.z.object({
148
+ /** 应用 ID */
149
+ appId: zod_1.z.string(),
150
+ /** 应用访问令牌 */
151
+ appAccessToken: zod_1.z.string(),
152
+ /** 用户 ID */
153
+ uid: zod_1.z.string(),
154
+ /** 应用访问密钥(可选) */
155
+ appAccessSecret: zod_1.z.string().optional(),
156
+ /** Access Key(用于签名,可选) */
157
+ accessKey: zod_1.z.string().optional(),
158
+ /** Secret Key(用于签名,可选) */
159
+ secretKey: zod_1.z.string().optional(),
160
+ /** 录音文件识别配置(非流式,大模型语音识别) */
161
+ auc: zod_1.z
162
+ .object({
163
+ /** API 端点(如:https://openspeech.bytedance.com/api/v3/auc/bigmodel) */
164
+ endpoint: zod_1.z.string().url(),
165
+ /** 资源 ID(如:volc.seedasr.auc) */
166
+ resourceId: zod_1.z.string(),
167
+ })
168
+ .optional(),
169
+ /** 流式语音识别配置(实时转写,大模型语音识别) */
170
+ sauc: zod_1.z
171
+ .object({
172
+ /** WebSocket 端点(如:wss://openspeech.bytedance.com/api/v3/sauc/bigmodel_async) */
173
+ endpoint: zod_1.z.string().url(),
174
+ /** 资源 ID(如:volc.seedasr.sauc.duration) */
175
+ resourceId: zod_1.z.string(),
176
+ })
177
+ .optional(),
178
+ });
179
+ // 兼容旧配置格式的通用 schema(用于迁移期间)
180
+ exports.openspeechProviderSchema = zod_1.z.object({
181
+ tokenEndpoint: zod_1.z.string().url().optional(),
182
+ endpoint: zod_1.z.string().url().optional(),
183
+ accessKeyId: zod_1.z.string().optional(),
184
+ accessKeySecret: zod_1.z.string().optional(),
185
+ accessKey: zod_1.z.string().optional(),
186
+ secretKey: zod_1.z.string().optional(),
187
+ nslAppId: zod_1.z.string().optional(),
188
+ nslAppKey: zod_1.z.string().optional(),
189
+ apiVersion: zod_1.z.string().optional(),
190
+ appId: zod_1.z.string().optional(),
191
+ appAccessToken: zod_1.z.string().optional(),
192
+ appAccessSecret: zod_1.z.string().optional(),
193
+ resourceId: zod_1.z.string().optional(),
194
+ uid: zod_1.z.string().optional(),
195
+ streamingEndpoint: zod_1.z.string().url().optional(),
196
+ // 新增:火山引擎分模式配置
197
+ auc: zod_1.z
198
+ .object({
199
+ endpoint: zod_1.z.string().url(),
200
+ resourceId: zod_1.z.string(),
201
+ })
202
+ .optional(),
203
+ sauc: zod_1.z
204
+ .object({
205
+ endpoint: zod_1.z.string().url(),
206
+ resourceId: zod_1.z.string(),
207
+ })
208
+ .optional(),
209
+ });
210
+ exports.openspeechConfigSchema = zod_1.z.object({
211
+ /** 阿里云 OSS RAM 模式配置 */
212
+ 'oss-ram': exports.openspeechAliyunProviderSchema.optional(),
213
+ /** 阿里云 OSS 配置 */
214
+ oss: exports.openspeechAliyunProviderSchema.optional(),
215
+ /** 火山引擎 TOS 配置(支持 auc 和 sauc 两种模式) */
216
+ tos: exports.openspeechVolcengineProviderSchema.optional(),
217
+ });
218
+ // Transcode Schema
219
+ exports.transcodeProviderSchema = zod_1.z.object({
220
+ baseUrl: zod_1.z.string().url(),
221
+ templateId: zod_1.z.string().optional(),
222
+ action: zod_1.z.string().optional(),
223
+ version: zod_1.z.string().optional(),
224
+ region: zod_1.z.string().optional(),
225
+ accessKey: zod_1.z.string().optional(),
226
+ secretKey: zod_1.z.string().optional(),
227
+ callbackUri: zod_1.z.string().optional(),
228
+ });
229
+ exports.transcodeConfigSchema = zod_1.z.object({
230
+ tos: exports.transcodeProviderSchema.optional(),
231
+ aliyun: exports.transcodeProviderSchema.optional(),
232
+ });
233
+ // TTS (Text-to-Speech) Schema
234
+ exports.ttsProviderSchema = zod_1.z.object({
235
+ endpoint: zod_1.z.string().url(),
236
+ apiKey: zod_1.z.string().optional(),
237
+ resourceId: zod_1.z.string().optional(),
238
+ region: zod_1.z.string().optional(),
239
+ accessKey: zod_1.z.string().optional(),
240
+ secretKey: zod_1.z.string().optional(),
241
+ bucket: zod_1.z.string().optional(),
242
+ });
243
+ exports.ttsConfigSchema = zod_1.z.object({
244
+ volcengine: exports.ttsProviderSchema.optional(),
245
+ aliyun: exports.ttsProviderSchema.optional(),
246
+ });
247
+ // Risk Detection Schema
248
+ exports.riskProviderSchema = zod_1.z.object({
249
+ accessKey: zod_1.z.string().min(1),
250
+ secretKey: zod_1.z.string().min(1),
251
+ imageBaseUrl: zod_1.z.string().optional(),
252
+ baseUrl: zod_1.z.string().url(),
253
+ appId: zod_1.z.number().int().optional(),
254
+ region: zod_1.z.string().optional(),
255
+ });
256
+ exports.riskConfigSchema = zod_1.z.object({
257
+ volcengine: exports.riskProviderSchema.optional(),
258
+ aliyun: exports.riskProviderSchema.optional(),
259
+ });
260
+ // Image Processing Schema
261
+ exports.imageProviderSchema = zod_1.z.object({
262
+ accessKey: zod_1.z.string().min(1),
263
+ secretKey: zod_1.z.string().min(1),
264
+ imageBaseUrl: zod_1.z.string().optional(),
265
+ baseUrl: zod_1.z.string().url(),
266
+ region: zod_1.z.string().optional(),
267
+ serviceId: zod_1.z.string().optional(),
268
+ });
269
+ exports.imageConfigSchema = zod_1.z.object({
270
+ volcengine: exports.imageProviderSchema.optional(),
271
+ aliyun: exports.imageProviderSchema.optional(),
272
+ });
273
+ // Vector (Embedding / Vector DB) Provider Schema
274
+ exports.vectorProviderSchema = zod_1.z.object({
275
+ accessKey: zod_1.z.string().min(1),
276
+ secretKey: zod_1.z.string().min(1),
277
+ region: zod_1.z.string().min(1),
278
+ });
279
+ exports.vectorConfigSchema = zod_1.z.object({
280
+ volcengine: exports.vectorProviderSchema.optional(),
281
+ aliyun: exports.vectorProviderSchema.optional(),
282
+ });
283
+ // WeChat MiniProgram Schema
284
+ exports.miniprogramSchema = zod_1.z.object({
285
+ appId: zod_1.z.string().min(1),
286
+ appSecret: zod_1.z.string().min(1),
287
+ });
288
+ // WeChat Official Account Schema (微信公众号)
289
+ exports.wechatSchema = zod_1.z.object({
290
+ appid: zod_1.z.string().min(1),
291
+ secret: zod_1.z.string().min(1),
292
+ });
293
+ // Agent_X Service Schema
294
+ exports.agentxSchema = zod_1.z.object({
295
+ /** Agent_X 服务 Base URL */
296
+ baseUrl: zod_1.z.string().url(),
297
+ /** 用户名(可选) */
298
+ user: zod_1.z.string().optional(),
299
+ /** 密码(可选) */
300
+ password: zod_1.z.string().optional(),
301
+ });
302
+ // OpenAI Service Schema
303
+ exports.openaiSchema = zod_1.z.object({
304
+ /** OpenAI API Key */
305
+ apiKey: zod_1.z.string().min(1),
306
+ /** OpenAI Base URL */
307
+ baseUrl: zod_1.z.string().url().optional(),
308
+ });
309
+ // Embedding Service Schema
310
+ exports.embeddingSchema = zod_1.z.object({
311
+ /** Embedding service Base URL (OpenAI-compatible) */
312
+ baseUrl: zod_1.z.string().url().optional(),
313
+ /** Embedding API Key */
314
+ apiKey: zod_1.z.string().optional(),
315
+ /** Embedding model name */
316
+ model: zod_1.z.string().optional(),
317
+ /** Embedding dimensions (optional, provider-dependent) */
318
+ dimensions: zod_1.z.number().int().positive().optional(),
319
+ /** Request timeout in milliseconds */
320
+ timeoutMs: zod_1.z.number().int().positive().optional(),
321
+ /** Query prefix (for bge/m3 style retrieval) */
322
+ queryPrefix: zod_1.z.string().optional(),
323
+ /** Document prefix (for bge/m3 style retrieval) */
324
+ documentPrefix: zod_1.z.string().optional(),
325
+ });
326
+ // Exchange Rate Service Schema
327
+ exports.exchangerateSchema = zod_1.z.object({
328
+ /** ExchangeRate Host API Key */
329
+ apiKey: zod_1.z.string().min(1),
330
+ /** ExchangeRate Host Base URL */
331
+ baseUrl: zod_1.z.string().url(),
332
+ });
333
+ /**
334
+ * IP Info Configuration Schema
335
+ * IP 地理位置信息服务配置
336
+ */
337
+ exports.ipInfoSchema = zod_1.z.object({
338
+ /** IP Info API URL */
339
+ url: zod_1.z.string().url(),
340
+ /** IP Info API Token */
341
+ token: zod_1.z.string().min(1),
342
+ });
343
+ // VikingDB (Vector DB) Schema
344
+ exports.vikingdbSchema = zod_1.z.object({
345
+ /** Provider selection: custom-http | volcengine */
346
+ provider: zod_1.z.enum(['custom-http', 'volcengine']).default('custom-http'),
347
+ /** custom-http mode */
348
+ baseUrl: zod_1.z.string().url().optional(),
349
+ authToken: zod_1.z.string().optional(),
350
+ database: zod_1.z.string().optional(),
351
+ collection: zod_1.z.string().optional(),
352
+ /** volcengine mode */
353
+ volcengine: zod_1.z
354
+ .object({
355
+ ak: zod_1.z.string().optional(),
356
+ sk: zod_1.z.string().optional(),
357
+ region: zod_1.z.string().optional(),
358
+ sessionToken: zod_1.z.string().optional(),
359
+ indexName: zod_1.z.string().optional(),
360
+ collectionName: zod_1.z.string().optional(),
361
+ collectionAlias: zod_1.z.string().optional(),
362
+ })
363
+ .optional(),
364
+ /** Field mapping (optional) */
365
+ fields: zod_1.z
366
+ .object({
367
+ primaryKey: zod_1.z.string().optional(),
368
+ text: zod_1.z.string().optional(),
369
+ vector: zod_1.z.string().optional(),
370
+ summary: zod_1.z.string().optional(),
371
+ metadata: zod_1.z.string().optional(),
372
+ tags: zod_1.z.string().optional(),
373
+ taskType: zod_1.z.string().optional(),
374
+ tenantId: zod_1.z.string().optional(),
375
+ botId: zod_1.z.string().optional(),
376
+ scopeType: zod_1.z.string().optional(),
377
+ scopeId: zod_1.z.string().optional(),
378
+ sourceType: zod_1.z.string().optional(),
379
+ createdById: zod_1.z.string().optional(),
380
+ createdAt: zod_1.z.string().optional(),
381
+ updatedAt: zod_1.z.string().optional(),
382
+ })
383
+ .optional(),
384
+ /** HTTP client */
385
+ timeoutMs: zod_1.z.number().int().positive().optional(),
386
+ paths: zod_1.z
387
+ .object({
388
+ vectorSearch: zod_1.z.string().optional(),
389
+ bm25Search: zod_1.z.string().optional(),
390
+ upsert: zod_1.z.string().optional(),
391
+ delete: zod_1.z.string().optional(),
392
+ health: zod_1.z.string().optional(),
393
+ })
394
+ .optional(),
395
+ /** Extra headers JSON object */
396
+ headers: zod_1.z.record(zod_1.z.string(), zod_1.z.string()).optional(),
397
+ });
398
+ // Full Keys Configuration Schema
399
+ exports.keysConfigSchema = zod_1.z.object({
400
+ google: exports.googleServiceAccountSchema,
401
+ 'jina-ai': exports.jinaAiSchema.optional(),
402
+ oauth: zod_1.z.array(exports.oauthProviderSchema).optional(),
403
+ sendcloud: exports.sendcloudSchema.optional(),
404
+ sms: exports.smsConfigSchema.optional(),
405
+ storage: exports.storageConfigSchema.optional(),
406
+ openspeech: exports.openspeechConfigSchema.optional(),
407
+ transcode: exports.transcodeConfigSchema.optional(),
408
+ tts: exports.ttsConfigSchema.optional(),
409
+ risk: exports.riskConfigSchema.optional(),
410
+ image: exports.imageConfigSchema.optional(),
411
+ vector: exports.vectorConfigSchema.optional(),
412
+ vikingdb: exports.vikingdbSchema.optional(),
413
+ embedding: exports.embeddingSchema.optional(),
414
+ miniprogram: exports.miniprogramSchema.optional(),
415
+ wechat: exports.wechatSchema.optional(),
416
+ agentx: exports.agentxSchema.optional(),
417
+ openai: exports.openaiSchema.optional(),
418
+ exchangerate: exports.exchangerateSchema.optional(),
419
+ ipinfo: exports.ipInfoSchema.optional(),
420
+ });
421
+ /**
422
+ * Validates keys configuration against the schema
423
+ *
424
+ * @param config - Parsed keys configuration object
425
+ * @returns Validated keys configuration
426
+ * @throws Error if validation fails
427
+ */
428
+ function validateKeysConfig(config) {
429
+ const result = exports.keysConfigSchema.safeParse(config);
430
+ if (!result.success) {
431
+ // Mask sensitive data in error messages
432
+ const errorMessages = result.error.issues
433
+ .map((err) => {
434
+ const path = err.path.join('.');
435
+ // Don't log actual values for security
436
+ return ` - ${path}: ${err.message}`;
437
+ })
438
+ .join('\n');
439
+ logger.error('Keys configuration validation failed', {
440
+ error: errorMessages,
441
+ });
442
+ throw new Error(`Keys configuration validation failed:\n${errorMessages}`);
443
+ }
444
+ if (environment_util_1.default.isProduction()) {
445
+ logger.info('Keys configuration validated successfully');
446
+ }
447
+ return result.data;
448
+ }
449
+ /**
450
+ * Validates keys configuration and returns detailed result
451
+ *
452
+ * @param config - Parsed keys configuration object
453
+ * @returns Validation result with success status and data or errors
454
+ */
455
+ function validateKeysConfigSafe(config) {
456
+ const result = exports.keysConfigSchema.safeParse(config);
457
+ if (result.success) {
458
+ return { success: true, data: result.data };
459
+ }
460
+ return { success: false, errors: result.error };
461
+ }
462
+ /**
463
+ * Checks if a specific provider is configured
464
+ *
465
+ * @param config - Keys configuration
466
+ * @param provider - Provider name to check
467
+ * @returns Boolean indicating if provider is configured
468
+ */
469
+ function isProviderConfigured(config, provider) {
470
+ if (provider === 'google') {
471
+ return !!config.google?.project_id;
472
+ }
473
+ return !!config[provider];
474
+ }
475
+ /**
476
+ * Get configured OAuth providers
477
+ *
478
+ * @param config - Keys configuration
479
+ * @returns Array of configured OAuth provider names
480
+ */
481
+ function getConfiguredOAuthProviders(config) {
482
+ return config.oauth?.map((p) => p.provider) || [];
483
+ }
484
+ /**
485
+ * Get configured SMS providers
486
+ *
487
+ * @param config - Keys configuration
488
+ * @returns Array of configured SMS vendor names
489
+ */
490
+ function getConfiguredSmsProviders(config) {
491
+ return config.sms?.providers.map((p) => p.vendor) || [];
492
+ }
493
+ /**
494
+ * Get configured storage providers
495
+ *
496
+ * @param config - Keys configuration
497
+ * @returns Array of configured storage provider names
498
+ */
499
+ function getConfiguredStorageProviders(config) {
500
+ if (!config.storage)
501
+ return [];
502
+ return Object.entries(config.storage)
503
+ .filter(([_, value]) => value && value.accessKey)
504
+ .map(([key]) => key);
505
+ }
506
+ //# sourceMappingURL=keys.validation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keys.validation.js","sourceRoot":"","sources":["../../../src/config/validation/keys.validation.ts"],"names":[],"mappings":"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"}