@my-life-buddies/cli 0.23.0-dev.2 → 0.23.0-rc.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.
package/dist/bin/buddy.js CHANGED
@@ -95,8 +95,8 @@ import {
95
95
  connectPreviewBridge
96
96
  } from "./preview.js";
97
97
  var PREVIEW_COMMAND_HELP = `\u7528\u6CD5:
98
- buddy-cli-sit preview [--directory <\u9879\u76EE\u76EE\u5F55>] [--buddy-id <\u642D\u5B50 ID>] [--developer-web <\u540E\u53F0 URL>] [--app-server <App Server URL>] [--no-open]
99
- buddy-cli-sit preview --local [--directory <\u9879\u76EE\u76EE\u5F55>] [--port <\u672C\u5730\u7AEF\u53E3>]
98
+ buddy-cli-prod preview [--directory <\u9879\u76EE\u76EE\u5F55>] [--buddy-id <\u642D\u5B50 ID>] [--developer-web <\u540E\u53F0 URL>] [--app-server <App Server URL>] [--no-open]
99
+ buddy-cli-prod preview --local [--directory <\u9879\u76EE\u76EE\u5F55>] [--port <\u672C\u5730\u7AEF\u53E3>]
100
100
 
101
101
  \u8BF4\u660E:
102
102
  \u9ED8\u8BA4\u6253\u5F00\u5F53\u524D\u642D\u5B50\u7684\u521B\u9020\u8005\u540E\u53F0\u300C\u5F00\u53D1\u8C03\u8BD5\u300D\uFF0C\u8FDE\u63A5\u672C\u5730\u5DE5\u7A0B\uFF1B\u5728\u540E\u53F0\u542F\u52A8/\u505C\u6B62 DEV\u3001\u8BD5\u804A\u3001\u67E5\u770B Widget\u3001\u65F6\u95F4\u7EBF\u4E0E\u534F\u8BAE\u65E5\u5FD7\u3001\u771F\u673A\u9884\u89C8\u3002
@@ -106,15 +106,15 @@ var PREVIEW_COMMAND_HELP = `\u7528\u6CD5:
106
106
  --local \u662F\u540E\u53F0\u4E0D\u53EF\u7528\u65F6\u7684\u72EC\u7ACB\u672C\u5730\u9884\u89C8\u5907\u7528\u5165\u53E3\uFF0C--port \u4EC5\u4E0E --local \u4E00\u8D77\u4F7F\u7528\u3002
107
107
  \u4FDD\u6301\u7EC8\u7AEF\u8FD0\u884C\uFF1BCtrl+C \u6216\u5173\u95ED\u7EC8\u7AEF\u4F1A\u505C\u6B62 DEV \u5E76\u65AD\u5F00\u8FDE\u63A5\uFF0C\u5237\u65B0\u540E\u53F0\u4E0D\u4F1A\u81EA\u52A8\u542F\u52A8 DEV\u3002
108
108
  DEV \u5931\u8D25\u5148\u67E5\u770B\u5177\u4F53\u9519\u8BEF\u548C\u8FD0\u884C\u65E5\u5FD7\uFF1B\u5347\u7EA7 CLI \u540E\u9000\u51FA\u65E7 preview \u8FDB\u7A0B\u5E76\u91CD\u65B0\u8FDE\u63A5\uFF0C\u518D\u542F\u52A8 DEV\u3002
109
- \u540E\u53F0\u53EF\u5F3A\u5236\u65AD\u8FDE\uFF1B\u672C\u673A\u505C\u6B62\u672A\u786E\u8BA4\u65F6\uFF0C\u5728\u539F\u5DE5\u7A0B\u76EE\u5F55\u6267\u884C buddy-cli-sit dev stop\u3002\u8BE5\u547D\u4EE4\u4E0D\u91CD\u8FDE\u3001\u4E0D\u91CD\u542F\u3002
110
- \u672A\u914D\u7F6E\u5730\u5740\u65F6\u8FDE\u63A5 MLB \u6D4B\u8BD5\u73AF\u5883 ${DEFAULT_MLB_TEST_URL}\uFF08HTTPS\uFF09\u3002
111
- SIT \u5305\u56FA\u5B9A\u8FDE\u63A5 SIT\uFF1B\u5730\u5740\u53C2\u6570\u53EA\u6821\u9A8C\u56FA\u5B9A\u76EE\u6807\uFF0C\u4E0D\u80FD\u5207\u6362\u5E73\u53F0\u3002Runtime \u7F51\u5173\u7531 CLI \u6CE8\u5165\u3002
112
- CLI \u7EDF\u4E00\u542F\u52A8\u5E76\u7BA1\u7406\u5DE5\u7A0B\u4E2D\u7684\u5B98\u65B9 Runtime\uFF1B\u6BCF\u6B21\u542F\u52A8\u6216\u91CD\u8F7D\u68C0\u67E5\u5DE5\u7A0B\u9009\u5B9A Runtime \u7684\u51C6\u786E\u7248\u672C\u3001\u5B89\u88C5\u548C\u9501\u6587\u4EF6\u3002
109
+ \u540E\u53F0\u53EF\u5F3A\u5236\u65AD\u8FDE\uFF1B\u672C\u673A\u505C\u6B62\u672A\u786E\u8BA4\u65F6\uFF0C\u5728\u539F\u5DE5\u7A0B\u76EE\u5F55\u6267\u884C buddy-cli-prod dev stop\u3002\u8BE5\u547D\u4EE4\u4E0D\u91CD\u8FDE\u3001\u4E0D\u91CD\u542F\u3002
110
+ \u56FA\u5B9A\u8FDE\u63A5 MLB PROD ${DEFAULT_MLB_TEST_URL}\uFF08HTTPS\uFF09\u3002
111
+ PROD \u5305\u56FA\u5B9A\u8FDE\u63A5 PROD\uFF1B\u5730\u5740\u53C2\u6570\u53EA\u6821\u9A8C\u56FA\u5B9A\u76EE\u6807\uFF0C\u4E0D\u80FD\u5207\u6362\u5E73\u53F0\u3002Runtime \u7F51\u5173\u7531 CLI \u6CE8\u5165\u3002
112
+ CLI \u7EDF\u4E00\u542F\u52A8\u5E76\u7BA1\u7406\u5DE5\u7A0B\u4E2D\u7684\u5B98\u65B9 Runtime\uFF1B\u6BCF\u6B21\u542F\u52A8\u6216\u91CD\u8F7D\u68C0\u67E5\u5DE5\u7A0B Runtime \u4E0E npm latest \u6700\u65B0\u6B63\u5F0F\u7248\u3001\u5B9E\u9645\u5B89\u88C5\u548C\u9501\u6587\u4EF6\u4E00\u81F4\u3002
113
113
  \u8EAB\u4EFD\u8BFB\u53D6 package.json.buddyId\uFF1B.env \u4FDD\u5B58 Token\uFF0C\u542F\u52A8\u524D\u5411 Server \u6821\u9A8C\u6240\u5C5E\u642D\u5B50\u3002
114
114
  \u8FDE\u63A5\u524D\u81EA\u68C0 .env \u7F51\u5173\uFF1B\u53D1\u73B0\u5176\u4ED6\u73AF\u5883\u5730\u5740\u65F6\u505C\u6B62\uFF1B\u8BF7\u4F7F\u7528\u5BF9\u5E94 CLI\uFF0C\u8FC1\u79FB\u65F6\u65B0\u5EFA\u8EAB\u4EFD\u4E14\u4E0D\u590D\u5236\u51ED\u636E\u3002
115
115
  --refresh-token \u91CD\u65B0\u9886\u53D6\u5DF2\u6709\u5F00\u53D1 Token\uFF0C\u66F4\u65B0\u540C\u4E00\u73AF\u5883\u7684\u5DE5\u7A0B .env\uFF1B\u4E0D\u80FD\u5207\u6362\u5E73\u53F0\uFF0C\u4E0D\u4F1A\u751F\u6210\u65B0\u5BC6\u94A5\u3002
116
116
  Widget \u6D88\u606F\u5361\u7247\u4FDD\u7559\u6307\u5B9A\u8BB0\u5F55\u7684\u6253\u5F00\u76EE\u6807\uFF0C\u5C0F\u6302\u4EF6\u5217\u8868\u6253\u5F00\u9ED8\u8BA4\u89C6\u56FE\u3002
117
- SIT \u540E\u53F0\u652F\u6301\u6309 Schema \u7F16\u8F91 Widget \u8BB0\u5F55\u4E0E\u4E0A\u4F20\u56FE\u7247\uFF1B\u901A\u8FC7 window.dadaWidget \u8C03\u7528\uFF0C\u5173\u95ED\u540E\u805A\u5408\u53D8\u66F4\u901A\u77E5\u3002\u771F\u673A\u7F16\u8F91\u4ECD\u9700\u5BA2\u6237\u7AEF\u652F\u6301\u3002
117
+ PROD \u540E\u53F0\u652F\u6301\u6309 Schema \u7F16\u8F91 Widget \u8BB0\u5F55\u4E0E\u4E0A\u4F20\u56FE\u7247\uFF1B\u901A\u8FC7 window.dadaWidget \u8C03\u7528\uFF0C\u5173\u95ED\u540E\u805A\u5408\u53D8\u66F4\u901A\u77E5\u3002\u771F\u673A\u7F16\u8F91\u4ECD\u9700\u5BA2\u6237\u7AEF\u652F\u6301\u3002
118
118
  \u6A21\u62DF\u5668\u4F7F\u7528\u5F53\u524D\u5F00\u53D1\u8005\u8D26\u53F7\u8BBF\u95EE <buddyId>-dev \u8C03\u8BD5\u5206\u8EAB\u3002`;
119
119
  function valueAfter(args, index, flag) {
120
120
  const value = args[index + 1];
@@ -454,7 +454,7 @@ var BuddyPlatformHost = class {
454
454
  // apps/cli/src/platform-support.ts
455
455
  var UnsupportedDeveloperPlatformError = class extends Error {
456
456
  constructor(platform) {
457
- super(`buddy-cli-sit V1 \u76EE\u524D\u53EA\u652F\u6301 macOS\uFF0C\u5F53\u524D\u7CFB\u7EDF\u662F ${platform}`);
457
+ super(`buddy-cli-prod V1 \u76EE\u524D\u53EA\u652F\u6301 macOS\uFF0C\u5F53\u524D\u7CFB\u7EDF\u662F ${platform}`);
458
458
  this.platform = platform;
459
459
  this.name = "UnsupportedDeveloperPlatformError";
460
460
  }
@@ -477,7 +477,7 @@ import { dirname, join } from "node:path";
477
477
  import { homedir } from "node:os";
478
478
  import { createHash as createHash2 } from "node:crypto";
479
479
  import { setTimeout as delay } from "node:timers/promises";
480
- var defaultUpdateCache = () => join(homedir(), ".cache", "buddy-cli-sit", "updates");
480
+ var defaultUpdateCache = () => join(homedir(), ".cache", "buddy-cli-prod", "updates");
481
481
  var globalUpdateLock = (cache, prefix) => join(cache, "locks", createHash2("sha256").update(prefix).digest("hex"));
482
482
  async function withUpdateLock(path, signal, action) {
483
483
  await mkdir(dirname(path), { recursive: true, mode: 448 });
@@ -566,15 +566,15 @@ async function globalInstallation(packageRoot, packageName) {
566
566
  // apps/cli/src/self-update.ts
567
567
  var PACKAGE = "@my-life-buddies/cli";
568
568
  var REGISTRY = "https://registry.npmjs.org/";
569
- var MANUAL_UPDATE = `npm install --global --prefix "$HOME/.local/share/buddy-cli/sit" ${PACKAGE}@dev --registry=${REGISTRY} --prefer-online`;
569
+ var MANUAL_UPDATE = `npm install --global --prefix "$HOME/.local/share/buddy-cli/prod" ${PACKAGE}@prod --registry=${REGISTRY} --prefer-online`;
570
570
  var execute = promisify(execFile);
571
571
  var HELP = `\u7528\u6CD5:
572
- buddy-cli-sit --version [--json]
573
- buddy-cli-sit update --check [--json]
574
- buddy-cli-sit update [--json]
572
+ buddy-cli-prod --version [--json]
573
+ buddy-cli-prod update --check [--json]
574
+ buddy-cli-prod update [--json]
575
575
 
576
576
  --version \u67E5\u770B\u5F53\u524D\u8FD0\u884C\u7684 CLI \u7248\u672C\uFF08\u65E0\u9700\u8054\u7F51\uFF09
577
- --check \u68C0\u67E5\u516C\u5171 npm \u7684 dev \u7248\u672C\uFF0C\u4E0D\u5B89\u88C5
577
+ --check \u68C0\u67E5\u516C\u5171 npm \u7684 prod \u7248\u672C\uFF0C\u4E0D\u5B89\u88C5
578
578
  --json \u8F93\u51FA JSON\uFF0C\u4F9B Coding Agent \u6216\u811A\u672C\u8BFB\u53D6
579
579
 
580
580
  \u65E0\u9700\u767B\u5F55\u642D\u642D\u8D26\u53F7\uFF0C\u4E5F\u65E0\u9700\u8FDB\u5165\u642D\u5B50\u5DE5\u7A0B\u3002
@@ -582,7 +582,7 @@ var HELP = `\u7528\u6CD5:
582
582
  \u5B89\u88C5\u4E3B\u52A8\u5237\u65B0 npm \u7248\u672C\u7F13\u5B58\uFF0C\u627E\u4E0D\u5230\u7248\u672C\uFF08ETARGET\uFF09\u65F6\u6700\u591A\u91CD\u8BD5\u4E00\u6B21\uFF1B\u5931\u8D25\u8BF4\u660E\u5177\u4F53\u539F\u56E0\u3002
583
583
  --help\u3001\u5404\u547D\u4EE4 --help \u4E0E --version \u79BB\u7EBF\u53EF\u7528\uFF1B\u67E5\u8BE2\u6216\u66F4\u65B0\u5931\u8D25\u65F6\u505C\u6B62\u4E1A\u52A1\u64CD\u4F5C\u3002
584
584
  update \u66F4\u65B0\u5F53\u524D CLI \u6240\u5728\u7684 npm \u5B89\u88C5\u76EE\u5F55\uFF08\u542B --global --prefix \u81EA\u5B9A\u4E49\u76EE\u5F55\uFF09\uFF0C\u4E0D\u4FEE\u6539\u5176\u4ED6\u5B89\u88C5\u6216\u5DE5\u7A0B Runtime \u4F9D\u8D56\u3002
585
- \u540C\u4E00\u5305 latest/dev \u9700\u5206\u76EE\u5F55\u5B89\u88C5\u624D\u80FD\u5171\u5B58\uFF1BSIT \u547D\u4EE4\u4E3A buddy-cli-sit\uFF0C\u6B63\u5F0F\u547D\u4EE4\u4E3A buddy-cli\u3002
585
+ \u540C\u4E00\u5305 latest/dev/prod \u9700\u5206\u76EE\u5F55\u5B89\u88C5\u624D\u80FD\u5171\u5B58\uFF1BPROD \u547D\u4EE4\u4E3A buddy-cli-prod\uFF0C\u6B63\u5F0F\u547D\u4EE4\u4E3A buddy-cli\u3002
586
586
  \u5DF2\u7ECF\u662F\u6700\u65B0\u7248\u6216\u5F53\u524D\u7248\u672C\u66F4\u9AD8\u65F6\u4E0D\u5B89\u88C5\u3001\u4E0D\u964D\u7EA7\u3002
587
587
  \u6E90\u7801\u3001npm link\u3001\u5C40\u90E8\u5B89\u88C5\u6216 npx \u7684\u6B63\u5E38\u547D\u4EE4\u4F7F\u7528\u7F13\u5B58\u7684\u65B0\u7248\u6267\u884C\uFF0C\u4E0D\u8986\u76D6\u6E90\u7801\u6216\u5DE5\u7A0B\u4F9D\u8D56\u3002
588
588
  \u4E0A\u8FF0\u5B89\u88C5\u65B9\u5F0F\u4E0D\u80FD\u7528 update \u5355\u72EC\u4FEE\u6539\u539F\u5B89\u88C5\uFF0C\u8BF7\u6CBF\u7528\u539F\u6765\u7684\u5B89\u88C5\u65B9\u5F0F\u66F4\u65B0\u3002
@@ -620,7 +620,7 @@ async function latestVersion(options) {
620
620
  const timeout = AbortSignal.timeout(1e4);
621
621
  const signal = options.signal ? AbortSignal.any([options.signal, timeout]) : timeout;
622
622
  try {
623
- const response = await (options.fetch ?? globalThis.fetch)(`${REGISTRY}${encodeURIComponent(PACKAGE)}/dev`, {
623
+ const response = await (options.fetch ?? globalThis.fetch)(`${REGISTRY}${encodeURIComponent(PACKAGE)}/prod`, {
624
624
  signal,
625
625
  headers: { Accept: "application/json" },
626
626
  redirect: "error"
@@ -629,7 +629,7 @@ async function latestVersion(options) {
629
629
  const metadata = await response.json();
630
630
  if (metadata?.name !== PACKAGE) throw new Error("npm \u8FD4\u56DE\u7684\u5305\u540D\u4E0D\u5339\u914D");
631
631
  parseVersion(metadata.version);
632
- if (typeof metadata.version !== "string" || !/^\d+\.\d+\.\d+-dev\.\d+$/.test(metadata.version)) throw new Error("npm dev \u672A\u6307\u5411 x.y.z-dev.N \u7248\u672C\uFF1BSIT CLI \u4E0D\u4F1A\u8DE8\u6E20\u9053\u66F4\u65B0\uFF0C\u8BF7\u8054\u7CFB\u53D1\u5E03\u8005\u4FEE\u6B63 dev \u6807\u7B7E");
632
+ if (typeof metadata.version !== "string" || !/^\d+\.\d+\.\d+-rc\.\d+$/.test(metadata.version)) throw new Error("npm prod \u672A\u6307\u5411 x.y.z-rc.N \u7248\u672C\uFF1BPROD CLI \u4E0D\u4F1A\u8DE8\u6E20\u9053\u66F4\u65B0\uFF0C\u8BF7\u8054\u7CFB\u53D1\u5E03\u8005\u4FEE\u6B63 prod \u6807\u7B7E");
633
633
  return metadata.version;
634
634
  } catch (cause) {
635
635
  if (options.signal?.aborted) throw new Error("\u64CD\u4F5C\u5DF2\u53D6\u6D88\u3002");
@@ -638,19 +638,19 @@ async function latestVersion(options) {
638
638
  }
639
639
  }
640
640
  async function installUpdate(version, options) {
641
- if (!/^\d+\.\d+\.\d+-dev\.\d+$/.test(version)) throw new Error("SIT CLI \u53EA\u80FD\u66F4\u65B0 x.y.z-dev.N \u7248\u672C\uFF0C\u4E0D\u4F1A\u8DE8\u6E20\u9053\u5B89\u88C5\u3002");
641
+ if (!/^\d+\.\d+\.\d+-rc\.\d+$/.test(version)) throw new Error("PROD CLI \u53EA\u80FD\u66F4\u65B0 x.y.z-rc.N \u7248\u672C\uFF0C\u4E0D\u4F1A\u8DE8\u6E20\u9053\u5B89\u88C5\u3002");
642
642
  const runNpm = options.runNpm ?? ((args, settings2) => execute("npm", args, { ...settings2, encoding: "utf8", maxBuffer: 4 * 1024 * 1024 }));
643
643
  const settings = { cwd: homedir2(), signal: options.signal, timeout: 1e4 };
644
644
  const installation = await globalInstallation(options.packageRoot, PACKAGE);
645
645
  if (!installation) {
646
- throw new Error("\u5F53\u524D CLI \u662F\u6E90\u7801\u3001\u94FE\u63A5\u6216\u9879\u76EE\u5185\u5B89\u88C5\uFF0C\u4E0D\u80FD\u76F4\u63A5\u6539\u5199\u539F\u5B89\u88C5\u3002\u6B63\u5E38\u547D\u4EE4\u4F1A\u4ECE SIT \u72EC\u7ACB\u7F13\u5B58\u8FD0\u884C\u65B0\u7248\uFF1B\u5355\u72EC\u66F4\u65B0\u8BF7\u6CBF\u7528\u539F\u6765\u7684\u5B89\u88C5\u65B9\u5F0F\u3002");
646
+ throw new Error("\u5F53\u524D CLI \u662F\u6E90\u7801\u3001\u94FE\u63A5\u6216\u9879\u76EE\u5185\u5B89\u88C5\uFF0C\u4E0D\u80FD\u76F4\u63A5\u6539\u5199\u539F\u5B89\u88C5\u3002\u6B63\u5E38\u547D\u4EE4\u4F1A\u4ECE PROD \u72EC\u7ACB\u7F13\u5B58\u8FD0\u884C\u65B0\u7248\uFF1B\u5355\u72EC\u66F4\u65B0\u8BF7\u6CBF\u7528\u539F\u6765\u7684\u5B89\u88C5\u65B9\u5F0F\u3002");
647
647
  }
648
648
  const { root: installedRoot, prefix } = installation;
649
- const manualUpdate = `npm install --global --prefix '${prefix.replace(/'/gu, "'\\''")}' ${PACKAGE}@dev --registry=${REGISTRY} --prefer-online`;
649
+ const manualUpdate = `npm install --global --prefix '${prefix.replace(/'/gu, "'\\''")}' ${PACKAGE}@prod --registry=${REGISTRY} --prefer-online`;
650
650
  await withUpdateLock(globalUpdateLock(options.cacheDirectory ?? defaultUpdateCache(), prefix), options.signal, async () => {
651
651
  const current = JSON.parse(await readFile(join3(installedRoot, "package.json"), "utf8"));
652
- if (current.name !== PACKAGE || !/^\d+\.\d+\.\d+-dev\.\d+$/.test(current.version)) {
653
- throw new Error("\u5F53\u524D\u5B89\u88C5\u76EE\u5F55\u5DF2\u88AB\u5176\u4ED6\u6E20\u9053\u66FF\u6362\uFF0C\u5DF2\u505C\u6B62\u66F4\u65B0\u3002\u8BF7\u5C06 latest \u548C dev \u5B89\u88C5\u5230\u4E0D\u540C\u76EE\u5F55\uFF0C\u518D\u91CD\u65B0\u8FD0\u884C buddy-cli-sit\u3002");
652
+ if (current.name !== PACKAGE || !/^\d+\.\d+\.\d+-rc\.\d+$/.test(current.version)) {
653
+ throw new Error("\u5F53\u524D\u5B89\u88C5\u76EE\u5F55\u5DF2\u88AB\u5176\u4ED6\u6E20\u9053\u66FF\u6362\uFF0C\u5DF2\u505C\u6B62\u66F4\u65B0\u3002\u8BF7\u5C06 latest\u3001dev \u548C prod \u5B89\u88C5\u5230\u4E0D\u540C\u76EE\u5F55\uFF0C\u518D\u91CD\u65B0\u8FD0\u884C buddy-cli-prod\u3002");
654
654
  }
655
655
  if (current.name === PACKAGE && current.version === version) return;
656
656
  if (current.name === PACKAGE && compareVersions(current.version, version) > 0) throw new Error("\u53E6\u4E00\u4E2A\u8FDB\u7A0B\u5DF2\u5B89\u88C5\u66F4\u65B0\u7684 CLI\uFF0C\u8BF7\u91CD\u65B0\u6267\u884C\u547D\u4EE4\u3002");
@@ -668,13 +668,13 @@ async function installUpdate(version, options) {
668
668
  "--no-fund"
669
669
  ], { ...settings, timeout: 18e4 }, runNpm);
670
670
  } catch (cause) {
671
- if (options.signal?.aborted) throw new Error("\u66F4\u65B0\u5DF2\u53D6\u6D88\uFF0C\u8BF7\u8FD0\u884C buddy-cli-sit --version \u68C0\u67E5\u5B89\u88C5\u72B6\u6001\u3002");
671
+ if (options.signal?.aborted) throw new Error("\u66F4\u65B0\u5DF2\u53D6\u6D88\uFF0C\u8BF7\u8FD0\u884C buddy-cli-prod --version \u68C0\u67E5\u5B89\u88C5\u72B6\u6001\u3002");
672
672
  throw new Error(`${cause instanceof Error ? cause.message : "npm \u5B89\u88C5\u672A\u5B8C\u6210\u3002"}
673
673
  \u4E5F\u53EF\u624B\u52A8\u5B89\u88C5\uFF1A${manualUpdate}`);
674
674
  }
675
675
  const installed = JSON.parse(await readFile(join3(installedRoot, "package.json"), "utf8"));
676
676
  if (installed.name !== PACKAGE || installed.version !== version) {
677
- throw new Error(`npm \u5DF2\u7ED3\u675F\uFF0C\u4F46\u672A\u786E\u8BA4\u5B89\u88C5\u5230 ${version}\u3002\u8BF7\u8FD0\u884C buddy-cli-sit --version \u68C0\u67E5\uFF0C\u5FC5\u8981\u65F6\u91CD\u8BD5\uFF1A${manualUpdate}`);
677
+ throw new Error(`npm \u5DF2\u7ED3\u675F\uFF0C\u4F46\u672A\u786E\u8BA4\u5B89\u88C5\u5230 ${version}\u3002\u8BF7\u8FD0\u884C buddy-cli-prod --version \u68C0\u67E5\uFF0C\u5FC5\u8981\u65F6\u91CD\u8BD5\uFF1A${manualUpdate}`);
678
678
  }
679
679
  });
680
680
  }
@@ -684,13 +684,13 @@ async function runSelfUpdateCommand(args, io, options) {
684
684
  const json = args.includes("--json");
685
685
  const fail = (message, exitCode) => {
686
686
  if (json) io.write(JSON.stringify({ package: PACKAGE, currentVersion: options.version, error: message }));
687
- else io.writeError(`buddy-cli-sit: ${message}`);
687
+ else io.writeError(`buddy-cli-prod: ${message}`);
688
688
  return { exitCode };
689
689
  };
690
690
  const flags = args.slice(1);
691
691
  const allowed = versionOnly ? ["--json", "--help", "-h"] : ["--check", "--json", "--help", "-h"];
692
692
  if (flags.some((flag) => !allowed.includes(flag)) || new Set(flags).size !== flags.length) {
693
- return fail("\u53C2\u6570\u65E0\u6548\uFF0C\u8BF7\u8FD0\u884C buddy-cli-sit update --help \u67E5\u770B\u7528\u6CD5\u3002", 2);
693
+ return fail("\u53C2\u6570\u65E0\u6548\uFF0C\u8BF7\u8FD0\u884C buddy-cli-prod update --help \u67E5\u770B\u7528\u6CD5\u3002", 2);
694
694
  }
695
695
  if (flags.includes("--help") || flags.includes("-h")) {
696
696
  if (json) io.write(JSON.stringify({ help: HELP }));
@@ -724,8 +724,8 @@ async function runSelfUpdateCommand(args, io, options) {
724
724
  ...updated ? { installedVersion: latest } : {}
725
725
  }));
726
726
  } else if (updated) io.write(`CLI \u5DF2\u66F4\u65B0\uFF1A${options.version} \u2192 ${latest}\u3002`);
727
- else if (comparison > 0) io.write(`\u53D1\u73B0\u65B0\u7248\u672C\uFF1A${options.version} \u2192 ${latest}\u3002\u8FD0\u884C buddy-cli-sit update \u66F4\u65B0\u3002`);
728
- else if (comparison < 0) io.write(`\u5F53\u524D\u7248\u672C ${options.version} \u9AD8\u4E8E npm dev ${latest}\uFF0C\u65E0\u9700\u66F4\u65B0\u3002`);
727
+ else if (comparison > 0) io.write(`\u53D1\u73B0\u65B0\u7248\u672C\uFF1A${options.version} \u2192 ${latest}\u3002\u8FD0\u884C buddy-cli-prod update \u66F4\u65B0\u3002`);
728
+ else if (comparison < 0) io.write(`\u5F53\u524D\u7248\u672C ${options.version} \u9AD8\u4E8E npm prod ${latest}\uFF0C\u65E0\u9700\u66F4\u65B0\u3002`);
729
729
  else io.write(`\u5F53\u524D\u5DF2\u662F\u6700\u65B0\u7248\uFF1A${options.version}\u3002`);
730
730
  return { exitCode: 0 };
731
731
  } catch (cause) {
@@ -757,7 +757,7 @@ import { promisify as promisify2 } from "node:util";
757
757
  var PACKAGE2 = "@my-life-buddies/cli";
758
758
  var REGISTRY2 = "https://registry.npmjs.org/";
759
759
  var execute2 = promisify2(execFile2);
760
- var HANDOFF_ENV = "BUDDY_CLI_SIT_UPDATE_HANDOFF";
760
+ var HANDOFF_ENV = "BUDDY_CLI_PROD_UPDATE_HANDOFF";
761
761
  async function installedVersion(root) {
762
762
  try {
763
763
  const pkg = JSON.parse(await readFile2(join4(root, "package.json"), "utf8"));
@@ -852,7 +852,7 @@ async function runAutoUpdate(args, io, options) {
852
852
  const env = { ...options.env ?? process.env };
853
853
  const pin = env.BUDDY_CLI_PIN_VERSION;
854
854
  if (pin !== void 0) {
855
- if (!/^\d+\.\d+\.\d+-dev\.\d+$/.test(pin) || pin !== options.version) {
855
+ if (!/^\d+\.\d+\.\d+-rc\.\d+$/.test(pin) || pin !== options.version) {
856
856
  throw new Error(`CLI \u7248\u672C\u9501\u5B9A\u4E0D\u5339\u914D\uFF1A\u8981\u6C42 ${pin}\uFF0C\u5F53\u524D ${options.version}\u3002\u8BF7\u5B89\u88C5 @my-life-buddies/cli@${pin} \u6216 unset BUDDY_CLI_PIN_VERSION\u3002`);
857
857
  }
858
858
  return void 0;
@@ -981,10 +981,9 @@ try {
981
981
  if (maintenance === void 0 && !offlineHelp) resolvePlatformUrl2();
982
982
  const result = maintenance ?? await runBuddyCli(args, terminal, {
983
983
  runtimeCatalog: { signal: lifecycle.signal },
984
- scaffoldPlatformAgent: (root, name, runtimeVersion) => scaffoldPlatformAgent(root, name, {
984
+ scaffoldPlatformAgent: (root, name) => scaffoldPlatformAgent(root, name, {
985
985
  resolveDependencies: (template) => latestRuntimeTemplate(template, {
986
986
  signal: lifecycle.signal,
987
- runtimeVersion,
988
987
  report: (message) => terminal.write(message)
989
988
  })
990
989
  }),
@@ -998,7 +997,7 @@ try {
998
997
  process.exitCode = result.exitCode;
999
998
  } catch (cause) {
1000
999
  const message = cause instanceof Error ? cause.message : String(cause);
1001
- terminal.writeError(`buddy-cli-sit: ${message}`);
1000
+ terminal.writeError(`buddy-cli-prod: ${message}`);
1002
1001
  process.exitCode = 1;
1003
1002
  } finally {
1004
1003
  unbindTermination();