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
@@ -0,0 +1,169 @@
1
+ "use strict";
2
+ /**
3
+ * SDK 管理器
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.ExampleSDK = exports.BaseSDK = exports.SDKManager = void 0;
7
+ const error_1 = require("../types/error");
8
+ class SDKManager {
9
+ sdks;
10
+ logger;
11
+ constructor(logger) {
12
+ this.sdks = new Map();
13
+ this.logger = logger;
14
+ }
15
+ /**
16
+ * 注册 SDK
17
+ */
18
+ registerSDK(sdk) {
19
+ const name = sdk.getName();
20
+ if (this.sdks.has(name)) {
21
+ this.logger.warn(`SDK '${name}' is already registered, replacing...`);
22
+ }
23
+ this.sdks.set(name, sdk);
24
+ this.logger.debug(`SDK '${name}' registered successfully`);
25
+ }
26
+ /**
27
+ * 获取 SDK
28
+ */
29
+ getSDK(name) {
30
+ const sdk = this.sdks.get(name);
31
+ if (!sdk) {
32
+ throw new error_1.CLIError(`SDK '${name}' not found`, error_1.ErrorType.SDK, [`Available SDKs: ${Array.from(this.sdks.keys()).join(', ')}`], { requestedSDK: name });
33
+ }
34
+ return sdk;
35
+ }
36
+ /**
37
+ * 检查 SDK 是否已注册
38
+ */
39
+ hasSDK(name) {
40
+ return this.sdks.has(name);
41
+ }
42
+ /**
43
+ * 获取所有已注册的 SDK 名称
44
+ */
45
+ getRegisteredSDKs() {
46
+ return Array.from(this.sdks.keys());
47
+ }
48
+ /**
49
+ * 初始化所有 SDK
50
+ */
51
+ async initializeAll() {
52
+ this.logger.info('Initializing all SDKs...');
53
+ const promises = [];
54
+ for (const [name, sdk] of this.sdks.entries()) {
55
+ if (!sdk.isInitialized()) {
56
+ this.logger.debug(`Initializing SDK: ${name}`);
57
+ promises.push(sdk.initialize().catch((error) => {
58
+ this.logger.error(`Failed to initialize SDK '${name}'`, { error });
59
+ throw error;
60
+ }));
61
+ }
62
+ }
63
+ try {
64
+ await Promise.all(promises);
65
+ this.logger.info('All SDKs initialized successfully');
66
+ }
67
+ catch (error) {
68
+ this.logger.error('Failed to initialize some SDKs', { error });
69
+ throw new error_1.CLIError('SDK initialization failed', error_1.ErrorType.SDK, ['Check your SDK configuration', 'Check network connectivity'], { error });
70
+ }
71
+ }
72
+ /**
73
+ * 初始化指定的 SDK
74
+ */
75
+ async initialize(name) {
76
+ const sdk = this.getSDK(name);
77
+ if (sdk.isInitialized()) {
78
+ this.logger.debug(`SDK '${name}' is already initialized`);
79
+ return;
80
+ }
81
+ this.logger.debug(`Initializing SDK: ${name}`);
82
+ await sdk.initialize();
83
+ }
84
+ /**
85
+ * 清理所有 SDK
86
+ */
87
+ async disposeAll() {
88
+ this.logger.info('Disposing all SDKs...');
89
+ const promises = [];
90
+ for (const [name, sdk] of this.sdks.entries()) {
91
+ if (sdk.isInitialized()) {
92
+ this.logger.debug(`Disposing SDK: ${name}`);
93
+ promises.push(sdk.dispose().catch((error) => {
94
+ this.logger.error(`Failed to dispose SDK '${name}'`, { error });
95
+ }));
96
+ }
97
+ }
98
+ await Promise.all(promises);
99
+ this.logger.info('All SDKs disposed successfully');
100
+ }
101
+ /**
102
+ * 清理指定的 SDK
103
+ */
104
+ async dispose(name) {
105
+ const sdk = this.getSDK(name);
106
+ if (!sdk.isInitialized()) {
107
+ this.logger.debug(`SDK '${name}' is not initialized`);
108
+ return;
109
+ }
110
+ this.logger.debug(`Disposing SDK: ${name}`);
111
+ await sdk.dispose();
112
+ }
113
+ /**
114
+ * 检查所有 SDK 的健康状态
115
+ */
116
+ async checkHealth() {
117
+ const healthStatus = {};
118
+ for (const [name, sdk] of this.sdks.entries()) {
119
+ if (sdk.isInitialized()) {
120
+ try {
121
+ healthStatus[name] = await sdk.isHealthy();
122
+ }
123
+ catch (error) {
124
+ healthStatus[name] = {
125
+ healthy: false,
126
+ error: error instanceof Error ? error.message : 'Unknown error',
127
+ timestamp: new Date(),
128
+ };
129
+ }
130
+ }
131
+ else {
132
+ healthStatus[name] = {
133
+ healthy: false,
134
+ message: 'Not initialized',
135
+ timestamp: new Date(),
136
+ };
137
+ }
138
+ }
139
+ return healthStatus;
140
+ }
141
+ /**
142
+ * 移除 SDK
143
+ */
144
+ async removeSDK(name) {
145
+ const sdk = this.sdks.get(name);
146
+ if (!sdk) {
147
+ return;
148
+ }
149
+ if (sdk.isInitialized()) {
150
+ await sdk.dispose();
151
+ }
152
+ this.sdks.delete(name);
153
+ this.logger.debug(`SDK '${name}' removed`);
154
+ }
155
+ /**
156
+ * 清空所有 SDK
157
+ */
158
+ async clear() {
159
+ await this.disposeAll();
160
+ this.sdks.clear();
161
+ this.logger.debug('All SDKs cleared');
162
+ }
163
+ }
164
+ exports.SDKManager = SDKManager;
165
+ var base_sdk_1 = require("./base-sdk");
166
+ Object.defineProperty(exports, "BaseSDK", { enumerable: true, get: function () { return base_sdk_1.BaseSDK; } });
167
+ var example_sdk_1 = require("./example-sdk");
168
+ Object.defineProperty(exports, "ExampleSDK", { enumerable: true, get: function () { return example_sdk_1.ExampleSDK; } });
169
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/sdk/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * 命令相关类型定义
3
+ */
4
+ export interface CommandOptions {
5
+ [key: string]: any;
6
+ }
7
+ export interface CommandDefinition {
8
+ name: string;
9
+ description: string;
10
+ aliases?: string[];
11
+ options?: CommandOption[];
12
+ }
13
+ export interface CommandOption {
14
+ flags: string;
15
+ description: string;
16
+ defaultValue?: any;
17
+ }
18
+ export interface CommandContext {
19
+ logger: any;
20
+ config: any;
21
+ sdkManager: any;
22
+ }
23
+ export declare enum CommandStatus {
24
+ SUCCESS = "success",
25
+ ERROR = "error",
26
+ CANCELLED = "cancelled"
27
+ }
28
+ export interface CommandResult {
29
+ status: CommandStatus;
30
+ message?: string;
31
+ data?: any;
32
+ error?: Error;
33
+ }
34
+ //# sourceMappingURL=command.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../src/types/command.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,cAAc;IAC7B,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,aAAa,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,GAAG,CAAC;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,GAAG,CAAC;IACZ,MAAM,EAAE,GAAG,CAAC;IACZ,UAAU,EAAE,GAAG,CAAC;CACjB;AAED,oBAAY,aAAa;IACvB,OAAO,YAAY;IACnB,KAAK,UAAU;IACf,SAAS,cAAc;CACxB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,aAAa,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,KAAK,CAAC,EAAE,KAAK,CAAC;CACf"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ /**
3
+ * 命令相关类型定义
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.CommandStatus = void 0;
7
+ var CommandStatus;
8
+ (function (CommandStatus) {
9
+ CommandStatus["SUCCESS"] = "success";
10
+ CommandStatus["ERROR"] = "error";
11
+ CommandStatus["CANCELLED"] = "cancelled";
12
+ })(CommandStatus || (exports.CommandStatus = CommandStatus = {}));
13
+ //# sourceMappingURL=command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command.js","sourceRoot":"","sources":["../../src/types/command.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAyBH,IAAY,aAIX;AAJD,WAAY,aAAa;IACvB,oCAAmB,CAAA;IACnB,gCAAe,CAAA;IACf,wCAAuB,CAAA;AACzB,CAAC,EAJW,aAAa,6BAAb,aAAa,QAIxB"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * 配置相关类型定义
3
+ */
4
+ export interface LoggingConfig {
5
+ level: 'debug' | 'info' | 'warn' | 'error';
6
+ file: string;
7
+ }
8
+ export interface SDKConfig {
9
+ apiKey: string;
10
+ endpoint: string;
11
+ timeout: number;
12
+ retries?: number;
13
+ }
14
+ export interface PreferencesConfig {
15
+ colorOutput: boolean;
16
+ interactive: boolean;
17
+ }
18
+ export interface Config {
19
+ version: string;
20
+ logging: LoggingConfig;
21
+ sdks: {
22
+ [key: string]: SDKConfig;
23
+ };
24
+ preferences: PreferencesConfig;
25
+ }
26
+ export interface ConfigManagerOptions {
27
+ configPath?: string;
28
+ defaultConfig?: Partial<Config>;
29
+ }
30
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IAC3C,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,MAAM;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,aAAa,CAAC;IACvB,IAAI,EAAE;QACJ,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;KAC1B,CAAC;IACF,WAAW,EAAE,iBAAiB,CAAC;CAChC;AAED,MAAM,WAAW,oBAAoB;IACnC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;CACjC"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ /**
3
+ * 配置相关类型定义
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":";AAAA;;GAEG"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * 错误类型定义
3
+ */
4
+ export declare enum ErrorType {
5
+ VALIDATION = "ValidationError",
6
+ CONFIG = "ConfigError",
7
+ SDK = "SDKError",
8
+ NETWORK = "NetworkError",
9
+ AUTH = "AuthError",
10
+ UNKNOWN = "UnknownError"
11
+ }
12
+ export interface ErrorContext {
13
+ command?: string;
14
+ timestamp: Date;
15
+ stack?: string;
16
+ [key: string]: any;
17
+ }
18
+ export declare class CLIError extends Error {
19
+ readonly type: ErrorType;
20
+ readonly context: ErrorContext;
21
+ readonly suggestions: string[];
22
+ constructor(message: string, type?: ErrorType, suggestions?: string[], context?: Partial<ErrorContext>);
23
+ }
24
+ //# sourceMappingURL=error.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../src/types/error.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,oBAAY,SAAS;IACnB,UAAU,oBAAoB;IAC9B,MAAM,gBAAgB;IACtB,GAAG,aAAa;IAChB,OAAO,iBAAiB;IACxB,IAAI,cAAc;IAClB,OAAO,iBAAiB;CACzB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,IAAI,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,qBAAa,QAAS,SAAQ,KAAK;IACjC,SAAgB,IAAI,EAAE,SAAS,CAAC;IAChC,SAAgB,OAAO,EAAE,YAAY,CAAC;IACtC,SAAgB,WAAW,EAAE,MAAM,EAAE,CAAC;gBAGpC,OAAO,EAAE,MAAM,EACf,IAAI,GAAE,SAA6B,EACnC,WAAW,GAAE,MAAM,EAAO,EAC1B,OAAO,GAAE,OAAO,CAAC,YAAY,CAAM;CAYtC"}
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ /**
3
+ * 错误类型定义
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.CLIError = exports.ErrorType = void 0;
7
+ var ErrorType;
8
+ (function (ErrorType) {
9
+ ErrorType["VALIDATION"] = "ValidationError";
10
+ ErrorType["CONFIG"] = "ConfigError";
11
+ ErrorType["SDK"] = "SDKError";
12
+ ErrorType["NETWORK"] = "NetworkError";
13
+ ErrorType["AUTH"] = "AuthError";
14
+ ErrorType["UNKNOWN"] = "UnknownError";
15
+ })(ErrorType || (exports.ErrorType = ErrorType = {}));
16
+ class CLIError extends Error {
17
+ type;
18
+ context;
19
+ suggestions;
20
+ constructor(message, type = ErrorType.UNKNOWN, suggestions = [], context = {}) {
21
+ super(message);
22
+ this.name = type;
23
+ this.type = type;
24
+ this.suggestions = suggestions;
25
+ this.context = {
26
+ timestamp: new Date(),
27
+ ...context,
28
+ };
29
+ Error.captureStackTrace(this, this.constructor);
30
+ }
31
+ }
32
+ exports.CLIError = CLIError;
33
+ //# sourceMappingURL=error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error.js","sourceRoot":"","sources":["../../src/types/error.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,IAAY,SAOX;AAPD,WAAY,SAAS;IACnB,2CAA8B,CAAA;IAC9B,mCAAsB,CAAA;IACtB,6BAAgB,CAAA;IAChB,qCAAwB,CAAA;IACxB,+BAAkB,CAAA;IAClB,qCAAwB,CAAA;AAC1B,CAAC,EAPW,SAAS,yBAAT,SAAS,QAOpB;AASD,MAAa,QAAS,SAAQ,KAAK;IACjB,IAAI,CAAY;IAChB,OAAO,CAAe;IACtB,WAAW,CAAW;IAEtC,YACE,OAAe,EACf,OAAkB,SAAS,CAAC,OAAO,EACnC,cAAwB,EAAE,EAC1B,UAAiC,EAAE;QAEnC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG;YACb,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,GAAG,OAAO;SACX,CAAC;QACF,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IAClD,CAAC;CACF;AArBD,4BAqBC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * 类型定义导出
3
+ */
4
+ export * from './command';
5
+ export * from './config';
6
+ export * from './error';
7
+ export type { SDKConfig, SDKHealthStatus, SDKMetadata } from './sdk';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,YAAY,EAAE,SAAS,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC"}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ /**
3
+ * 类型定义导出
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
+ Object.defineProperty(exports, "__esModule", { value: true });
20
+ __exportStar(require("./command"), exports);
21
+ __exportStar(require("./config"), exports);
22
+ __exportStar(require("./error"), exports);
23
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;AAEH,4CAA0B;AAC1B,2CAAyB;AACzB,0CAAwB"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * SDK 相关类型定义
3
+ */
4
+ export interface SDKConfig {
5
+ apiKey?: string;
6
+ endpoint?: string;
7
+ timeout?: number;
8
+ retries?: number;
9
+ [key: string]: any;
10
+ }
11
+ export interface SDKHealthStatus {
12
+ healthy: boolean;
13
+ message?: string;
14
+ timestamp: Date;
15
+ }
16
+ export interface SDKMetadata {
17
+ name: string;
18
+ version: string;
19
+ description?: string;
20
+ }
21
+ //# sourceMappingURL=sdk.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdk.d.ts","sourceRoot":"","sources":["../../src/types/sdk.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,SAAS;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ /**
3
+ * SDK 相关类型定义
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ //# sourceMappingURL=sdk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdk.js","sourceRoot":"","sources":["../../src/types/sdk.ts"],"names":[],"mappings":";AAAA;;GAEG"}
@@ -0,0 +1,59 @@
1
+ /**
2
+ * 配置管理器
3
+ */
4
+ import { Config, ConfigManagerOptions } from '../types';
5
+ export declare class ConfigManager {
6
+ private configPath;
7
+ private config;
8
+ private defaultConfig;
9
+ constructor(options?: ConfigManagerOptions);
10
+ /**
11
+ * 获取默认配置文件路径
12
+ */
13
+ private getDefaultConfigPath;
14
+ /**
15
+ * 创建默认配置
16
+ */
17
+ private createDefaultConfig;
18
+ /**
19
+ * 加载配置
20
+ */
21
+ load(): Config;
22
+ /**
23
+ * 从环境变量加载配置
24
+ */
25
+ private loadFromEnv;
26
+ /**
27
+ * 保存配置
28
+ */
29
+ save(config?: Config): void;
30
+ /**
31
+ * 获取配置项
32
+ */
33
+ get(key: string): any;
34
+ /**
35
+ * 设置配置项
36
+ */
37
+ set(key: string, value: any): void;
38
+ /**
39
+ * 合并配置
40
+ */
41
+ merge(base: Config | Partial<Config>, override: Partial<Config>): Config;
42
+ /**
43
+ * 重置配置为默认值
44
+ */
45
+ reset(): void;
46
+ /**
47
+ * 获取当前配置
48
+ */
49
+ getConfig(): Config;
50
+ /**
51
+ * 获取配置文件路径
52
+ */
53
+ getConfigPath(): string;
54
+ /**
55
+ * 删除配置文件
56
+ */
57
+ deleteConfig(): void;
58
+ }
59
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,MAAM,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAIxD,qBAAa,aAAa;IACxB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,aAAa,CAAS;gBAElB,OAAO,GAAE,oBAAyB;IAW9C;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAK5B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAsB3B;;OAEG;IACH,IAAI,IAAI,MAAM;IA8Bd;;OAEG;IACH,OAAO,CAAC,WAAW;IAiCnB;;OAEG;IACH,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAe3B;;OAEG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG;IAerB;;OAEG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI;IAgBlC;;OAEG;IACH,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM;IAoBxE;;OAEG;IACH,KAAK,IAAI,IAAI;IAKb;;OAEG;IACH,SAAS,IAAI,MAAM;IAInB;;OAEG;IACH,aAAa,IAAI,MAAM;IAIvB;;OAEG;IACH,YAAY,IAAI,IAAI;CAKrB"}