@xiaozhi-client/cli 1.9.4-beta.5

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 (58) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +98 -0
  3. package/fix-imports.js +32 -0
  4. package/package.json +26 -0
  5. package/project.json +75 -0
  6. package/src/Constants.ts +105 -0
  7. package/src/Container.ts +212 -0
  8. package/src/Types.ts +79 -0
  9. package/src/commands/CommandHandlerFactory.ts +98 -0
  10. package/src/commands/ConfigCommandHandler.ts +279 -0
  11. package/src/commands/EndpointCommandHandler.ts +158 -0
  12. package/src/commands/McpCommandHandler.ts +778 -0
  13. package/src/commands/ProjectCommandHandler.ts +254 -0
  14. package/src/commands/ServiceCommandHandler.ts +182 -0
  15. package/src/commands/__tests__/CommandHandlerFactory.test.ts +323 -0
  16. package/src/commands/__tests__/CommandRegistry.test.ts +287 -0
  17. package/src/commands/__tests__/ConfigCommandHandler.test.ts +844 -0
  18. package/src/commands/__tests__/EndpointCommandHandler.test.ts +426 -0
  19. package/src/commands/__tests__/McpCommandHandler.test.ts +753 -0
  20. package/src/commands/__tests__/ProjectCommandHandler.test.ts +230 -0
  21. package/src/commands/__tests__/ServiceCommands.integration.test.ts +408 -0
  22. package/src/commands/index.ts +351 -0
  23. package/src/errors/ErrorHandlers.ts +141 -0
  24. package/src/errors/ErrorMessages.ts +121 -0
  25. package/src/errors/__tests__/index.test.ts +186 -0
  26. package/src/errors/index.ts +163 -0
  27. package/src/global.d.ts +19 -0
  28. package/src/index.ts +53 -0
  29. package/src/interfaces/Command.ts +128 -0
  30. package/src/interfaces/CommandTypes.ts +95 -0
  31. package/src/interfaces/Config.ts +25 -0
  32. package/src/interfaces/Service.ts +99 -0
  33. package/src/services/DaemonManager.ts +318 -0
  34. package/src/services/ProcessManager.ts +235 -0
  35. package/src/services/ServiceManager.ts +319 -0
  36. package/src/services/TemplateManager.ts +382 -0
  37. package/src/services/__tests__/DaemonManager.test.ts +378 -0
  38. package/src/services/__tests__/DaemonMode.integration.test.ts +321 -0
  39. package/src/services/__tests__/ProcessManager.test.ts +296 -0
  40. package/src/services/__tests__/ServiceManager.test.ts +774 -0
  41. package/src/services/__tests__/TemplateManager.test.ts +337 -0
  42. package/src/types/backend.d.ts +48 -0
  43. package/src/utils/FileUtils.ts +320 -0
  44. package/src/utils/FormatUtils.ts +198 -0
  45. package/src/utils/PathUtils.ts +255 -0
  46. package/src/utils/PlatformUtils.ts +217 -0
  47. package/src/utils/Validation.ts +274 -0
  48. package/src/utils/VersionUtils.ts +141 -0
  49. package/src/utils/__tests__/FileUtils.test.ts +728 -0
  50. package/src/utils/__tests__/FormatUtils.test.ts +243 -0
  51. package/src/utils/__tests__/PathUtils.test.ts +1165 -0
  52. package/src/utils/__tests__/PlatformUtils.test.ts +723 -0
  53. package/src/utils/__tests__/Validation.test.ts +560 -0
  54. package/src/utils/__tests__/VersionUtils.test.ts +410 -0
  55. package/tsconfig.json +32 -0
  56. package/tsconfig.tsbuildinfo +1 -0
  57. package/tsup.config.ts +107 -0
  58. package/vitest.config.ts +97 -0
@@ -0,0 +1,97 @@
1
+ import { resolve } from "node:path";
2
+ import { dirname } from "node:path";
3
+ import { fileURLToPath } from "node:url";
4
+ import tsconfigPaths from "vite-tsconfig-paths";
5
+ import { defineConfig } from "vitest/config";
6
+
7
+ // ESM 兼容的 __dirname
8
+ const __filename = fileURLToPath(import.meta.url);
9
+ const __dirname = dirname(__filename);
10
+
11
+ export default defineConfig({
12
+ plugins: [
13
+ // 添加 tsconfig 路径解析插件
14
+ tsconfigPaths(),
15
+ ],
16
+ test: {
17
+ globals: true,
18
+ environment: "node",
19
+ testTimeout: 10000,
20
+ hookTimeout: 10000,
21
+ include: ["**/*.{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}"],
22
+ exclude: ["node_modules", "dist"],
23
+ coverage: {
24
+ enabled: true,
25
+ provider: "v8",
26
+ reporter: ["text", "json", "html", "lcov"],
27
+ reportsDirectory: resolve(__dirname, "../coverage"),
28
+ exclude: [
29
+ "node_modules/**",
30
+ "dist/**",
31
+ "**/*.d.ts",
32
+ "**/*.config.{js,ts}",
33
+ "coverage/**",
34
+ ],
35
+ include: [resolve(__dirname, "src/**/*.ts")],
36
+ all: true,
37
+ thresholds: {
38
+ global: {
39
+ branches: 80,
40
+ functions: 80,
41
+ lines: 80,
42
+ statements: 80,
43
+ },
44
+ },
45
+ },
46
+ },
47
+ resolve: {
48
+ alias: {
49
+ // CLI 内部路径别名(__dirname 是 packages/cli,所以使用相对路径)
50
+ "@cli/commands": resolve(__dirname, "./src/commands"),
51
+ "@cli/commands/*": resolve(__dirname, "./src/commands/*"),
52
+ "@cli/services": resolve(__dirname, "./src/services"),
53
+ "@cli/services/*": resolve(__dirname, "./src/services/*"),
54
+ "@cli/utils": resolve(__dirname, "./src/utils"),
55
+ "@cli/utils/*": resolve(__dirname, "./src/utils/*"),
56
+ "@cli/errors": resolve(__dirname, "./src/errors"),
57
+ "@cli/errors/*": resolve(__dirname, "./src/errors/*"),
58
+ "@cli/interfaces": resolve(__dirname, "./src/interfaces"),
59
+ "@cli/interfaces/*": resolve(__dirname, "./src/interfaces/*"),
60
+ // Backend 路径别名(从 packages/cli 向上到项目根目录)
61
+ "@handlers": resolve(__dirname, "../../apps/backend/handlers"),
62
+ "@handlers/*": resolve(__dirname, "../../apps/backend/handlers/*"),
63
+ "@middlewares": resolve(__dirname, "../../apps/backend/middlewares"),
64
+ "@middlewares/*": resolve(__dirname, "../../apps/backend/middlewares/*"),
65
+ "@services": resolve(__dirname, "../../apps/backend/services"),
66
+ "@services/*": resolve(__dirname, "../../apps/backend/services/*"),
67
+ "@errors": resolve(__dirname, "../../apps/backend/errors"),
68
+ "@errors/*": resolve(__dirname, "../../apps/backend/errors/*"),
69
+ "@utils": resolve(__dirname, "../../apps/backend/utils"),
70
+ "@utils/*": resolve(__dirname, "../../apps/backend/utils/*"),
71
+ "@core": resolve(__dirname, "../../apps/backend/core"),
72
+ "@core/*": resolve(__dirname, "../../apps/backend/core/*"),
73
+ "@transports": resolve(
74
+ __dirname,
75
+ "../../apps/backend/lib/mcp/transports"
76
+ ),
77
+ "@transports/*": resolve(
78
+ __dirname,
79
+ "../../apps/backend/lib/mcp/transports/*"
80
+ ),
81
+ "@adapters": resolve(__dirname, "../../apps/backend/adapters"),
82
+ "@adapters/*": resolve(__dirname, "../../apps/backend/adapters/*"),
83
+ "@managers": resolve(__dirname, "../../apps/backend/managers"),
84
+ "@managers/*": resolve(__dirname, "../../apps/backend/managers/*"),
85
+ "@types": resolve(__dirname, "../../apps/backend/types"),
86
+ "@types/*": resolve(__dirname, "../../apps/backend/types/*"),
87
+ "@/lib": resolve(__dirname, "../../apps/backend/lib"),
88
+ "@/lib/*": resolve(__dirname, "../../apps/backend/lib/*"),
89
+ "@root": resolve(__dirname, "../../apps/backend"),
90
+ "@root/*": resolve(__dirname, "../../apps/backend/*"),
91
+ "@routes": resolve(__dirname, "../../apps/backend/routes"),
92
+ "@routes/*": resolve(__dirname, "../../apps/backend/routes/*"),
93
+ "@constants": resolve(__dirname, "../../apps/backend/constants"),
94
+ "@constants/*": resolve(__dirname, "../../apps/backend/constants/*"),
95
+ },
96
+ },
97
+ });