ccem 2.36.0 → 2.37.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 (2) hide show
  1. package/dist/index.js +46 -2
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -2899,6 +2899,42 @@ var getUniqueName = (baseName, existingNames) => {
2899
2899
  }
2900
2900
  return newName;
2901
2901
  };
2902
+ var readAllStdin = () => new Promise((resolve4, reject) => {
2903
+ let data = "";
2904
+ process.stdin.setEncoding("utf8");
2905
+ process.stdin.on("data", (chunk) => {
2906
+ data += chunk;
2907
+ });
2908
+ process.stdin.on("end", () => resolve4(data));
2909
+ process.stdin.on("error", reject);
2910
+ });
2911
+ var resolveLoadCredentials = (options, stdinInput) => {
2912
+ if (options.credentialsStdin) {
2913
+ if (options.secret !== void 0 || options.key !== void 0) {
2914
+ throw new Error("--credentials-stdin \u4E0E --secret/--key \u4E92\u65A5\uFF0C\u8BF7\u4E8C\u9009\u4E00");
2915
+ }
2916
+ let parsed;
2917
+ try {
2918
+ parsed = JSON.parse(stdinInput);
2919
+ } catch {
2920
+ throw new Error("--credentials-stdin \u8F93\u5165\u4E0D\u662F\u5408\u6CD5 JSON");
2921
+ }
2922
+ if (parsed.secret === void 0 || typeof parsed.secret !== "string" || parsed.secret.length === 0) {
2923
+ throw new Error("--credentials-stdin JSON \u7F3A\u5C11\u5FC5\u586B\u5B57\u6BB5 secret");
2924
+ }
2925
+ return {
2926
+ secret: parsed.secret,
2927
+ key: typeof parsed.key === "string" ? parsed.key : ""
2928
+ };
2929
+ }
2930
+ if (options.secret === void 0 || options.secret.length === 0) {
2931
+ throw new Error("\u5FC5\u987B\u63D0\u4F9B --secret \u6216 --credentials-stdin");
2932
+ }
2933
+ return {
2934
+ secret: options.secret,
2935
+ key: options.key ?? ""
2936
+ };
2937
+ };
2902
2938
  var loadFromRemote = async (url, key, secret) => {
2903
2939
  console.log(chalk6.gray("Fetching from remote..."));
2904
2940
  const headerKey = key || secret;
@@ -4501,8 +4537,16 @@ skillCmd.command("ls").description("\u5217\u51FA\u5DF2\u5B89\u88C5\u7684 skills"
4501
4537
  skillCmd.command("rm <name>").description("\u5220\u9664\u5DF2\u5B89\u88C5\u7684 skill").action((name) => {
4502
4538
  removeSkill(name);
4503
4539
  });
4504
- program.command("load <url>").description("\u4ECE\u8FDC\u7A0B\u670D\u52A1\u5668\u52A0\u8F7D\u73AF\u5883\u914D\u7F6E").requiredOption("--secret <secret>", "\u89E3\u5BC6\u5BC6\u94A5\uFF08encryption secret\uFF09").option("--key <key>", "\u8BBF\u95EE\u5BC6\u94A5\uFF08access key\uFF0C\u7528\u4E8E\u8BA4\u8BC1\uFF1B\u4E0D\u586B\u5219\u56DE\u9000\u7528 --secret \u8BA4\u8BC1\uFF09").option("--json", "\u4EE5 JSON \u683C\u5F0F\u8F93\u51FA\u7ED3\u679C\uFF08\u4F9B\u7A0B\u5E8F\u8C03\u7528\uFF09").action(async (url, options) => {
4505
- const results = await loadFromRemote(url, options.key ?? "", options.secret);
4540
+ program.command("load <url>").description("\u4ECE\u8FDC\u7A0B\u670D\u52A1\u5668\u52A0\u8F7D\u73AF\u5883\u914D\u7F6E").option("--secret <secret>", "\u89E3\u5BC6\u5BC6\u94A5\uFF08encryption secret\uFF09").option("--key <key>", "\u8BBF\u95EE\u5BC6\u94A5\uFF08access key\uFF0C\u7528\u4E8E\u8BA4\u8BC1\uFF1B\u4E0D\u586B\u5219\u56DE\u9000\u7528 --secret \u8BA4\u8BC1\uFF09").option("--credentials-stdin", '\u4ECE stdin \u8BFB\u53D6 JSON \u51ED\u636E {"secret":"...","key":"..."}\uFF0C\u4E0E --secret/--key \u4E92\u65A5').option("--json", "\u4EE5 JSON \u683C\u5F0F\u8F93\u51FA\u7ED3\u679C\uFF08\u4F9B\u7A0B\u5E8F\u8C03\u7528\uFF09").action(async (url, options) => {
4541
+ let credentials;
4542
+ try {
4543
+ const stdinInput = options.credentialsStdin ? await readAllStdin() : "";
4544
+ credentials = resolveLoadCredentials(options, stdinInput);
4545
+ } catch (err) {
4546
+ console.error(chalk7.red(`Error: ${err.message}`));
4547
+ process.exit(1);
4548
+ }
4549
+ const results = await loadFromRemote(url, credentials.key, credentials.secret);
4506
4550
  if (options.json) {
4507
4551
  console.log(JSON.stringify({
4508
4552
  count: results.length,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ccem",
3
- "version": "2.36.0",
3
+ "version": "2.37.0",
4
4
  "type": "module",
5
5
  "description": "Claude Code Environment Manager",
6
6
  "repository": {