ccjk 12.0.6 → 12.0.7

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 (62) hide show
  1. package/README.md +14 -0
  2. package/README.zh-CN.md +13 -0
  3. package/dist/chunks/api-cli.mjs +1 -1
  4. package/dist/chunks/ccjk-agents.mjs +3 -2
  5. package/dist/chunks/ccjk-all.mjs +129 -1764
  6. package/dist/chunks/ccjk-hooks.mjs +5 -4
  7. package/dist/chunks/ccjk-mcp.mjs +7 -6
  8. package/dist/chunks/ccjk-setup.mjs +3 -2
  9. package/dist/chunks/ccjk-skills.mjs +6 -5
  10. package/dist/chunks/ccr.mjs +6 -5
  11. package/dist/chunks/check-updates.mjs +8 -8
  12. package/dist/chunks/claude-code-config-manager.mjs +1 -1
  13. package/dist/chunks/claude-code-incremental-manager.mjs +2 -2
  14. package/dist/chunks/codex-config-switch.mjs +1 -1
  15. package/dist/chunks/codex-provider-manager.mjs +1 -1
  16. package/dist/chunks/config-switch.mjs +1 -1
  17. package/dist/chunks/config.mjs +1 -1
  18. package/dist/chunks/config2.mjs +1 -1
  19. package/dist/chunks/config3.mjs +1 -1
  20. package/dist/chunks/constants.mjs +33 -2
  21. package/dist/chunks/dashboard.mjs +115 -3
  22. package/dist/chunks/features.mjs +3 -3
  23. package/dist/chunks/init.mjs +108 -4
  24. package/dist/chunks/installer2.mjs +7 -7
  25. package/dist/chunks/manager.mjs +1048 -0
  26. package/dist/chunks/mcp-cli.mjs +1 -1
  27. package/dist/chunks/mcp.mjs +1 -1
  28. package/dist/chunks/menu.mjs +22 -1
  29. package/dist/chunks/notification.mjs +5 -2
  30. package/dist/chunks/package.mjs +1 -1
  31. package/dist/chunks/quick-provider.mjs +1 -269
  32. package/dist/chunks/quick-setup.mjs +10 -10
  33. package/dist/chunks/remote.mjs +4 -1
  34. package/dist/chunks/simple-config.mjs +1 -1
  35. package/dist/chunks/skill.mjs +117 -9003
  36. package/dist/chunks/skill2.mjs +9003 -0
  37. package/dist/chunks/skills-sync.mjs +536 -55
  38. package/dist/chunks/skills.mjs +7 -1156
  39. package/dist/chunks/smart-defaults.mjs +87 -9
  40. package/dist/chunks/status.mjs +1 -1
  41. package/dist/chunks/uninstall.mjs +1 -1
  42. package/dist/chunks/update.mjs +2 -2
  43. package/dist/chunks/zero-config.mjs +6 -2
  44. package/dist/cli.mjs +3 -1
  45. package/dist/i18n/locales/en/cloud.json +40 -0
  46. package/dist/i18n/locales/zh-CN/cloud.json +40 -0
  47. package/dist/index.d.mts +2586 -2
  48. package/dist/index.d.ts +2586 -2
  49. package/dist/index.mjs +1340 -7
  50. package/dist/shared/ccjk.B364Fu0N.mjs +1819 -0
  51. package/dist/shared/ccjk.BtB1e5jm.mjs +171 -0
  52. package/dist/shared/{ccjk.BnpWvs9V.mjs → ccjk.BwfbSKN2.mjs} +1 -1
  53. package/dist/shared/{ccjk.AqnXPAzw.mjs → ccjk.C2jHOZVP.mjs} +1 -1
  54. package/dist/shared/{ccjk.BSYWk9ML.mjs → ccjk.Cjj8SVrn.mjs} +1 -1
  55. package/dist/shared/ccjk.D6ycHbak.mjs +270 -0
  56. package/dist/shared/ccjk.D8ZLYSZZ.mjs +299 -0
  57. package/dist/shared/{ccjk.s7OCVzdd.mjs → ccjk.DS7UESmF.mjs} +2 -1483
  58. package/dist/shared/{ccjk.BiCrMV5O.mjs → ccjk.DXRAZcix.mjs} +0 -28
  59. package/dist/shared/ccjk.UIvifqNE.mjs +1486 -0
  60. package/dist/shared/{ccjk.BDKUdmLk.mjs → ccjk.c-ETfBZ_.mjs} +208 -86
  61. package/package.json +5 -1
  62. package/templates/claude-code/common/settings.json +3 -1
@@ -0,0 +1,299 @@
1
+ import { i18n } from '../chunks/index5.mjs';
2
+
3
+ var CloudErrorCode = /* @__PURE__ */ ((CloudErrorCode2) => {
4
+ CloudErrorCode2["AUTH_ERROR"] = "AUTH_ERROR";
5
+ CloudErrorCode2["RATE_LIMIT"] = "RATE_LIMIT";
6
+ CloudErrorCode2["SCHEMA_MISMATCH"] = "SCHEMA_MISMATCH";
7
+ CloudErrorCode2["NETWORK_ERROR"] = "NETWORK_ERROR";
8
+ CloudErrorCode2["TIMEOUT"] = "TIMEOUT";
9
+ CloudErrorCode2["SERVER_ERROR"] = "SERVER_ERROR";
10
+ CloudErrorCode2["NOT_FOUND"] = "NOT_FOUND";
11
+ CloudErrorCode2["API_ERROR"] = "API_ERROR";
12
+ CloudErrorCode2["VALIDATION_ERROR"] = "VALIDATION_ERROR";
13
+ CloudErrorCode2["UNKNOWN_ERROR"] = "UNKNOWN_ERROR";
14
+ return CloudErrorCode2;
15
+ })(CloudErrorCode || {});
16
+ class CloudError extends Error {
17
+ /** Error code */
18
+ code;
19
+ /** HTTP status code if applicable */
20
+ statusCode;
21
+ /** Original error */
22
+ originalError;
23
+ /** Additional context */
24
+ context;
25
+ /** Retry attempt number */
26
+ retryAttempt;
27
+ /** Request ID */
28
+ requestId;
29
+ /** Whether this error is retryable */
30
+ isRetryable;
31
+ constructor(code, message, metadata) {
32
+ super(message);
33
+ this.name = "CloudError";
34
+ this.code = code;
35
+ this.statusCode = metadata?.statusCode;
36
+ this.originalError = metadata?.originalError;
37
+ this.context = metadata?.context;
38
+ this.retryAttempt = metadata?.retryAttempt;
39
+ this.requestId = metadata?.requestId;
40
+ this.isRetryable = isRetryableErrorCode(code);
41
+ if (Error.captureStackTrace) {
42
+ Error.captureStackTrace(this, CloudError);
43
+ }
44
+ }
45
+ /**
46
+ * Get localized error message
47
+ */
48
+ getLocalizedMessage(language) {
49
+ const lang = language || i18n.language;
50
+ return i18n.t(`cloud:errors.${this.code}`, { lng: lang }) || this.message;
51
+ }
52
+ /**
53
+ * Get user-friendly error message with context
54
+ */
55
+ getUserMessage(language) {
56
+ const localizedMsg = this.getLocalizedMessage(language);
57
+ if (this.statusCode) {
58
+ return `${localizedMsg} (HTTP ${this.statusCode})`;
59
+ }
60
+ return localizedMsg;
61
+ }
62
+ /**
63
+ * Convert to JSON for logging
64
+ */
65
+ toJSON() {
66
+ return {
67
+ name: this.name,
68
+ code: this.code,
69
+ message: this.message,
70
+ statusCode: this.statusCode,
71
+ isRetryable: this.isRetryable,
72
+ retryAttempt: this.retryAttempt,
73
+ requestId: this.requestId,
74
+ context: this.context,
75
+ stack: this.stack
76
+ };
77
+ }
78
+ }
79
+ const CloudErrorFactory = {
80
+ /**
81
+ * Create error from HTTP response
82
+ */
83
+ fromHttpStatus(statusCode, message, metadata) {
84
+ let code;
85
+ if (statusCode === 401 || statusCode === 403) {
86
+ code = "AUTH_ERROR" /* AUTH_ERROR */;
87
+ } else if (statusCode === 404) {
88
+ code = "NOT_FOUND" /* NOT_FOUND */;
89
+ } else if (statusCode === 429) {
90
+ code = "RATE_LIMIT" /* RATE_LIMIT */;
91
+ } else if (statusCode >= 500) {
92
+ code = "SERVER_ERROR" /* SERVER_ERROR */;
93
+ } else if (statusCode >= 400) {
94
+ code = "API_ERROR" /* API_ERROR */;
95
+ } else {
96
+ code = "UNKNOWN_ERROR" /* UNKNOWN_ERROR */;
97
+ }
98
+ return new CloudError(code, message, { ...metadata, statusCode });
99
+ },
100
+ /**
101
+ * Create authentication error
102
+ */
103
+ auth(message, metadata) {
104
+ return new CloudError(
105
+ "AUTH_ERROR" /* AUTH_ERROR */,
106
+ message || "Authentication failed",
107
+ { ...metadata, statusCode: metadata?.statusCode || 401 }
108
+ );
109
+ },
110
+ /**
111
+ * Create rate limit error
112
+ */
113
+ rateLimit(message, metadata) {
114
+ return new CloudError(
115
+ "RATE_LIMIT" /* RATE_LIMIT */,
116
+ message || "Rate limit exceeded",
117
+ { ...metadata, statusCode: metadata?.statusCode || 429 }
118
+ );
119
+ },
120
+ /**
121
+ * Create schema mismatch error
122
+ */
123
+ schemaMismatch(message, metadata) {
124
+ return new CloudError(
125
+ "SCHEMA_MISMATCH" /* SCHEMA_MISMATCH */,
126
+ message || "Response schema validation failed",
127
+ metadata
128
+ );
129
+ },
130
+ /**
131
+ * Create network error
132
+ */
133
+ network(error, metadata) {
134
+ const message = error instanceof Error ? error.message : "Network connection failed";
135
+ return new CloudError(
136
+ "NETWORK_ERROR" /* NETWORK_ERROR */,
137
+ message,
138
+ { ...metadata, originalError: error }
139
+ );
140
+ },
141
+ /**
142
+ * Create timeout error
143
+ */
144
+ timeout(timeoutMs, metadata) {
145
+ return new CloudError(
146
+ "TIMEOUT" /* TIMEOUT */,
147
+ `Request timeout after ${timeoutMs}ms`,
148
+ metadata
149
+ );
150
+ },
151
+ /**
152
+ * Create server error
153
+ */
154
+ server(message, metadata) {
155
+ return new CloudError(
156
+ "SERVER_ERROR" /* SERVER_ERROR */,
157
+ message || "Server error occurred",
158
+ { ...metadata, statusCode: metadata?.statusCode || 500 }
159
+ );
160
+ },
161
+ /**
162
+ * Create not found error
163
+ */
164
+ notFound(resource, metadata) {
165
+ const message = resource ? `Resource not found: ${resource}` : "Resource not found";
166
+ return new CloudError(
167
+ "NOT_FOUND" /* NOT_FOUND */,
168
+ message,
169
+ { ...metadata, statusCode: metadata?.statusCode || 404 }
170
+ );
171
+ },
172
+ /**
173
+ * Create validation error
174
+ */
175
+ validation(message, metadata) {
176
+ return new CloudError(
177
+ "VALIDATION_ERROR" /* VALIDATION_ERROR */,
178
+ message,
179
+ { ...metadata, statusCode: metadata?.statusCode || 400 }
180
+ );
181
+ },
182
+ /**
183
+ * Create unknown error
184
+ */
185
+ unknown(error, metadata) {
186
+ const message = error instanceof Error ? error.message : "An unknown error occurred";
187
+ return new CloudError(
188
+ "UNKNOWN_ERROR" /* UNKNOWN_ERROR */,
189
+ message,
190
+ { ...metadata, originalError: error }
191
+ );
192
+ }
193
+ };
194
+ function isRetryableErrorCode(code) {
195
+ return [
196
+ "NETWORK_ERROR" /* NETWORK_ERROR */,
197
+ "TIMEOUT" /* TIMEOUT */,
198
+ "SERVER_ERROR" /* SERVER_ERROR */,
199
+ "RATE_LIMIT" /* RATE_LIMIT */
200
+ ].includes(code);
201
+ }
202
+ function isRetryableError(error) {
203
+ if (error instanceof CloudError) {
204
+ return error.isRetryable;
205
+ }
206
+ if (error instanceof Error) {
207
+ const message = error.message.toLowerCase();
208
+ return message.includes("network") || message.includes("connection") || message.includes("timeout") || message.includes("econnrefused") || message.includes("enotfound") || message.includes("etimedout");
209
+ }
210
+ return false;
211
+ }
212
+ function isAuthError(error) {
213
+ if (error instanceof CloudError) {
214
+ return error.code === "AUTH_ERROR" /* AUTH_ERROR */;
215
+ }
216
+ return false;
217
+ }
218
+ function isRateLimitError(error) {
219
+ if (error instanceof CloudError) {
220
+ return error.code === "RATE_LIMIT" /* RATE_LIMIT */;
221
+ }
222
+ return false;
223
+ }
224
+ function handleCloudError(error, context, language) {
225
+ if (error instanceof CloudError) {
226
+ return error;
227
+ }
228
+ let cloudError;
229
+ if (error instanceof Error) {
230
+ const message = error.message.toLowerCase();
231
+ if (message.includes("timeout") || message.includes("timed out")) {
232
+ cloudError = CloudErrorFactory.timeout(1e4, { originalError: error });
233
+ } else if (message.includes("econnrefused") || message.includes("enotfound") || message.includes("network")) {
234
+ cloudError = CloudErrorFactory.network(error);
235
+ } else if (message.includes("401") || message.includes("unauthorized")) {
236
+ cloudError = CloudErrorFactory.auth(error.message, { originalError: error });
237
+ } else if (message.includes("429") || message.includes("rate limit")) {
238
+ cloudError = CloudErrorFactory.rateLimit(error.message, { originalError: error });
239
+ } else if (message.includes("404") || message.includes("not found")) {
240
+ cloudError = CloudErrorFactory.notFound(void 0, { originalError: error });
241
+ } else {
242
+ cloudError = CloudErrorFactory.unknown(error);
243
+ }
244
+ } else {
245
+ cloudError = CloudErrorFactory.unknown(error);
246
+ }
247
+ if (context && !cloudError.context) {
248
+ return new CloudError(
249
+ cloudError.code,
250
+ cloudError.message,
251
+ {
252
+ statusCode: cloudError.statusCode,
253
+ originalError: cloudError.originalError,
254
+ context: { operation: context },
255
+ retryAttempt: cloudError.retryAttempt,
256
+ requestId: cloudError.requestId
257
+ }
258
+ );
259
+ } else if (context && cloudError.context) {
260
+ return new CloudError(
261
+ cloudError.code,
262
+ cloudError.message,
263
+ {
264
+ statusCode: cloudError.statusCode,
265
+ originalError: cloudError.originalError,
266
+ context: { ...cloudError.context, operation: context },
267
+ retryAttempt: cloudError.retryAttempt,
268
+ requestId: cloudError.requestId
269
+ }
270
+ );
271
+ }
272
+ return cloudError;
273
+ }
274
+ function getRetryDelay(error, attempt, config) {
275
+ const initialDelay = config?.initialDelay || 100;
276
+ const multiplier = config?.multiplier || 2;
277
+ const maxDelay = config?.maxDelay || 1e4;
278
+ if (error.code === "RATE_LIMIT" /* RATE_LIMIT */) {
279
+ return Math.min(initialDelay * 10 * multiplier ** attempt, maxDelay);
280
+ }
281
+ return Math.min(initialDelay * multiplier ** attempt, maxDelay);
282
+ }
283
+ function formatErrorForLogging(error) {
284
+ if (error instanceof CloudError) {
285
+ return error.toJSON();
286
+ }
287
+ if (error instanceof Error) {
288
+ return {
289
+ name: error.name,
290
+ message: error.message,
291
+ stack: error.stack
292
+ };
293
+ }
294
+ return {
295
+ error: String(error)
296
+ };
297
+ }
298
+
299
+ export { CloudError as C, CloudErrorCode as a, CloudErrorFactory as b, isRateLimitError as c, isRetryableError as d, isRetryableErrorCode as e, formatErrorForLogging as f, getRetryDelay as g, handleCloudError as h, isAuthError as i };