xray-manager 1.8.4 → 2.0.0

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 (324) hide show
  1. package/README.md +102 -42
  2. package/dist/cli.mjs +8587 -0
  3. package/dist/cli.mjs.map +7 -0
  4. package/package.json +13 -5
  5. package/dist/cli.d.ts +0 -11
  6. package/dist/cli.d.ts.map +0 -1
  7. package/dist/cli.js +0 -134
  8. package/dist/cli.js.map +0 -1
  9. package/dist/commands/clash.d.ts +0 -20
  10. package/dist/commands/clash.d.ts.map +0 -1
  11. package/dist/commands/clash.js +0 -156
  12. package/dist/commands/clash.js.map +0 -1
  13. package/dist/commands/config.d.ts +0 -56
  14. package/dist/commands/config.d.ts.map +0 -1
  15. package/dist/commands/config.js +0 -461
  16. package/dist/commands/config.js.map +0 -1
  17. package/dist/commands/interactive.d.ts +0 -55
  18. package/dist/commands/interactive.d.ts.map +0 -1
  19. package/dist/commands/interactive.js +0 -418
  20. package/dist/commands/interactive.js.map +0 -1
  21. package/dist/commands/logs.d.ts +0 -62
  22. package/dist/commands/logs.d.ts.map +0 -1
  23. package/dist/commands/logs.js +0 -389
  24. package/dist/commands/logs.js.map +0 -1
  25. package/dist/commands/quota.d.ts +0 -54
  26. package/dist/commands/quota.d.ts.map +0 -1
  27. package/dist/commands/quota.js +0 -661
  28. package/dist/commands/quota.js.map +0 -1
  29. package/dist/commands/review.d.ts +0 -8
  30. package/dist/commands/review.d.ts.map +0 -1
  31. package/dist/commands/review.js +0 -79
  32. package/dist/commands/review.js.map +0 -1
  33. package/dist/commands/service.d.ts +0 -43
  34. package/dist/commands/service.d.ts.map +0 -1
  35. package/dist/commands/service.js +0 -202
  36. package/dist/commands/service.js.map +0 -1
  37. package/dist/commands/user.d.ts +0 -49
  38. package/dist/commands/user.d.ts.map +0 -1
  39. package/dist/commands/user.js +0 -371
  40. package/dist/commands/user.js.map +0 -1
  41. package/dist/components/dashboard-widget.d.ts +0 -21
  42. package/dist/components/dashboard-widget.d.ts.map +0 -1
  43. package/dist/components/dashboard-widget.js +0 -234
  44. package/dist/components/dashboard-widget.js.map +0 -1
  45. package/dist/components/progress-bar.d.ts +0 -67
  46. package/dist/components/progress-bar.d.ts.map +0 -1
  47. package/dist/components/progress-bar.js +0 -138
  48. package/dist/components/progress-bar.js.map +0 -1
  49. package/dist/components/user-table.d.ts +0 -8
  50. package/dist/components/user-table.d.ts.map +0 -1
  51. package/dist/components/user-table.js +0 -91
  52. package/dist/components/user-table.js.map +0 -1
  53. package/dist/config/i18n.d.ts +0 -136
  54. package/dist/config/i18n.d.ts.map +0 -1
  55. package/dist/config/i18n.js +0 -323
  56. package/dist/config/i18n.js.map +0 -1
  57. package/dist/constants/error-codes.d.ts +0 -344
  58. package/dist/constants/error-codes.d.ts.map +0 -1
  59. package/dist/constants/error-codes.js +0 -462
  60. package/dist/constants/error-codes.js.map +0 -1
  61. package/dist/constants/exit-codes.d.ts +0 -49
  62. package/dist/constants/exit-codes.d.ts.map +0 -1
  63. package/dist/constants/exit-codes.js +0 -100
  64. package/dist/constants/exit-codes.js.map +0 -1
  65. package/dist/constants/paths.d.ts +0 -63
  66. package/dist/constants/paths.d.ts.map +0 -1
  67. package/dist/constants/paths.js +0 -78
  68. package/dist/constants/paths.js.map +0 -1
  69. package/dist/constants/quota.d.ts +0 -126
  70. package/dist/constants/quota.d.ts.map +0 -1
  71. package/dist/constants/quota.js +0 -135
  72. package/dist/constants/quota.js.map +0 -1
  73. package/dist/constants/review.d.ts +0 -14
  74. package/dist/constants/review.d.ts.map +0 -1
  75. package/dist/constants/review.js +0 -33
  76. package/dist/constants/review.js.map +0 -1
  77. package/dist/constants/supported-distros.d.ts +0 -17
  78. package/dist/constants/supported-distros.d.ts.map +0 -1
  79. package/dist/constants/supported-distros.js +0 -68
  80. package/dist/constants/supported-distros.js.map +0 -1
  81. package/dist/constants/theme.d.ts +0 -34
  82. package/dist/constants/theme.d.ts.map +0 -1
  83. package/dist/constants/theme.js +0 -52
  84. package/dist/constants/theme.js.map +0 -1
  85. package/dist/constants/timeouts.d.ts +0 -84
  86. package/dist/constants/timeouts.d.ts.map +0 -1
  87. package/dist/constants/timeouts.js +0 -111
  88. package/dist/constants/timeouts.js.map +0 -1
  89. package/dist/constants/ui-symbols.d.ts +0 -47
  90. package/dist/constants/ui-symbols.d.ts.map +0 -1
  91. package/dist/constants/ui-symbols.js +0 -48
  92. package/dist/constants/ui-symbols.js.map +0 -1
  93. package/dist/services/clash-config.d.ts +0 -16
  94. package/dist/services/clash-config.d.ts.map +0 -1
  95. package/dist/services/clash-config.js +0 -107
  96. package/dist/services/clash-config.js.map +0 -1
  97. package/dist/services/config-manager.d.ts +0 -90
  98. package/dist/services/config-manager.d.ts.map +0 -1
  99. package/dist/services/config-manager.js +0 -307
  100. package/dist/services/config-manager.js.map +0 -1
  101. package/dist/services/layout-manager.d.ts +0 -94
  102. package/dist/services/layout-manager.d.ts.map +0 -1
  103. package/dist/services/layout-manager.js +0 -192
  104. package/dist/services/layout-manager.js.map +0 -1
  105. package/dist/services/log-manager.d.ts +0 -157
  106. package/dist/services/log-manager.d.ts.map +0 -1
  107. package/dist/services/log-manager.js +0 -397
  108. package/dist/services/log-manager.js.map +0 -1
  109. package/dist/services/navigation-manager.d.ts +0 -23
  110. package/dist/services/navigation-manager.d.ts.map +0 -1
  111. package/dist/services/navigation-manager.js +0 -39
  112. package/dist/services/navigation-manager.js.map +0 -1
  113. package/dist/services/platform-detector.d.ts +0 -10
  114. package/dist/services/platform-detector.d.ts.map +0 -1
  115. package/dist/services/platform-detector.js +0 -106
  116. package/dist/services/platform-detector.js.map +0 -1
  117. package/dist/services/public-ip-manager.d.ts +0 -78
  118. package/dist/services/public-ip-manager.d.ts.map +0 -1
  119. package/dist/services/public-ip-manager.js +0 -296
  120. package/dist/services/public-ip-manager.js.map +0 -1
  121. package/dist/services/quota-enforcer.d.ts +0 -86
  122. package/dist/services/quota-enforcer.d.ts.map +0 -1
  123. package/dist/services/quota-enforcer.js +0 -151
  124. package/dist/services/quota-enforcer.js.map +0 -1
  125. package/dist/services/quota-manager.d.ts +0 -101
  126. package/dist/services/quota-manager.d.ts.map +0 -1
  127. package/dist/services/quota-manager.js +0 -257
  128. package/dist/services/quota-manager.js.map +0 -1
  129. package/dist/services/review/areas/community.d.ts +0 -9
  130. package/dist/services/review/areas/community.d.ts.map +0 -1
  131. package/dist/services/review/areas/community.js +0 -59
  132. package/dist/services/review/areas/community.js.map +0 -1
  133. package/dist/services/review/areas/contribution.d.ts +0 -9
  134. package/dist/services/review/areas/contribution.d.ts.map +0 -1
  135. package/dist/services/review/areas/contribution.js +0 -107
  136. package/dist/services/review/areas/contribution.js.map +0 -1
  137. package/dist/services/review/areas/documentation.d.ts +0 -9
  138. package/dist/services/review/areas/documentation.d.ts.map +0 -1
  139. package/dist/services/review/areas/documentation.js +0 -110
  140. package/dist/services/review/areas/documentation.js.map +0 -1
  141. package/dist/services/review/areas/license.d.ts +0 -9
  142. package/dist/services/review/areas/license.d.ts.map +0 -1
  143. package/dist/services/review/areas/license.js +0 -86
  144. package/dist/services/review/areas/license.js.map +0 -1
  145. package/dist/services/review/areas/quality.d.ts +0 -9
  146. package/dist/services/review/areas/quality.d.ts.map +0 -1
  147. package/dist/services/review/areas/quality.js +0 -84
  148. package/dist/services/review/areas/quality.js.map +0 -1
  149. package/dist/services/review/areas/security.d.ts +0 -9
  150. package/dist/services/review/areas/security.d.ts.map +0 -1
  151. package/dist/services/review/areas/security.js +0 -64
  152. package/dist/services/review/areas/security.js.map +0 -1
  153. package/dist/services/review/evidence.d.ts +0 -10
  154. package/dist/services/review/evidence.d.ts.map +0 -1
  155. package/dist/services/review/evidence.js +0 -40
  156. package/dist/services/review/evidence.js.map +0 -1
  157. package/dist/services/review/recommendations-filter.d.ts +0 -12
  158. package/dist/services/review/recommendations-filter.d.ts.map +0 -1
  159. package/dist/services/review/recommendations-filter.js +0 -20
  160. package/dist/services/review/recommendations-filter.js.map +0 -1
  161. package/dist/services/review/repo-scanner.d.ts +0 -8
  162. package/dist/services/review/repo-scanner.d.ts.map +0 -1
  163. package/dist/services/review/repo-scanner.js +0 -15
  164. package/dist/services/review/repo-scanner.js.map +0 -1
  165. package/dist/services/review/report-renderer.d.ts +0 -15
  166. package/dist/services/review/report-renderer.d.ts.map +0 -1
  167. package/dist/services/review/report-renderer.js +0 -120
  168. package/dist/services/review/report-renderer.js.map +0 -1
  169. package/dist/services/review/review-engine.d.ts +0 -15
  170. package/dist/services/review/review-engine.d.ts.map +0 -1
  171. package/dist/services/review/review-engine.js +0 -61
  172. package/dist/services/review/review-engine.js.map +0 -1
  173. package/dist/services/review/summary-builder.d.ts +0 -8
  174. package/dist/services/review/summary-builder.d.ts.map +0 -1
  175. package/dist/services/review/summary-builder.js +0 -26
  176. package/dist/services/review/summary-builder.js.map +0 -1
  177. package/dist/services/screen-manager.d.ts +0 -13
  178. package/dist/services/screen-manager.d.ts.map +0 -1
  179. package/dist/services/screen-manager.js +0 -42
  180. package/dist/services/screen-manager.js.map +0 -1
  181. package/dist/services/stats-config-manager.d.ts +0 -110
  182. package/dist/services/stats-config-manager.d.ts.map +0 -1
  183. package/dist/services/stats-config-manager.js +0 -443
  184. package/dist/services/stats-config-manager.js.map +0 -1
  185. package/dist/services/systemd-manager.d.ts +0 -197
  186. package/dist/services/systemd-manager.d.ts.map +0 -1
  187. package/dist/services/systemd-manager.js +0 -458
  188. package/dist/services/systemd-manager.js.map +0 -1
  189. package/dist/services/traffic-manager.d.ts +0 -106
  190. package/dist/services/traffic-manager.d.ts.map +0 -1
  191. package/dist/services/traffic-manager.js +0 -368
  192. package/dist/services/traffic-manager.js.map +0 -1
  193. package/dist/services/user-manager.d.ts +0 -90
  194. package/dist/services/user-manager.d.ts.map +0 -1
  195. package/dist/services/user-manager.js +0 -347
  196. package/dist/services/user-manager.js.map +0 -1
  197. package/dist/services/user-metadata-manager.d.ts +0 -85
  198. package/dist/services/user-metadata-manager.d.ts.map +0 -1
  199. package/dist/services/user-metadata-manager.js +0 -181
  200. package/dist/services/user-metadata-manager.js.map +0 -1
  201. package/dist/types/config.d.ts +0 -340
  202. package/dist/types/config.d.ts.map +0 -1
  203. package/dist/types/config.js +0 -7
  204. package/dist/types/config.js.map +0 -1
  205. package/dist/types/layout.d.ts +0 -119
  206. package/dist/types/layout.d.ts.map +0 -1
  207. package/dist/types/layout.js +0 -142
  208. package/dist/types/layout.js.map +0 -1
  209. package/dist/types/platform.d.ts +0 -72
  210. package/dist/types/platform.d.ts.map +0 -1
  211. package/dist/types/platform.js +0 -38
  212. package/dist/types/platform.js.map +0 -1
  213. package/dist/types/quota.d.ts +0 -158
  214. package/dist/types/quota.d.ts.map +0 -1
  215. package/dist/types/quota.js +0 -26
  216. package/dist/types/quota.js.map +0 -1
  217. package/dist/types/review.d.ts +0 -62
  218. package/dist/types/review.d.ts.map +0 -1
  219. package/dist/types/review.js +0 -8
  220. package/dist/types/review.js.map +0 -1
  221. package/dist/types/server-config.d.ts +0 -53
  222. package/dist/types/server-config.d.ts.map +0 -1
  223. package/dist/types/server-config.js +0 -19
  224. package/dist/types/server-config.js.map +0 -1
  225. package/dist/types/service.d.ts +0 -96
  226. package/dist/types/service.d.ts.map +0 -1
  227. package/dist/types/service.js +0 -7
  228. package/dist/types/service.js.map +0 -1
  229. package/dist/types/terminal.d.ts +0 -35
  230. package/dist/types/terminal.d.ts.map +0 -1
  231. package/dist/types/terminal.js +0 -20
  232. package/dist/types/terminal.js.map +0 -1
  233. package/dist/types/ui-components.d.ts +0 -53
  234. package/dist/types/ui-components.d.ts.map +0 -1
  235. package/dist/types/ui-components.js +0 -3
  236. package/dist/types/ui-components.js.map +0 -1
  237. package/dist/types/user-metadata.d.ts +0 -43
  238. package/dist/types/user-metadata.d.ts.map +0 -1
  239. package/dist/types/user-metadata.js +0 -17
  240. package/dist/types/user-metadata.js.map +0 -1
  241. package/dist/types/user.d.ts +0 -134
  242. package/dist/types/user.d.ts.map +0 -1
  243. package/dist/types/user.js +0 -7
  244. package/dist/types/user.js.map +0 -1
  245. package/dist/utils/clipboard.d.ts +0 -21
  246. package/dist/utils/clipboard.d.ts.map +0 -1
  247. package/dist/utils/clipboard.js +0 -45
  248. package/dist/utils/clipboard.js.map +0 -1
  249. package/dist/utils/error-formatter.d.ts +0 -60
  250. package/dist/utils/error-formatter.d.ts.map +0 -1
  251. package/dist/utils/error-formatter.js +0 -244
  252. package/dist/utils/error-formatter.js.map +0 -1
  253. package/dist/utils/errors.d.ts +0 -92
  254. package/dist/utils/errors.d.ts.map +0 -1
  255. package/dist/utils/errors.js +0 -143
  256. package/dist/utils/errors.js.map +0 -1
  257. package/dist/utils/firewall.d.ts +0 -14
  258. package/dist/utils/firewall.d.ts.map +0 -1
  259. package/dist/utils/firewall.js +0 -78
  260. package/dist/utils/firewall.js.map +0 -1
  261. package/dist/utils/format.d.ts +0 -93
  262. package/dist/utils/format.d.ts.map +0 -1
  263. package/dist/utils/format.js +0 -240
  264. package/dist/utils/format.js.map +0 -1
  265. package/dist/utils/icons.d.ts +0 -53
  266. package/dist/utils/icons.d.ts.map +0 -1
  267. package/dist/utils/icons.js +0 -143
  268. package/dist/utils/icons.js.map +0 -1
  269. package/dist/utils/layout.d.ts +0 -142
  270. package/dist/utils/layout.d.ts.map +0 -1
  271. package/dist/utils/layout.js +0 -381
  272. package/dist/utils/layout.js.map +0 -1
  273. package/dist/utils/logger.d.ts +0 -160
  274. package/dist/utils/logger.d.ts.map +0 -1
  275. package/dist/utils/logger.js +0 -351
  276. package/dist/utils/logger.js.map +0 -1
  277. package/dist/utils/network.d.ts +0 -39
  278. package/dist/utils/network.d.ts.map +0 -1
  279. package/dist/utils/network.js +0 -227
  280. package/dist/utils/network.js.map +0 -1
  281. package/dist/utils/os-detection.d.ts +0 -10
  282. package/dist/utils/os-detection.d.ts.map +0 -1
  283. package/dist/utils/os-detection.js +0 -86
  284. package/dist/utils/os-detection.js.map +0 -1
  285. package/dist/utils/preflight.d.ts +0 -57
  286. package/dist/utils/preflight.d.ts.map +0 -1
  287. package/dist/utils/preflight.js +0 -215
  288. package/dist/utils/preflight.js.map +0 -1
  289. package/dist/utils/repo-scan.d.ts +0 -54
  290. package/dist/utils/repo-scan.d.ts.map +0 -1
  291. package/dist/utils/repo-scan.js +0 -165
  292. package/dist/utils/repo-scan.js.map +0 -1
  293. package/dist/utils/report-output.d.ts +0 -13
  294. package/dist/utils/report-output.d.ts.map +0 -1
  295. package/dist/utils/report-output.js +0 -33
  296. package/dist/utils/report-output.js.map +0 -1
  297. package/dist/utils/review-id.d.ts +0 -8
  298. package/dist/utils/review-id.d.ts.map +0 -1
  299. package/dist/utils/review-id.js +0 -17
  300. package/dist/utils/review-id.js.map +0 -1
  301. package/dist/utils/splash.d.ts +0 -21
  302. package/dist/utils/splash.d.ts.map +0 -1
  303. package/dist/utils/splash.js +0 -179
  304. package/dist/utils/splash.js.map +0 -1
  305. package/dist/utils/terminal.d.ts +0 -32
  306. package/dist/utils/terminal.d.ts.map +0 -1
  307. package/dist/utils/terminal.js +0 -93
  308. package/dist/utils/terminal.js.map +0 -1
  309. package/dist/utils/traffic-formatter.d.ts +0 -45
  310. package/dist/utils/traffic-formatter.d.ts.map +0 -1
  311. package/dist/utils/traffic-formatter.js +0 -131
  312. package/dist/utils/traffic-formatter.js.map +0 -1
  313. package/dist/utils/validator.d.ts +0 -102
  314. package/dist/utils/validator.d.ts.map +0 -1
  315. package/dist/utils/validator.js +0 -238
  316. package/dist/utils/validator.js.map +0 -1
  317. package/dist/utils/vless-link.d.ts +0 -27
  318. package/dist/utils/vless-link.d.ts.map +0 -1
  319. package/dist/utils/vless-link.js +0 -69
  320. package/dist/utils/vless-link.js.map +0 -1
  321. package/dist/utils/which.d.ts +0 -13
  322. package/dist/utils/which.d.ts.map +0 -1
  323. package/dist/utils/which.js +0 -28
  324. package/dist/utils/which.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"recommendations-filter.js","sourceRoot":"","sources":["../../../src/services/review/recommendations-filter.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AASH,sDAaC;AAbD,SAAgB,qBAAqB,CACnC,eAAiC,EACjC,UAAiC,EAAE;IAEnC,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE;QACpC,IAAI,OAAO,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,CAAC,QAAQ,EAAE,CAAC;YAC1D,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,OAAO,CAAC,WAAW,IAAI,GAAG,CAAC,WAAW,KAAK,OAAO,CAAC,WAAW,EAAE,CAAC;YACnE,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1,8 +0,0 @@
1
- /**
2
- * Repository scanning service
3
- *
4
- * @module services/review/repo-scanner
5
- */
6
- import { type RepoScanResult } from '../../utils/repo-scan';
7
- export declare function runRepoScan(repoPath: string): Promise<RepoScanResult>;
8
- //# sourceMappingURL=repo-scanner.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"repo-scanner.d.ts","sourceRoot":"","sources":["../../../src/services/review/repo-scanner.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAkB,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5E,wBAAsB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAG3E"}
@@ -1,15 +0,0 @@
1
- "use strict";
2
- /**
3
- * Repository scanning service
4
- *
5
- * @module services/review/repo-scanner
6
- */
7
- Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.runRepoScan = runRepoScan;
9
- const promises_1 = require("fs/promises");
10
- const repo_scan_1 = require("../../utils/repo-scan");
11
- async function runRepoScan(repoPath) {
12
- await (0, promises_1.access)(repoPath, promises_1.constants.R_OK);
13
- return (0, repo_scan_1.scanRepository)(repoPath);
14
- }
15
- //# sourceMappingURL=repo-scanner.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"repo-scanner.js","sourceRoot":"","sources":["../../../src/services/review/repo-scanner.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AAKH,kCAGC;AAND,0CAA+D;AAC/D,qDAA4E;AAErE,KAAK,UAAU,WAAW,CAAC,QAAgB;IAChD,MAAM,IAAA,iBAAM,EAAC,QAAQ,EAAE,oBAAW,CAAC,IAAI,CAAC,CAAC;IACzC,OAAO,IAAA,0BAAc,EAAC,QAAQ,CAAC,CAAC;AAClC,CAAC"}
@@ -1,15 +0,0 @@
1
- /**
2
- * Report renderer for review outputs
3
- *
4
- * @module services/review/report-renderer
5
- */
6
- import type { Recommendation, ReviewReport } from '../../types/review';
7
- export interface RenderOptions {
8
- summaryOnly?: boolean;
9
- recommendationsOnly?: boolean;
10
- }
11
- export declare function renderReportMarkdown(report: ReviewReport, options?: RenderOptions): string;
12
- export declare function renderSummaryMarkdown(report: ReviewReport): string;
13
- export declare function renderRecommendationsMarkdown(recommendations: Recommendation[]): string;
14
- export declare function renderReportJson(report: ReviewReport, options?: RenderOptions): string;
15
- //# sourceMappingURL=report-renderer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"report-renderer.d.ts","sourceRoot":"","sources":["../../../src/services/review/report-renderer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAkB,cAAc,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvF,MAAM,WAAW,aAAa;IAC5B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAmED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,GAAE,aAAkB,GAAG,MAAM,CA8B9F;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAalE;AAED,wBAAgB,6BAA6B,CAAC,eAAe,EAAE,cAAc,EAAE,GAAG,MAAM,CAEvF;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,GAAE,aAAkB,GAAG,MAAM,CAU1F"}
@@ -1,120 +0,0 @@
1
- "use strict";
2
- /**
3
- * Report renderer for review outputs
4
- *
5
- * @module services/review/report-renderer
6
- */
7
- Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.renderReportMarkdown = renderReportMarkdown;
9
- exports.renderSummaryMarkdown = renderSummaryMarkdown;
10
- exports.renderRecommendationsMarkdown = renderRecommendationsMarkdown;
11
- exports.renderReportJson = renderReportJson;
12
- function renderEvidence(evidence) {
13
- if (!evidence.length) {
14
- return '';
15
- }
16
- const items = evidence
17
- .map((item) => `- ${item.type}: ${item.target}${item.notes ? ` (${item.notes})` : ''}`)
18
- .join('\n');
19
- return `\n\nEvidence:\n${items}`;
20
- }
21
- function renderRecommendationsList(recommendations) {
22
- if (recommendations.length === 0) {
23
- return 'No recommendations found.';
24
- }
25
- const priorityOrder = { high: 0, medium: 1, low: 2 };
26
- const sorted = [...recommendations].sort((a, b) => {
27
- const left = priorityOrder[a.priority] ?? 99;
28
- const right = priorityOrder[b.priority] ?? 99;
29
- return left - right;
30
- });
31
- return sorted
32
- .map((rec) => {
33
- const header = `- [${rec.priority.toUpperCase()} | ${rec.timeHorizon}] ${rec.title}`;
34
- const details = ` ${rec.details}`;
35
- const risk = ` Risk if ignored: ${rec.riskIfIgnored}`;
36
- const evidence = renderEvidence(rec.evidence)
37
- .split('\n')
38
- .map((line) => ` ${line}`)
39
- .join('\n');
40
- return [header, details, risk, evidence].filter(Boolean).join('\n');
41
- })
42
- .join('\n');
43
- }
44
- function renderArea(area) {
45
- const findings = area.findings.length
46
- ? area.findings
47
- .map((finding) => {
48
- const header = `- ${finding.title}`;
49
- const details = ` ${finding.details}`;
50
- const evidence = renderEvidence(finding.evidence)
51
- .split('\n')
52
- .map((line) => ` ${line}`)
53
- .join('\n');
54
- return [header, details, evidence].filter(Boolean).join('\n');
55
- })
56
- .join('\n')
57
- : 'No findings.';
58
- const recommendations = renderRecommendationsList(area.recommendations);
59
- return [
60
- `### ${area.name}`,
61
- `Status: ${area.status}`,
62
- '',
63
- 'Findings:',
64
- findings,
65
- '',
66
- 'Recommendations:',
67
- recommendations,
68
- ].join('\n');
69
- }
70
- function renderReportMarkdown(report, options = {}) {
71
- if (options.summaryOnly) {
72
- return renderSummaryMarkdown(report);
73
- }
74
- if (options.recommendationsOnly) {
75
- return renderRecommendationsMarkdown(report.recommendations);
76
- }
77
- const header = [
78
- '# Open Source Review Report',
79
- '',
80
- `Repository: ${report.repoPath}`,
81
- `Generated: ${report.generatedAt}`,
82
- '',
83
- ].join('\n');
84
- const summary = renderSummaryMarkdown(report);
85
- const contributorRecommendations = report.recommendations.filter((rec) => rec.areaId === 'contribution');
86
- const contributorSection = contributorRecommendations.length
87
- ? ['## Contributor Guidance', renderRecommendationsList(contributorRecommendations)].join('\n')
88
- : '';
89
- const recommendations = renderRecommendationsMarkdown(report.recommendations);
90
- const areas = report.areas.map(renderArea).join('\n\n');
91
- return [header, summary, '', contributorSection, '', recommendations, '', '## Areas', areas]
92
- .filter((section) => section.trim().length > 0)
93
- .join('\n');
94
- }
95
- function renderSummaryMarkdown(report) {
96
- const risks = report.summary.riskNotes.length
97
- ? report.summary.riskNotes.map((note) => `- ${note}`).join('\n')
98
- : 'No critical risks noted.';
99
- return [
100
- '## Summary',
101
- `Headline: ${report.summary.headline}`,
102
- `High priority recommendations: ${report.summary.highPriorityCount}`,
103
- `Quick wins: ${report.summary.quickWinsCount}`,
104
- 'Risk notes:',
105
- risks,
106
- ].join('\n');
107
- }
108
- function renderRecommendationsMarkdown(recommendations) {
109
- return ['## Recommendations', renderRecommendationsList(recommendations)].join('\n');
110
- }
111
- function renderReportJson(report, options = {}) {
112
- if (options.summaryOnly) {
113
- return JSON.stringify(report.summary, null, 2);
114
- }
115
- if (options.recommendationsOnly) {
116
- return JSON.stringify(report.recommendations, null, 2);
117
- }
118
- return JSON.stringify(report, null, 2);
119
- }
120
- //# sourceMappingURL=report-renderer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"report-renderer.js","sourceRoot":"","sources":["../../../src/services/review/report-renderer.ts"],"names":[],"mappings":"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"}
@@ -1,15 +0,0 @@
1
- /**
2
- * Review engine orchestration
3
- *
4
- * @module services/review/review-engine
5
- */
6
- import { type ReviewAreaId } from '../../constants/review';
7
- import type { AssessmentArea, Finding, Recommendation, ReviewReport } from '../../types/review';
8
- export interface AreaEvaluation {
9
- areaId: ReviewAreaId;
10
- status: AssessmentArea['status'];
11
- findings: Array<Omit<Finding, 'id'>>;
12
- recommendations: Array<Omit<Recommendation, 'id'>>;
13
- }
14
- export declare function generateReviewReport(repoPath: string): Promise<ReviewReport>;
15
- //# sourceMappingURL=review-engine.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"review-engine.d.ts","sourceRoot":"","sources":["../../../src/services/review/review-engine.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAsB,KAAK,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC/E,OAAO,KAAK,EACV,cAAc,EACd,OAAO,EACP,cAAc,EACd,YAAY,EAEb,MAAM,oBAAoB,CAAC;AAY5B,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC;IACjC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;IACrC,eAAe,EAAE,KAAK,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC,CAAC;CACpD;AAgCD,wBAAsB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAelF"}
@@ -1,61 +0,0 @@
1
- "use strict";
2
- /**
3
- * Review engine orchestration
4
- *
5
- * @module services/review/review-engine
6
- */
7
- Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.generateReviewReport = generateReviewReport;
9
- const review_1 = require("../../constants/review");
10
- const review_id_1 = require("../../utils/review-id");
11
- const repo_scanner_1 = require("./repo-scanner");
12
- const summary_builder_1 = require("./summary-builder");
13
- const community_1 = require("./areas/community");
14
- const contribution_1 = require("./areas/contribution");
15
- const documentation_1 = require("./areas/documentation");
16
- const license_1 = require("./areas/license");
17
- const quality_1 = require("./areas/quality");
18
- const security_1 = require("./areas/security");
19
- function attachIds(areas) {
20
- let findingIndex = 0;
21
- let recommendationIndex = 0;
22
- return areas.map((area) => ({
23
- id: area.areaId,
24
- name: review_1.REVIEW_AREA_LABELS[area.areaId],
25
- status: area.status,
26
- findings: area.findings.map((finding) => ({
27
- ...finding,
28
- id: `finding_${++findingIndex}`,
29
- })),
30
- recommendations: area.recommendations.map((rec) => ({
31
- ...rec,
32
- id: `rec_${++recommendationIndex}`,
33
- })),
34
- }));
35
- }
36
- function evaluateAreas(scan) {
37
- return [
38
- (0, documentation_1.evaluateDocumentation)(scan),
39
- (0, license_1.evaluateLicense)(scan),
40
- (0, contribution_1.evaluateContribution)(scan),
41
- (0, quality_1.evaluateQuality)(scan),
42
- (0, community_1.evaluateCommunity)(scan),
43
- (0, security_1.evaluateSecurity)(scan),
44
- ];
45
- }
46
- async function generateReviewReport(repoPath) {
47
- const scan = await (0, repo_scanner_1.runRepoScan)(repoPath);
48
- const evaluated = evaluateAreas(scan);
49
- const areas = attachIds(evaluated);
50
- const recommendations = areas.flatMap((area) => area.recommendations);
51
- const summary = (0, summary_builder_1.buildSummary)(areas, recommendations);
52
- return {
53
- id: (0, review_id_1.createReviewId)(),
54
- repoPath: scan.repoPath,
55
- generatedAt: (0, review_id_1.getIsoTimestamp)(),
56
- summary,
57
- areas,
58
- recommendations,
59
- };
60
- }
61
- //# sourceMappingURL=review-engine.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"review-engine.js","sourceRoot":"","sources":["../../../src/services/review/review-engine.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AA0DH,oDAeC;AAvED,mDAA+E;AAQ/E,qDAAwE;AAExE,iDAA6C;AAC7C,uDAAiD;AACjD,iDAAsD;AACtD,uDAA4D;AAC5D,yDAA8D;AAC9D,6CAAkD;AAClD,6CAAkD;AAClD,+CAAoD;AASpD,SAAS,SAAS,CAAC,KAAuB;IACxC,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,IAAI,mBAAmB,GAAG,CAAC,CAAC;IAE5B,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC1B,EAAE,EAAE,IAAI,CAAC,MAAM;QACf,IAAI,EAAE,2BAAkB,CAAC,IAAI,CAAC,MAAM,CAAC;QACrC,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YACxC,GAAG,OAAO;YACV,EAAE,EAAE,WAAW,EAAE,YAAY,EAAE;SAChC,CAAC,CAAC;QACH,eAAe,EAAE,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAClD,GAAG,GAAG;YACN,EAAE,EAAE,OAAO,EAAE,mBAAmB,EAAE;SACnC,CAAC,CAAC;KACJ,CAAC,CAAC,CAAC;AACN,CAAC;AAED,SAAS,aAAa,CAAC,IAAoB;IACzC,OAAO;QACL,IAAA,qCAAqB,EAAC,IAAI,CAAC;QAC3B,IAAA,yBAAe,EAAC,IAAI,CAAC;QACrB,IAAA,mCAAoB,EAAC,IAAI,CAAC;QAC1B,IAAA,yBAAe,EAAC,IAAI,CAAC;QACrB,IAAA,6BAAiB,EAAC,IAAI,CAAC;QACvB,IAAA,2BAAgB,EAAC,IAAI,CAAC;KACvB,CAAC;AACJ,CAAC;AAEM,KAAK,UAAU,oBAAoB,CAAC,QAAgB;IACzD,MAAM,IAAI,GAAG,MAAM,IAAA,0BAAW,EAAC,QAAQ,CAAC,CAAC;IACzC,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,KAAK,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;IACnC,MAAM,eAAe,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IACtE,MAAM,OAAO,GAAY,IAAA,8BAAY,EAAC,KAAK,EAAE,eAAe,CAAC,CAAC;IAE9D,OAAO;QACL,EAAE,EAAE,IAAA,0BAAc,GAAE;QACpB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,WAAW,EAAE,IAAA,2BAAe,GAAE;QAC9B,OAAO;QACP,KAAK;QACL,eAAe;KAChB,CAAC;AACJ,CAAC"}
@@ -1,8 +0,0 @@
1
- /**
2
- * Summary builder for review reports
3
- *
4
- * @module services/review/summary-builder
5
- */
6
- import type { AssessmentArea, Recommendation, Summary } from '../../types/review';
7
- export declare function buildSummary(areas: AssessmentArea[], recommendations: Recommendation[]): Summary;
8
- //# sourceMappingURL=summary-builder.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"summary-builder.d.ts","sourceRoot":"","sources":["../../../src/services/review/summary-builder.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAElF,wBAAgB,YAAY,CAAC,KAAK,EAAE,cAAc,EAAE,EAAE,eAAe,EAAE,cAAc,EAAE,GAAG,OAAO,CAoBhG"}
@@ -1,26 +0,0 @@
1
- "use strict";
2
- /**
3
- * Summary builder for review reports
4
- *
5
- * @module services/review/summary-builder
6
- */
7
- Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.buildSummary = buildSummary;
9
- function buildSummary(areas, recommendations) {
10
- const highPriority = recommendations.filter((rec) => rec.priority === 'high');
11
- const quickWins = recommendations.filter((rec) => rec.timeHorizon === 'quick');
12
- const headline = highPriority.length > 0
13
- ? 'High priority improvements are needed.'
14
- : 'No high priority risks detected.';
15
- const riskNotes = highPriority.slice(0, 3).map((rec) => rec.riskIfIgnored);
16
- if (riskNotes.length === 0 && recommendations.length > 0) {
17
- riskNotes.push(recommendations[0].riskIfIgnored);
18
- }
19
- return {
20
- headline,
21
- highPriorityCount: highPriority.length,
22
- quickWinsCount: quickWins.length,
23
- riskNotes,
24
- };
25
- }
26
- //# sourceMappingURL=summary-builder.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"summary-builder.js","sourceRoot":"","sources":["../../../src/services/review/summary-builder.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AAIH,oCAoBC;AApBD,SAAgB,YAAY,CAAC,KAAuB,EAAE,eAAiC;IACrF,MAAM,YAAY,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC;IAC9E,MAAM,SAAS,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,KAAK,OAAO,CAAC,CAAC;IAE/E,MAAM,QAAQ,GACZ,YAAY,CAAC,MAAM,GAAG,CAAC;QACrB,CAAC,CAAC,wCAAwC;QAC1C,CAAC,CAAC,kCAAkC,CAAC;IAEzC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAC3E,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzD,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;IACnD,CAAC;IAED,OAAO;QACL,QAAQ;QACR,iBAAiB,EAAE,YAAY,CAAC,MAAM;QACtC,cAAc,EAAE,SAAS,CAAC,MAAM;QAChC,SAAS;KACV,CAAC;AACJ,CAAC"}
@@ -1,13 +0,0 @@
1
- import { IScreenManager, IDashboardWidget } from '../types/ui-components';
2
- export declare class ScreenManager implements IScreenManager {
3
- /**
4
- * Clears the terminal screen and scrollback
5
- */
6
- clear(): void;
7
- /**
8
- * Renders the complete frame: Dashboard + Breadcrumb
9
- */
10
- renderHeader(dashboard: IDashboardWidget, breadcrumb: string): void;
11
- private renderBreadcrumb;
12
- }
13
- //# sourceMappingURL=screen-manager.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"screen-manager.d.ts","sourceRoot":"","sources":["../../src/services/screen-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAI1E,qBAAa,aAAc,YAAW,cAAc;IAClD;;OAEG;IACH,KAAK,IAAI,IAAI;IAQb;;OAEG;IACH,YAAY,CAAC,SAAS,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;IAcnE,OAAO,CAAC,gBAAgB;CAWzB"}
@@ -1,42 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ScreenManager = void 0;
4
- const terminal_1 = require("../utils/terminal");
5
- const theme_1 = require("../constants/theme");
6
- class ScreenManager {
7
- /**
8
- * Clears the terminal screen and scrollback
9
- */
10
- clear() {
11
- // Standard ANSI sequence to clear screen and scrollback
12
- // \x1b[2J: Clear entire screen
13
- // \x1b[3J: Clear scrollback buffer (supported by xterm, GNOME Terminal, etc.)
14
- // \x1b[H: Move cursor to home position (0,0)
15
- process.stdout.write('\x1b[2J\x1b[3J\x1b[H');
16
- }
17
- /**
18
- * Renders the complete frame: Dashboard + Breadcrumb
19
- */
20
- renderHeader(dashboard, breadcrumb) {
21
- const caps = (0, terminal_1.detectTerminalCapabilities)();
22
- const width = caps.width;
23
- // Render dashboard
24
- const dashboardOutput = dashboard.render(width);
25
- console.log(dashboardOutput);
26
- // Render breadcrumb if present
27
- if (breadcrumb) {
28
- this.renderBreadcrumb(breadcrumb);
29
- }
30
- }
31
- renderBreadcrumb(breadcrumb) {
32
- // Minimalist breadcrumb: Just text with padding, no heavy lines
33
- // Add vertical padding
34
- console.log('');
35
- // Add horizontal padding (space) and color
36
- const padding = ' '.repeat(theme_1.UI_CONSTANTS.PADDING);
37
- console.log(`${padding}${theme_1.THEME.primary(breadcrumb)}`);
38
- console.log('');
39
- }
40
- }
41
- exports.ScreenManager = ScreenManager;
42
- //# sourceMappingURL=screen-manager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"screen-manager.js","sourceRoot":"","sources":["../../src/services/screen-manager.ts"],"names":[],"mappings":";;;AACA,gDAA+D;AAC/D,8CAAyD;AAEzD,MAAa,aAAa;IACxB;;OAEG;IACH,KAAK;QACH,wDAAwD;QACxD,+BAA+B;QAC/B,8EAA8E;QAC9E,6CAA6C;QAC7C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC/C,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,SAA2B,EAAE,UAAkB;QAC1D,MAAM,IAAI,GAAG,IAAA,qCAA0B,GAAE,CAAC;QAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QAEzB,mBAAmB;QACnB,MAAM,eAAe,GAAG,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAChD,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAE7B,+BAA+B;QAC/B,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAEO,gBAAgB,CAAC,UAAkB;QACzC,gEAAgE;QAChE,uBAAuB;QACvB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEhB,2CAA2C;QAC3C,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,oBAAY,CAAC,OAAO,CAAC,CAAC;QACjD,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,GAAG,aAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAEtD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC;CACF;AAxCD,sCAwCC"}
@@ -1,110 +0,0 @@
1
- /**
2
- * StatsConfigManager - Xray Stats API 配置管理
3
- *
4
- * 提供自动检测、配置、备份和回滚 Stats API 的功能
5
- *
6
- * @module services/stats-config-manager
7
- */
8
- import type { XrayConfigWithStats, ApiInbound, RoutingRule, ApiServiceType, PolicyLevelConfig, PolicySystemConfig, Outbound } from '../types/config';
9
- import type { StatsDetectionResult, StatsConfigResult, MissingComponent } from '../types/quota';
10
- /**
11
- * StatsConfigManager - Stats API 配置管理服务
12
- */
13
- export declare class StatsConfigManager {
14
- private configManager;
15
- private systemdManager;
16
- private configPath;
17
- /**
18
- * 创建 StatsConfigManager 实例
19
- *
20
- * @param configPath - Xray 配置文件路径
21
- * @param serviceName - systemd 服务名称
22
- */
23
- constructor(configPath?: string, serviceName?: string);
24
- /**
25
- * 检测缺失的 Stats API 配置组件
26
- *
27
- * @returns 缺失组件列表
28
- */
29
- detectMissingComponents(): Promise<MissingComponent[]>;
30
- /**
31
- * 检测端口是否可用
32
- *
33
- * @param port - 要检测的端口
34
- * @returns 端口是否可用
35
- */
36
- isPortAvailable(port: number): Promise<boolean>;
37
- /**
38
- * 查找可用端口
39
- *
40
- * @param startPort - 起始端口
41
- * @returns 可用端口,如果没有可用端口则返回 null
42
- */
43
- findAvailablePort(startPort?: number): Promise<number | null>;
44
- /**
45
- * 生成 Stats API 配置对象
46
- *
47
- * @param port - API 端口
48
- * @returns Stats API 配置对象
49
- */
50
- generateStatsConfig(port?: number): {
51
- stats: Record<string, never>;
52
- policy: {
53
- levels: Record<string, PolicyLevelConfig>;
54
- system: PolicySystemConfig;
55
- };
56
- api: {
57
- tag: string;
58
- services: ApiServiceType[];
59
- };
60
- apiInbound: ApiInbound;
61
- apiOutbound: Outbound;
62
- apiRoutingRule: RoutingRule;
63
- };
64
- /**
65
- * 智能合并 Stats 配置到现有配置
66
- *
67
- * @param config - 现有配置
68
- * @param statsConfig - Stats 配置
69
- * @returns 合并后的配置
70
- */
71
- mergeStatsConfig(config: XrayConfigWithStats, statsConfig: ReturnType<typeof this.generateStatsConfig>): XrayConfigWithStats;
72
- /**
73
- * 验证 Stats API 连接
74
- *
75
- * @param port - API 端口
76
- * @returns 是否可连接
77
- */
78
- verifyStatsApiConnection(port?: number): Promise<boolean>;
79
- /**
80
- * 备份配置文件
81
- *
82
- * @returns 备份文件路径
83
- */
84
- backupBeforeModify(): Promise<string>;
85
- /**
86
- * 回滚配置并重启服务
87
- *
88
- * @param backupPath - 备份文件路径
89
- */
90
- rollbackOnFailure(backupPath: string): Promise<void>;
91
- /**
92
- * 重启服务并验证状态
93
- *
94
- * @returns 服务是否正常运行
95
- */
96
- restartAndVerify(): Promise<boolean>;
97
- /**
98
- * 检测 Stats API 状态
99
- *
100
- * @returns 检测结果
101
- */
102
- detectStatsConfig(): Promise<StatsDetectionResult>;
103
- /**
104
- * 启用 Stats API(主方法)
105
- *
106
- * @returns 配置结果
107
- */
108
- enableStatsApi(): Promise<StatsConfigResult>;
109
- }
110
- //# sourceMappingURL=stats-config-manager.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"stats-config-manager.d.ts","sourceRoot":"","sources":["../../src/services/stats-config-manager.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAiBH,OAAO,KAAK,EACV,mBAAmB,EACnB,UAAU,EACV,WAAW,EACX,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EAClB,QAAQ,EACT,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAIhG;;GAEG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,UAAU,CAAS;IAE3B;;;;;OAKG;gBACS,UAAU,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM;IAMrD;;;;OAIG;IACG,uBAAuB,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAwD5D;;;;;OAKG;IACG,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAiBrD;;;;;OAKG;IACG,iBAAiB,CAAC,SAAS,GAAE,MAAyB,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAyBrF;;;;;OAKG;IACH,mBAAmB,CAAC,IAAI,GAAE,MAAyB,GAAG;QACpD,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC7B,MAAM,EAAE;YACN,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;YAC1C,MAAM,EAAE,kBAAkB,CAAC;SAC5B,CAAC;QACF,GAAG,EAAE;YAAE,GAAG,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,cAAc,EAAE,CAAA;SAAE,CAAC;QACjD,UAAU,EAAE,UAAU,CAAC;QACvB,WAAW,EAAE,QAAQ,CAAC;QACtB,cAAc,EAAE,WAAW,CAAC;KAC7B;IAoCD;;;;;;OAMG;IACH,gBAAgB,CACd,MAAM,EAAE,mBAAmB,EAC3B,WAAW,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,mBAAmB,CAAC,GACvD,mBAAmB;IAsEtB;;;;;OAKG;IACG,wBAAwB,CAAC,IAAI,GAAE,MAAyB,GAAG,OAAO,CAAC,OAAO,CAAC;IAcjF;;;;OAIG;IACG,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC;IAI3C;;;;OAIG;IACG,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK1D;;;;OAIG;IACG,gBAAgB,IAAI,OAAO,CAAC,OAAO,CAAC;IAe1C;;;;OAIG;IACG,iBAAiB,IAAI,OAAO,CAAC,oBAAoB,CAAC;IA6DxD;;;;OAIG;IACG,cAAc,IAAI,OAAO,CAAC,iBAAiB,CAAC;CAqGnD"}