needware-cli 1.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 (93) hide show
  1. package/.editorconfig +21 -0
  2. package/AGENT_COMMAND_SUMMARY.md +364 -0
  3. package/CHANGELOG.md +138 -0
  4. package/FEATURE_INTERACTIVE_MODE.md +303 -0
  5. package/INTERACTIVE_EXAMPLE.md +305 -0
  6. package/LICENSE +22 -0
  7. package/PROJECT_SUMMARY.md +435 -0
  8. package/QUICK_START.md +216 -0
  9. package/README.md +310 -0
  10. package/SETUP.md +315 -0
  11. package/bin/cli.js +49 -0
  12. package/config/default.json +20 -0
  13. package/dist/commands/agent.d.ts +38 -0
  14. package/dist/commands/agent.d.ts.map +1 -0
  15. package/dist/commands/agent.js +444 -0
  16. package/dist/commands/agent.js.map +1 -0
  17. package/dist/commands/config.d.ts +48 -0
  18. package/dist/commands/config.d.ts.map +1 -0
  19. package/dist/commands/config.js +197 -0
  20. package/dist/commands/config.js.map +1 -0
  21. package/dist/commands/example.d.ts +32 -0
  22. package/dist/commands/example.d.ts.map +1 -0
  23. package/dist/commands/example.js +154 -0
  24. package/dist/commands/example.js.map +1 -0
  25. package/dist/commands/index.d.ts +8 -0
  26. package/dist/commands/index.d.ts.map +1 -0
  27. package/dist/commands/index.js +15 -0
  28. package/dist/commands/index.js.map +1 -0
  29. package/dist/commands/init.d.ts +25 -0
  30. package/dist/commands/init.d.ts.map +1 -0
  31. package/dist/commands/init.js +158 -0
  32. package/dist/commands/init.js.map +1 -0
  33. package/dist/core/cli.d.ts +37 -0
  34. package/dist/core/cli.d.ts.map +1 -0
  35. package/dist/core/cli.js +160 -0
  36. package/dist/core/cli.js.map +1 -0
  37. package/dist/core/command.d.ts +41 -0
  38. package/dist/core/command.d.ts.map +1 -0
  39. package/dist/core/command.js +87 -0
  40. package/dist/core/command.js.map +1 -0
  41. package/dist/core/logger.d.ts +30 -0
  42. package/dist/core/logger.d.ts.map +1 -0
  43. package/dist/core/logger.js +163 -0
  44. package/dist/core/logger.js.map +1 -0
  45. package/dist/index.d.ts +15 -0
  46. package/dist/index.d.ts.map +1 -0
  47. package/dist/index.js +125 -0
  48. package/dist/index.js.map +1 -0
  49. package/dist/sdk/base-sdk.d.ts +61 -0
  50. package/dist/sdk/base-sdk.d.ts.map +1 -0
  51. package/dist/sdk/base-sdk.js +71 -0
  52. package/dist/sdk/base-sdk.js.map +1 -0
  53. package/dist/sdk/example-sdk.d.ts +40 -0
  54. package/dist/sdk/example-sdk.d.ts.map +1 -0
  55. package/dist/sdk/example-sdk.js +168 -0
  56. package/dist/sdk/example-sdk.js.map +1 -0
  57. package/dist/sdk/index.d.ts +59 -0
  58. package/dist/sdk/index.d.ts.map +1 -0
  59. package/dist/sdk/index.js +169 -0
  60. package/dist/sdk/index.js.map +1 -0
  61. package/dist/types/command.d.ts +34 -0
  62. package/dist/types/command.d.ts.map +1 -0
  63. package/dist/types/command.js +13 -0
  64. package/dist/types/command.js.map +1 -0
  65. package/dist/types/config.d.ts +30 -0
  66. package/dist/types/config.d.ts.map +1 -0
  67. package/dist/types/config.js +6 -0
  68. package/dist/types/config.js.map +1 -0
  69. package/dist/types/error.d.ts +24 -0
  70. package/dist/types/error.d.ts.map +1 -0
  71. package/dist/types/error.js +33 -0
  72. package/dist/types/error.js.map +1 -0
  73. package/dist/types/index.d.ts +8 -0
  74. package/dist/types/index.d.ts.map +1 -0
  75. package/dist/types/index.js +23 -0
  76. package/dist/types/index.js.map +1 -0
  77. package/dist/types/sdk.d.ts +21 -0
  78. package/dist/types/sdk.d.ts.map +1 -0
  79. package/dist/types/sdk.js +6 -0
  80. package/dist/types/sdk.js.map +1 -0
  81. package/dist/utils/config.d.ts +59 -0
  82. package/dist/utils/config.d.ts.map +1 -0
  83. package/dist/utils/config.js +237 -0
  84. package/dist/utils/config.js.map +1 -0
  85. package/dist/utils/file.d.ts +66 -0
  86. package/dist/utils/file.d.ts.map +1 -0
  87. package/dist/utils/file.js +162 -0
  88. package/dist/utils/file.js.map +1 -0
  89. package/dist/utils/validator.d.ts +66 -0
  90. package/dist/utils/validator.d.ts.map +1 -0
  91. package/dist/utils/validator.js +120 -0
  92. package/dist/utils/validator.js.map +1 -0
  93. package/package.json +61 -0
package/dist/index.js ADDED
@@ -0,0 +1,125 @@
1
+ "use strict";
2
+ /**
3
+ * Needware CLI 主入口
4
+ */
5
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ var desc = Object.getOwnPropertyDescriptor(m, k);
8
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
+ desc = { enumerable: true, get: function() { return m[k]; } };
10
+ }
11
+ Object.defineProperty(o, k2, desc);
12
+ }) : (function(o, m, k, k2) {
13
+ if (k2 === undefined) k2 = k;
14
+ o[k2] = m[k];
15
+ }));
16
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
17
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
18
+ };
19
+ var __importDefault = (this && this.__importDefault) || function (mod) {
20
+ return (mod && mod.__esModule) ? mod : { "default": mod };
21
+ };
22
+ Object.defineProperty(exports, "__esModule", { value: true });
23
+ exports.FileUtils = exports.Validator = exports.Command = exports.SDKManager = exports.ConfigManager = exports.Logger = exports.CLI = void 0;
24
+ const dotenv_1 = require("dotenv");
25
+ const cli_1 = require("./core/cli");
26
+ Object.defineProperty(exports, "CLI", { enumerable: true, get: function () { return cli_1.CLI; } });
27
+ const logger_1 = require("./core/logger");
28
+ Object.defineProperty(exports, "Logger", { enumerable: true, get: function () { return logger_1.Logger; } });
29
+ const config_1 = require("./utils/config");
30
+ Object.defineProperty(exports, "ConfigManager", { enumerable: true, get: function () { return config_1.ConfigManager; } });
31
+ const sdk_1 = require("./sdk");
32
+ Object.defineProperty(exports, "SDKManager", { enumerable: true, get: function () { return sdk_1.SDKManager; } });
33
+ const commands_1 = require("./commands");
34
+ const file_1 = require("./utils/file");
35
+ const package_json_1 = __importDefault(require("../package.json"));
36
+ // 加载环境变量
37
+ (0, dotenv_1.config)();
38
+ const VERSION = package_json_1.default.version;
39
+ /**
40
+ * 初始化 Logger
41
+ */
42
+ function initializeLogger(configManager) {
43
+ const config = configManager.getConfig();
44
+ const logLevel = config.logging.level;
45
+ const logFile = file_1.FileUtils.resolvePath(config.logging.file);
46
+ const colorOutput = config.preferences.colorOutput;
47
+ const logger = new logger_1.Logger(logLevel, logFile, colorOutput);
48
+ return logger;
49
+ }
50
+ /**
51
+ * 初始化 SDK Manager
52
+ */
53
+ function initializeSDKManager(configManager, logger) {
54
+ const sdkManager = new sdk_1.SDKManager(logger);
55
+ const config = configManager.getConfig();
56
+ // 注册 Example SDK
57
+ if (config.sdks.example) {
58
+ const exampleSDK = new sdk_1.ExampleSDK(config.sdks.example, logger);
59
+ sdkManager.registerSDK(exampleSDK);
60
+ }
61
+ return sdkManager;
62
+ }
63
+ /**
64
+ * 注册所有命令
65
+ */
66
+ function registerCommands(cli, logger, configManager, sdkManager) {
67
+ // 初始化命令
68
+ const initCommand = new commands_1.InitCommand(logger, configManager);
69
+ cli.registerCommand(initCommand);
70
+ // 配置命令
71
+ const configCommand = new commands_1.ConfigCommand(logger, configManager);
72
+ cli.registerCommand(configCommand);
73
+ // 示例命令
74
+ const exampleCommand = new commands_1.ExampleCommand(logger, sdkManager);
75
+ cli.registerCommand(exampleCommand);
76
+ // Agent 命令
77
+ const agentCommand = new commands_1.AgentCommand(logger);
78
+ cli.registerCommand(agentCommand);
79
+ }
80
+ /**
81
+ * 主函数
82
+ */
83
+ async function main() {
84
+ try {
85
+ // 初始化配置管理器
86
+ const configManager = new config_1.ConfigManager();
87
+ // 初始化 Logger
88
+ const logger = initializeLogger(configManager);
89
+ // 初始化 SDK Manager
90
+ const sdkManager = initializeSDKManager(configManager, logger);
91
+ // 创建 CLI 实例
92
+ const cli = new cli_1.CLI(VERSION, logger);
93
+ // 注册所有命令
94
+ registerCommands(cli, logger, configManager, sdkManager);
95
+ // 运行 CLI
96
+ await cli.run();
97
+ }
98
+ catch (error) {
99
+ console.error('Fatal error:', error);
100
+ process.exit(1);
101
+ }
102
+ }
103
+ __exportStar(require("./types"), exports);
104
+ __exportStar(require("./commands"), exports);
105
+ __exportStar(require("./sdk"), exports);
106
+ var command_1 = require("./core/command");
107
+ Object.defineProperty(exports, "Command", { enumerable: true, get: function () { return command_1.Command; } });
108
+ var validator_1 = require("./utils/validator");
109
+ Object.defineProperty(exports, "Validator", { enumerable: true, get: function () { return validator_1.Validator; } });
110
+ var file_2 = require("./utils/file");
111
+ Object.defineProperty(exports, "FileUtils", { enumerable: true, get: function () { return file_2.FileUtils; } });
112
+ // 仅在直接运行时或通过 CLI 入口运行时执行
113
+ // 检查是否通过 bin/cli.js 或直接运行
114
+ const isDirectRun = require.main === module;
115
+ const isCLIEntry = process.argv[1] &&
116
+ (process.argv[1].endsWith('/bin/cli.js') ||
117
+ process.argv[1].endsWith('\\bin\\cli.js') ||
118
+ process.argv[1].includes('needware-cli'));
119
+ if (isDirectRun || isCLIEntry) {
120
+ main().catch((error) => {
121
+ console.error('Unhandled error:', error);
122
+ process.exit(1);
123
+ });
124
+ }
125
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * SDK 基类
3
+ */
4
+ import { SDKConfig, SDKHealthStatus, SDKMetadata } from '../types/sdk';
5
+ import { Logger } from '../core/logger';
6
+ export declare abstract class BaseSDK {
7
+ abstract readonly metadata: SDKMetadata;
8
+ protected config: SDKConfig;
9
+ protected logger: Logger;
10
+ protected initialized: boolean;
11
+ constructor(config: SDKConfig, logger: Logger);
12
+ /**
13
+ * 初始化 SDK
14
+ */
15
+ abstract initialize(): Promise<void>;
16
+ /**
17
+ * 检查 SDK 健康状态
18
+ */
19
+ abstract isHealthy(): Promise<SDKHealthStatus>;
20
+ /**
21
+ * 清理资源
22
+ */
23
+ abstract dispose(): Promise<void>;
24
+ /**
25
+ * 获取 SDK 名称
26
+ */
27
+ getName(): string;
28
+ /**
29
+ * 获取 SDK 版本
30
+ */
31
+ getVersion(): string;
32
+ /**
33
+ * 检查是否已初始化
34
+ */
35
+ isInitialized(): boolean;
36
+ /**
37
+ * 更新配置
38
+ */
39
+ updateConfig(config: Partial<SDKConfig>): void;
40
+ /**
41
+ * 获取配置
42
+ */
43
+ getConfig(): SDKConfig;
44
+ /**
45
+ * 记录调试信息
46
+ */
47
+ protected debug(message: string, context?: any): void;
48
+ /**
49
+ * 记录信息
50
+ */
51
+ protected info(message: string, context?: any): void;
52
+ /**
53
+ * 记录警告
54
+ */
55
+ protected warn(message: string, context?: any): void;
56
+ /**
57
+ * 记录错误
58
+ */
59
+ protected error(message: string, context?: any): void;
60
+ }
61
+ //# sourceMappingURL=base-sdk.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-sdk.d.ts","sourceRoot":"","sources":["../../src/sdk/base-sdk.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AACvE,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAExC,8BAAsB,OAAO;IAC3B,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;IAExC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC;IAC5B,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,WAAW,UAAS;gBAElB,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM;IAK7C;;OAEG;IACH,QAAQ,CAAC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAEpC;;OAEG;IACH,QAAQ,CAAC,SAAS,IAAI,OAAO,CAAC,eAAe,CAAC;IAE9C;;OAEG;IACH,QAAQ,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAEjC;;OAEG;IACH,OAAO,IAAI,MAAM;IAIjB;;OAEG;IACH,UAAU,IAAI,MAAM;IAIpB;;OAEG;IACH,aAAa,IAAI,OAAO;IAIxB;;OAEG;IACH,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,IAAI;IAI9C;;OAEG;IACH,SAAS,IAAI,SAAS;IAItB;;OAEG;IACH,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,GAAG,IAAI;IAIrD;;OAEG;IACH,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,GAAG,IAAI;IAIpD;;OAEG;IACH,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,GAAG,IAAI;IAIpD;;OAEG;IACH,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,GAAG,IAAI;CAGtD"}
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+ /**
3
+ * SDK 基类
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.BaseSDK = void 0;
7
+ class BaseSDK {
8
+ config;
9
+ logger;
10
+ initialized = false;
11
+ constructor(config, logger) {
12
+ this.config = config;
13
+ this.logger = logger;
14
+ }
15
+ /**
16
+ * 获取 SDK 名称
17
+ */
18
+ getName() {
19
+ return this.metadata.name;
20
+ }
21
+ /**
22
+ * 获取 SDK 版本
23
+ */
24
+ getVersion() {
25
+ return this.metadata.version;
26
+ }
27
+ /**
28
+ * 检查是否已初始化
29
+ */
30
+ isInitialized() {
31
+ return this.initialized;
32
+ }
33
+ /**
34
+ * 更新配置
35
+ */
36
+ updateConfig(config) {
37
+ this.config = { ...this.config, ...config };
38
+ }
39
+ /**
40
+ * 获取配置
41
+ */
42
+ getConfig() {
43
+ return { ...this.config };
44
+ }
45
+ /**
46
+ * 记录调试信息
47
+ */
48
+ debug(message, context) {
49
+ this.logger.debug(`[${this.metadata.name}] ${message}`, context);
50
+ }
51
+ /**
52
+ * 记录信息
53
+ */
54
+ info(message, context) {
55
+ this.logger.info(`[${this.metadata.name}] ${message}`, context);
56
+ }
57
+ /**
58
+ * 记录警告
59
+ */
60
+ warn(message, context) {
61
+ this.logger.warn(`[${this.metadata.name}] ${message}`, context);
62
+ }
63
+ /**
64
+ * 记录错误
65
+ */
66
+ error(message, context) {
67
+ this.logger.error(`[${this.metadata.name}] ${message}`, context);
68
+ }
69
+ }
70
+ exports.BaseSDK = BaseSDK;
71
+ //# sourceMappingURL=base-sdk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-sdk.js","sourceRoot":"","sources":["../../src/sdk/base-sdk.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAKH,MAAsB,OAAO;IAGjB,MAAM,CAAY;IAClB,MAAM,CAAS;IACf,WAAW,GAAG,KAAK,CAAC;IAE9B,YAAY,MAAiB,EAAE,MAAc;QAC3C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAiBD;;OAEG;IACH,OAAO;QACL,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,UAAU;QACR,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,aAAa;QACX,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,MAA0B;QACrC,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC;IAC9C,CAAC;IAED;;OAEG;IACH,SAAS;QACP,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;IAC5B,CAAC;IAED;;OAEG;IACO,KAAK,CAAC,OAAe,EAAE,OAAa;QAC5C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;IACnE,CAAC;IAED;;OAEG;IACO,IAAI,CAAC,OAAe,EAAE,OAAa;QAC3C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;IAClE,CAAC;IAED;;OAEG;IACO,IAAI,CAAC,OAAe,EAAE,OAAa;QAC3C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;IAClE,CAAC;IAED;;OAEG;IACO,KAAK,CAAC,OAAe,EAAE,OAAa;QAC5C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;IACnE,CAAC;CACF;AAzFD,0BAyFC"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * 示例 SDK 实现
3
+ */
4
+ import { BaseSDK } from './base-sdk';
5
+ import { SDKConfig, SDKHealthStatus, SDKMetadata } from '../types/sdk';
6
+ import { Logger } from '../core/logger';
7
+ export declare class ExampleSDK extends BaseSDK {
8
+ readonly metadata: SDKMetadata;
9
+ private client?;
10
+ constructor(config: SDKConfig, logger: Logger);
11
+ /**
12
+ * 初始化 SDK
13
+ */
14
+ initialize(): Promise<void>;
15
+ /**
16
+ * 设置重试机制
17
+ */
18
+ private setupRetry;
19
+ /**
20
+ * 检查健康状态
21
+ */
22
+ isHealthy(): Promise<SDKHealthStatus>;
23
+ /**
24
+ * 清理资源
25
+ */
26
+ dispose(): Promise<void>;
27
+ /**
28
+ * 调用 API
29
+ */
30
+ callAPI<T = any>(method: 'GET' | 'POST' | 'PUT' | 'DELETE', endpoint: string, data?: any): Promise<T>;
31
+ /**
32
+ * 示例方法:获取数据
33
+ */
34
+ fetchData(id: string): Promise<any>;
35
+ /**
36
+ * 示例方法:创建数据
37
+ */
38
+ createData(data: any): Promise<any>;
39
+ }
40
+ //# sourceMappingURL=example-sdk.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"example-sdk.d.ts","sourceRoot":"","sources":["../../src/sdk/example-sdk.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AACvE,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAGxC,qBAAa,UAAW,SAAQ,OAAO;IACrC,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAI5B;IAEF,OAAO,CAAC,MAAM,CAAC,CAAgB;gBAEnB,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM;IAI7C;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAqCjC;;OAEG;IACH,OAAO,CAAC,UAAU;IA6BlB;;OAEG;IACG,SAAS,IAAI,OAAO,CAAC,eAAe,CAAC;IA8B3C;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAO9B;;OAEG;IACG,OAAO,CAAC,CAAC,GAAG,GAAG,EACnB,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,EACzC,QAAQ,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE,GAAG,GACT,OAAO,CAAC,CAAC,CAAC;IAmDb;;OAEG;IACG,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAIzC;;OAEG;IACG,UAAU,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;CAG1C"}
@@ -0,0 +1,168 @@
1
+ "use strict";
2
+ /**
3
+ * 示例 SDK 实现
4
+ */
5
+ var __importDefault = (this && this.__importDefault) || function (mod) {
6
+ return (mod && mod.__esModule) ? mod : { "default": mod };
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.ExampleSDK = void 0;
10
+ const axios_1 = __importDefault(require("axios"));
11
+ const base_sdk_1 = require("./base-sdk");
12
+ const error_1 = require("../types/error");
13
+ class ExampleSDK extends base_sdk_1.BaseSDK {
14
+ metadata = {
15
+ name: 'example',
16
+ version: '1.0.0',
17
+ description: 'Example SDK for demonstration purposes',
18
+ };
19
+ client;
20
+ constructor(config, logger) {
21
+ super(config, logger);
22
+ }
23
+ /**
24
+ * 初始化 SDK
25
+ */
26
+ async initialize() {
27
+ try {
28
+ this.info('Initializing SDK...');
29
+ // 验证必需的配置
30
+ if (!this.config.apiKey) {
31
+ throw new error_1.CLIError('API Key is required', error_1.ErrorType.CONFIG, ['Set API Key: needware-cli config set sdks.example.apiKey YOUR_KEY'], { sdk: this.metadata.name });
32
+ }
33
+ // 创建 HTTP 客户端
34
+ this.client = axios_1.default.create({
35
+ baseURL: this.config.endpoint,
36
+ timeout: this.config.timeout || 30000,
37
+ headers: {
38
+ Authorization: `Bearer ${this.config.apiKey}`,
39
+ 'Content-Type': 'application/json',
40
+ },
41
+ });
42
+ // 配置重试
43
+ if (this.config.retries) {
44
+ this.setupRetry();
45
+ }
46
+ this.initialized = true;
47
+ this.info('SDK initialized successfully');
48
+ }
49
+ catch (error) {
50
+ this.error('Failed to initialize SDK', { error });
51
+ throw error;
52
+ }
53
+ }
54
+ /**
55
+ * 设置重试机制
56
+ */
57
+ setupRetry() {
58
+ if (!this.client)
59
+ return;
60
+ const retries = this.config.retries || 3;
61
+ this.client.interceptors.response.use((response) => response, async (error) => {
62
+ const config = error.config;
63
+ if (!config || !config.retryCount) {
64
+ config.retryCount = 0;
65
+ }
66
+ if (config.retryCount >= retries) {
67
+ return Promise.reject(error);
68
+ }
69
+ config.retryCount += 1;
70
+ this.warn(`Retrying request (${config.retryCount}/${retries})...`);
71
+ // 延迟重试
72
+ await new Promise((resolve) => setTimeout(resolve, 1000 * config.retryCount));
73
+ return this.client(config);
74
+ });
75
+ }
76
+ /**
77
+ * 检查健康状态
78
+ */
79
+ async isHealthy() {
80
+ try {
81
+ if (!this.initialized || !this.client) {
82
+ return {
83
+ healthy: false,
84
+ message: 'SDK not initialized',
85
+ timestamp: new Date(),
86
+ };
87
+ }
88
+ // 发送健康检查请求
89
+ const response = await this.client.get('/health', {
90
+ timeout: 5000,
91
+ });
92
+ return {
93
+ healthy: response.status === 200,
94
+ message: 'SDK is healthy',
95
+ timestamp: new Date(),
96
+ };
97
+ }
98
+ catch (error) {
99
+ this.warn('Health check failed', { error });
100
+ return {
101
+ healthy: false,
102
+ message: error instanceof Error ? error.message : 'Health check failed',
103
+ timestamp: new Date(),
104
+ };
105
+ }
106
+ }
107
+ /**
108
+ * 清理资源
109
+ */
110
+ async dispose() {
111
+ this.info('Disposing SDK...');
112
+ this.client = undefined;
113
+ this.initialized = false;
114
+ this.info('SDK disposed successfully');
115
+ }
116
+ /**
117
+ * 调用 API
118
+ */
119
+ async callAPI(method, endpoint, data) {
120
+ if (!this.initialized || !this.client) {
121
+ throw new error_1.CLIError('SDK not initialized', error_1.ErrorType.SDK, ['Initialize the SDK first'], {
122
+ sdk: this.metadata.name,
123
+ });
124
+ }
125
+ try {
126
+ this.debug(`Calling API: ${method} ${endpoint}`, { data });
127
+ const response = await this.client.request({
128
+ method,
129
+ url: endpoint,
130
+ data: method !== 'GET' ? data : undefined,
131
+ params: method === 'GET' ? data : undefined,
132
+ });
133
+ this.debug('API call successful', { status: response.status });
134
+ return response.data;
135
+ }
136
+ catch (error) {
137
+ this.error('API call failed', { error, endpoint, method });
138
+ if (axios_1.default.isAxiosError(error)) {
139
+ if (error.response?.status === 401) {
140
+ throw new error_1.CLIError('Authentication failed', error_1.ErrorType.AUTH, [
141
+ 'Check your API key',
142
+ 'Update API key: needware-cli config set sdks.example.apiKey YOUR_KEY',
143
+ ], { sdk: this.metadata.name, status: error.response.status });
144
+ }
145
+ throw new error_1.CLIError(`API request failed: ${error.message}`, error_1.ErrorType.NETWORK, ['Check your network connection', 'Check the API endpoint'], {
146
+ sdk: this.metadata.name,
147
+ status: error.response?.status,
148
+ statusText: error.response?.statusText,
149
+ });
150
+ }
151
+ throw error;
152
+ }
153
+ }
154
+ /**
155
+ * 示例方法:获取数据
156
+ */
157
+ async fetchData(id) {
158
+ return this.callAPI('GET', `/data/${id}`);
159
+ }
160
+ /**
161
+ * 示例方法:创建数据
162
+ */
163
+ async createData(data) {
164
+ return this.callAPI('POST', '/data', data);
165
+ }
166
+ }
167
+ exports.ExampleSDK = ExampleSDK;
168
+ //# sourceMappingURL=example-sdk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"example-sdk.js","sourceRoot":"","sources":["../../src/sdk/example-sdk.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,59 @@
1
+ /**
2
+ * SDK 管理器
3
+ */
4
+ import { BaseSDK } from './base-sdk';
5
+ import { Logger } from '../core/logger';
6
+ export declare class SDKManager {
7
+ private sdks;
8
+ private logger;
9
+ constructor(logger: Logger);
10
+ /**
11
+ * 注册 SDK
12
+ */
13
+ registerSDK(sdk: BaseSDK): void;
14
+ /**
15
+ * 获取 SDK
16
+ */
17
+ getSDK<T extends BaseSDK = BaseSDK>(name: string): T;
18
+ /**
19
+ * 检查 SDK 是否已注册
20
+ */
21
+ hasSDK(name: string): boolean;
22
+ /**
23
+ * 获取所有已注册的 SDK 名称
24
+ */
25
+ getRegisteredSDKs(): string[];
26
+ /**
27
+ * 初始化所有 SDK
28
+ */
29
+ initializeAll(): Promise<void>;
30
+ /**
31
+ * 初始化指定的 SDK
32
+ */
33
+ initialize(name: string): Promise<void>;
34
+ /**
35
+ * 清理所有 SDK
36
+ */
37
+ disposeAll(): Promise<void>;
38
+ /**
39
+ * 清理指定的 SDK
40
+ */
41
+ dispose(name: string): Promise<void>;
42
+ /**
43
+ * 检查所有 SDK 的健康状态
44
+ */
45
+ checkHealth(): Promise<{
46
+ [key: string]: any;
47
+ }>;
48
+ /**
49
+ * 移除 SDK
50
+ */
51
+ removeSDK(name: string): Promise<void>;
52
+ /**
53
+ * 清空所有 SDK
54
+ */
55
+ clear(): Promise<void>;
56
+ }
57
+ export { BaseSDK } from './base-sdk';
58
+ export { ExampleSDK } from './example-sdk';
59
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/sdk/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAGxC,qBAAa,UAAU;IACrB,OAAO,CAAC,IAAI,CAAuB;IACnC,OAAO,CAAC,MAAM,CAAS;gBAEX,MAAM,EAAE,MAAM;IAK1B;;OAEG;IACH,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IAW/B;;OAEG;IACH,MAAM,CAAC,CAAC,SAAS,OAAO,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC;IAepD;;OAEG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI7B;;OAEG;IACH,iBAAiB,IAAI,MAAM,EAAE;IAI7B;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IA+BpC;;OAEG;IACG,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAY7C;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAoBjC;;OAEG;IACG,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAY1C;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC;IA0BpD;;OAEG;IACG,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAe5C;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAK7B;AAED,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC"}