@sfmc-bds/cli 0.4.2 → 0.4.4
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/i18n/locales/en.d.ts +1 -0
- package/dist/i18n/locales/en.d.ts.map +1 -1
- package/dist/i18n/locales/en.js +1 -0
- package/dist/i18n/locales/en.js.map +2 -2
- package/dist/i18n/locales/zh-CN.d.ts.map +1 -1
- package/dist/i18n/locales/zh-CN.js +1 -0
- package/dist/i18n/locales/zh-CN.js.map +2 -2
- package/dist/module-update/index.d.ts.map +1 -1
- package/dist/module-update/index.js +2 -1
- package/dist/module-update/index.js.map +2 -2
- package/package.json +6 -6
- package/scripts/module-install/lib/module-update.mjs +21 -2
- package/scripts/module-install/test/module-update.test.mjs +94 -0
|
@@ -340,6 +340,7 @@ export declare const en: {
|
|
|
340
340
|
readonly "mod.update.reason.missingModule": "not installed";
|
|
341
341
|
readonly "mod.update.reason.missingDependency": "required module is not installed";
|
|
342
342
|
readonly "mod.update.reason.badVersion": "version is not semver";
|
|
343
|
+
readonly "mod.update.reason.retired": "included in the platform";
|
|
343
344
|
readonly "mod.pin.usage": "Usage: mod pin <id> --auto on|off";
|
|
344
345
|
readonly "mod.pin.ok": "{id} auto-update {state}";
|
|
345
346
|
readonly "mod.pin.on": "on";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"en.d.ts","sourceRoot":"","sources":["../../../src/i18n/locales/en.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"en.d.ts","sourceRoot":"","sources":["../../../src/i18n/locales/en.ts"],"names":[],"mappings":"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"}
|
package/dist/i18n/locales/en.js
CHANGED
|
@@ -349,6 +349,7 @@ const en = {
|
|
|
349
349
|
"mod.update.reason.missingModule": "not installed",
|
|
350
350
|
"mod.update.reason.missingDependency": "required module is not installed",
|
|
351
351
|
"mod.update.reason.badVersion": "version is not semver",
|
|
352
|
+
"mod.update.reason.retired": "included in the platform",
|
|
352
353
|
"mod.pin.usage": "Usage: mod pin <id> --auto on|off",
|
|
353
354
|
"mod.pin.ok": "{id} auto-update {state}",
|
|
354
355
|
"mod.pin.on": "on",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/i18n/locales/en.ts"],
|
|
4
|
-
"sourcesContent": ["/**\n * English message catalog \u2014 source of truth for MessageKey.\n * Placeholders use {name} form; chalk stays at call sites.\n */\nexport const en = {\n /* \u2500\u2500\u2500 common \u2500\u2500\u2500 */\n \"common.cancelled\": \"Cancelled\",\n \"common.done\": \"Done\",\n \"common.required\": \"Required\",\n \"common.error\": \"Error: {message}\",\n \"common.fatal\": \"Fatal\",\n \"common.unknownCommand\": \"Unknown command: {cmd}\",\n \"common.unknownShort\": \"Unknown: {cmd} (try: help)\",\n \"common.tips\": \"Tips\",\n \"common.path\": \"Path\",\n \"common.hint\": \"Hint\",\n \"common.none\": \"(none)\",\n \"common.all\": \"ALL\",\n\n /* \u2500\u2500\u2500 locale \u2500\u2500\u2500 */\n \"locale.current\": \"Current locale: {locale}\",\n \"locale.set\": \"Locale set to {locale}\",\n \"locale.invalid\": \"Unknown locale: {value} (try: zh-CN, en)\",\n \"locale.usage\": \"Usage: locale [zh-CN|en|zh|cn]\",\n \"locale.wizard\": \"CLI language / \u754C\u9762\u8BED\u8A00\",\n \"locale.opt.zh\": \"\u7B80\u4F53\u4E2D\u6587\",\n \"locale.opt.en\": \"English\",\n\n /* \u2500\u2500\u2500 CLI channel gates \u2500\u2500\u2500 */\n \"cli.replOnly\": \"Command `{cmd}` is REPL-only.\",\n \"cli.replOnly.hint\": \"Start the interactive CLI with `sfmc` (no args), then run it there.\",\n \"cli.needTty\": \"Command `{cmd}` requires an interactive TTY.\",\n\n /* \u2500\u2500\u2500 debug (BDS config) \u2500\u2500\u2500 */\n \"debug.state.on\": \"ON\",\n \"debug.state.off\": \"OFF\",\n \"debug.statusTitle\": \"BDS debug config\",\n \"debug.enabled\": \"sfmc_debug = true (BDS console debug logs enabled on next reload)\",\n \"debug.disabled\": \"sfmc_debug = false (BDS console debug logs disabled on next reload)\",\n \"debug.sentry.set\": \"SENTRY_DSN set: {dsn}\",\n \"debug.sentry.removed\": \"SENTRY_DSN removed\",\n \"debug.sentry.alreadyOff\": \"SENTRY_DSN already absent\",\n \"debug.sentry.dsnMissing\": \"--dsn <value> required\",\n \"debug.sentry.unknown\": \"Unknown sentry action: {action}\",\n \"debug.sentry.usage\": \"Usage: debug sentry on --dsn <dsn> | debug sentry off\",\n \"debug.unknown\": \"Unknown debug subcommand: {sub}\",\n \"debug.usage\": \"Usage: debug status | enable | disable | sentry on --dsn | sentry off\",\n \"debug.reloadHint\": \"Run `sfmc mod reload` or restart BDS to take effect.\",\n\n /* \u2500\u2500\u2500 help \u2500\u2500\u2500 */\n \"help.title\": \"sfmc \u2014 ScriptsForMinecraftServer CLI\",\n \"help.title.repl\": \"sfmc REPL\",\n \"help.usage\": \"Usage:\",\n \"help.section.options\": \"Options\",\n \"help.opt.packs\": \"Pack context, then packs subcommand; i = install\",\n \"help.opt.lang\": \"UI language for this process\",\n \"help.addon.compat\": \"Compat: -p/--packs flag (prefer `sfmc packs \u2026`)\",\n \"help.slash.hint\": \"Lines starting with / list commands. Tab switches send target.\",\n \"help.shortcut.slash\": \"Command list\",\n \"help.shortcut.ctrlp\": \"Command list\",\n \"help.shortcut.cursor\": \"Move cursor\",\n \"repl.palette.hint\": \"\u2191\u2193 \u00B7 Enter \u00B7 Esc\",\n \"repl.palette.empty\": \"No matches\",\n \"help.section.service\": \"\u2500\u2500\u2500 Service Control \u2500\u2500\u2500\",\n \"help.status\": \"Show all services status (includes QQ backend summary)\",\n \"help.logs\": \"Open log filter window (on-disk logs)\",\n \"help.start\": \"Start a service (db / qq / llbot / bds; qq defaults to official Bot)\",\n \"help.stop\": \"Stop a service\",\n \"help.restart\": \"Restart a service\",\n \"help.send\": \"Send command to a service (Tab cycles targets; QQ prompt shows official / llbot)\",\n \"help.section.update\": \"\u2500\u2500\u2500 BDS Update \u2500\u2500\u2500\",\n \"help.update\": \"Check / apply BDS update\",\n \"help.update.checkOnly\": \"Check for an update without downloading\",\n \"help.update.force\": \"Force update even when versions match\",\n \"help.update.noStart\": \"Do not start BDS after the update\",\n \"help.update.channelRelease\": \"Use the release channel\",\n \"help.update.channelPreview\": \"Use the preview channel\",\n \"help.section.debug\": \"\u2500\u2500\u2500 BDS debug \u2500\u2500\u2500\",\n \"help.debug.status\": \"View sfmc_debug / SENTRY_DSN state\",\n \"help.debug.toggle\": \"Toggle sfmc_debug\",\n \"help.debug.sentry.on\": \"Set SENTRY_DSN\",\n \"help.debug.sentry.off\": \"Remove SENTRY_DSN\",\n \"help.debug.sentry\": \"Configure Sentry DSN\",\n \"help.ui\": \"UI Studio \u2014 visual editor for declarative UI\",\n \"help.ui.studio\": \"Start UI Studio and open the browser\",\n \"help.ui.stop\": \"Stop UI Studio in this process\",\n \"ui.usage\": \"Usage: ui studio | ui stop\",\n \"ui.studio.started\": \"UI Studio started: {url}\",\n \"ui.studio.hint\": \"Press Ctrl+C to stop the server.\",\n \"ui.studio.already\": \"UI Studio is already running: {url}\",\n \"ui.studio.stopped\": \"UI Studio stopped.\",\n \"ui.studio.notRunning\": \"UI Studio is not running in this process.\",\n \"ui.studio.failed\": \"Failed to start UI Studio: {message}\",\n \"help.section.module\": \"\u2500\u2500\u2500 Module Management \u2500\u2500\u2500\",\n \"help.module.list\": \"List installed modules\",\n \"help.module.search\": \"Search registry / show module info\",\n \"help.module.submit\": \"Preview or submit a module registry PR\",\n \"help.module.install\": \"Install a module\",\n \"help.module.uninstall\": \"Remove installed module\",\n \"help.module.verify\": \"Verify SHA-256 integrity\",\n \"help.module.info\": \"Show module details\",\n \"help.module.toggle\": \"Toggle module\",\n \"help.module.update\": \"Check and update installed modules\",\n \"help.module.pin\": \"Turn module auto-update on or off\",\n \"help.module.build\": \"Build BP+RP from enabled modules\",\n \"help.module.reload\": \"Build + deploy BP; send reload to BDS\",\n \"help.section.addon\": \"\u2500\u2500\u2500 Addon Manager \u2500\u2500\u2500\",\n \"help.addon\": \"World BP/RP inbox manager\",\n \"help.packs.list\": \"List world packs\",\n \"help.packs.search\": \"Search pack sources\",\n \"help.packs.enable\": \"Enable a pack\",\n \"help.packs.disable\": \"Disable a pack\",\n \"help.packs.doctor\": \"Diagnose pack wiring\",\n \"help.packs.doctor.fix\": \"Heal wiring and grant missing Beta APIs\",\n \"help.packs.doctor.allExperiments\": \"Enable all known experimental gameplay\",\n \"help.packs.doctor.experiments\": \"Show experiment toggles only\",\n \"help.packs.doctor.experimentsList\":\n \"Enable by alias, comma-separated: beta, upcoming, cameras, voxel, villager, drop3, edu\",\n \"help.packs.path\": \"Show pack paths\",\n \"help.section.general\": \"\u2500\u2500\u2500 General \u2500\u2500\u2500\",\n \"help.init\": \"Setup wizard\",\n \"help.locale\": \"Show / set CLI language\",\n \"help.version\": \"Show version\",\n \"help.help\": \"Show this help\",\n \"help.quit\": \"Exit CLI (services keep running)\",\n \"help.shortcuts\": \"Shortcuts:\",\n \"help.shortcut.tab\": \"Send target / list select\",\n \"help.shortcut.right\": \"Accept suggestion\",\n \"help.shortcut.ctrll\": \"Filter log level / source / history\",\n \"help.shortcut.history\": \"Command history\",\n\n /* \u2500\u2500\u2500 repl \u2500\u2500\u2500 */\n \"repl.stopping\": \"stopping services...\",\n \"repl.detach\": \"CLI detached (services keep running; use stop / daemon stop to halt)\",\n \"repl.bye\": \"bye\",\n \"repl.forceStop\": \"force stopping services...\",\n \"repl.nonInteractive\": \" Non-interactive mode (pipe detected)\\n\",\n \"repl.historyHeader\": \"\u2500\u2500 history {count} line(s) \u2500\u2500\",\n \"repl.filter\": \"filter: {level} / {source} / {history}\",\n \"repl.followRequiresTty\": \"follow mode requires TTY\",\n \"repl.logsReplOnly\": \"logs is only available in the interactive REPL (opens filter window)\",\n \"repl.history.live\": \"live only (no replay)\",\n \"repl.history.last50\": \"last 50\",\n \"repl.history.last100\": \"last 100\",\n \"repl.history.last500\": \"last 500\",\n \"repl.history.last1000\": \"last 1000\",\n \"repl.history.last1min\": \"last 1 min\",\n \"repl.history.last5min\": \"last 5 min\",\n \"repl.history.last15min\": \"last 15 min\",\n \"repl.history.last1hour\": \"last 1 hour\",\n \"repl.history.all\": \"all buffered\",\n\n /* \u2500\u2500\u2500 daemon \u2500\u2500\u2500 */\n \"daemon.stopped\": \"daemon stopped\",\n \"daemon.notRunning\": \"daemon is not running\",\n \"daemon.running\": \"daemon running (PID {pid})\",\n \"daemon.usage\": \"usage: daemon [status|stop]\",\n \"daemon.connectFailed\": \"failed to connect daemon: {message}\",\n \"help.daemon\": \"Show/stop background daemon\",\n \"help.daemon.status\": \"Show whether the daemon is running\",\n \"help.daemon.stop\": \"Stop the background daemon\",\n \"palette.asIs\": \"run\",\n \"palette.fixOnly\": \"fix only\",\n \"palette.localeCurrent\": \"current\",\n\n /* \u2500\u2500\u2500 services / commands \u2500\u2500\u2500 */\n \"svc.header\": \"Services\",\n \"svc.col.name\": \"Name\",\n \"svc.col.status\": \"Status\",\n \"svc.col.owner\": \"Owner\",\n \"svc.col.pid\": \"PID\",\n \"svc.col.uptime\": \"Uptime\",\n \"svc.state.running\": \"Running\",\n \"svc.state.stopped\": \"Stopped\",\n \"svc.owner.managed\": \"Managed\",\n \"svc.owner.external\": \"External\",\n \"svc.owner.none\": \"\u2014\",\n \"svc.running\": \"Running\",\n \"svc.runningExternal\": \"Running (external)\",\n \"svc.stopped\": \"Stopped\",\n \"svc.unknown\": \"Unknown service: {name} (try: {list})\",\n \"svc.logs.usage\": \"Usage: logs <service> [-n N] [-f]\",\n \"svc.logs.empty\": \"(no logs yet)\",\n \"svc.logs.header\": \"{title} logs (last {count}):\",\n \"svc.start.usage\": \"Usage: sfmc start <service>|-all\",\n \"svc.start.usageShort\": \"Usage: start <service>|-all\",\n \"svc.stop.usage\": \"Usage: sfmc stop <service>|-all\",\n \"svc.stop.usageShort\": \"Usage: stop <service>|-all\",\n \"svc.restart.usage\": \"Usage: sfmc restart <service>|-all\",\n \"svc.restart.usageShort\": \"Usage: restart <service>|-all\",\n \"svc.alreadyRunning\": \"{title} already running (PID {pid})\",\n \"svc.alreadyStarting\": \"{title} already starting...\",\n \"svc.started\": \"{title} started\",\n \"svc.startFailed\": \"{title} failed: {message}\",\n \"svc.alreadyStopped\": \"{title} already stopped\",\n \"svc.alreadyStopping\": \"{title} already stopping...\",\n \"svc.stoppedMsg\": \"{title} stopped\",\n \"svc.stopFailed\": \"{title} stop failed: {message}\",\n \"svc.send.usage\": \"Usage: send <service> <message>\",\n \"svc.notRunning\": \"{title} not running\",\n \"svc.writeFailed\": \"write failed\",\n \"svc.restarted\": \"{title} restarted\",\n \"svc.restartFailed\": \"{title} restart failed: {message}\",\n \"svc.allStarted\": \"All services started\",\n \"svc.allStopped\": \"All services stopped\",\n \"svc.skipped\": \"{title} skipped: {reason}\",\n \"svc.startAll.started\": \"Started: {list}\",\n \"svc.startAll.skipped\": \"Skipped: {list}\",\n \"svc.startAll.failed\": \"Failed: {list}\",\n \"svc.startAll.empty\": \"Nothing to start\",\n \"svc.updateComplete\": \"update complete\",\n \"svc.updateExited\": \"update exited with code {code}\",\n \"svc.updateError\": \"update error: {message}\",\n \"svc.updateStartBds\": \"update: starting BDS via supervisor\",\n \"svc.bdsStarted\": \"BDS started (supervised)\",\n \"svc.bdsStartFailed\": \"BDS start failed: {message}\",\n \"svc.bdsStoppedForUpdate\": \"BDS was stopped for update; run `start bds` when ready\",\n \"svc.bdsAlreadyRunning\": \"BDS already running ({kind}, PID {pid})\",\n \"svc.stdinUnavailable\": \"{title} was started externally; stdin commands unavailable\",\n \"svc.stoppedExternal\": \"{title} stopped (external process)\",\n\n /* \u2500\u2500\u2500 wizard \u2500\u2500\u2500 */\n \"wizard.intro\": \"Setup Wizard =D\",\n \"wizard.rerun\": \"Already initialized. Re-run setup?\",\n \"wizard.skipped\": \"Setup skipped\",\n \"wizard.step1\": \"Step 1 - Runtime Environment\",\n \"wizard.runtimeRoot\": \"Runtime root: {root}\",\n \"wizard.runtimeMissingAssets\": \"Runtime is missing required directories: {list}\",\n \"wizard.prepFailed\": \"Runtime preparation failed: {message}\",\n \"wizard.step2\": \"Step 2 - External Runtimes\",\n \"wizard.step2Note\": \"Confirm the BDS directory first. Database, backups, and QQ can stay on defaults.\",\n \"wizard.bdsDir\": \"BDS installation directory\",\n \"wizard.cannotCreateBds\": \"Cannot create BDS installation directory: {dir}\",\n \"wizard.qqBackend\": \"QQ bridge backend:\",\n \"wizard.qqBackend.official\": \"QQ Open Platform (official Bot)\",\n \"wizard.qqBackend.officialHint\": \"Needs AppID / AppSecret; can be set later\",\n \"wizard.qqBackend.llbot\": \"LLBot (OneBot 11)\",\n \"wizard.qqBackend.llbotHint\": \"Requires local LLBot process\",\n \"wizard.qqBackend.disabled\": \"Disable QQ bridge for now\",\n \"wizard.qqBackend.disabledHint\": \"qq_enabled=false\",\n \"wizard.qqAppId\": \"QQ Open Platform AppID:\",\n \"wizard.qqAppSecret\": \"QQ Open Platform AppSecret:\",\n \"wizard.qqSandbox\": \"Use sandbox environment?\",\n \"wizard.qqGroupOpenid\": \"Group openid (optional for now):\",\n \"wizard.qqGroupOpenidHint\": \"not a classic group number\",\n \"wizard.enableLlbot\": \"Enable LLBot process takeover?\",\n \"wizard.llbotDir\": \"LLBot runtime directory\",\n \"wizard.usingDefault\": \"Using default: {path}\",\n \"wizard.dbDir\": \"Database storage directory\",\n \"wizard.dbPort\": \"Database server port:\",\n \"wizard.portRange\": \"Enter 1024\u201365535\",\n \"wizard.valueRequired\": \"Value is required!\",\n \"wizard.step3\": \"Step 3 - BDS Environment\",\n \"wizard.bdsFound\": \"Found at {path}\",\n \"wizard.bdsNotFound\": \"Not found at {path}\",\n \"wizard.eula\":\n \"Do you agree to the EULA(https://www.minecraft.net/en-us/eula) published by Mojang? You must agree to it before you can use this program.\",\n \"wizard.disagreed\": \"Disagreed.\",\n \"wizard.downloadBds\": \"Download BDS now?\",\n \"wizard.selectChannel\": \"Select channel:\",\n \"wizard.channel.release\": \"Release\",\n \"wizard.channel.releaseHint\": \"stable\",\n \"wizard.channel.preview\": \"Preview\",\n \"wizard.channel.previewHint\": \"may be unstable\",\n \"wizard.cannotCreateBackup\": \"Cannot create BDS backup directory: {dir}\",\n \"wizard.backupDir\": \"BDS backup directory\",\n \"wizard.preserve\": \"Files to preserve on update(When updates are enabled next time):\",\n \"wizard.preserve.serverProps\": \"server config\",\n \"wizard.preserve.worlds\": \"world data\",\n \"wizard.preserve.config\": \"config directory\",\n \"wizard.updaterTip\":\n \"If could not find BDS runtime, updater will be started later.\\n You can configure updater later in configs/bds_updater.json\",\n \"wizard.step4\": \"Step 4 - Modules\",\n \"wizard.modulesFound\": \"Found {count} optional modules\",\n \"wizard.modulesNone\": \"No modules installed yet.\",\n \"wizard.useDefaults\": \"Use the default database, backup directory, and update preserve list?\",\n \"wizard.defaultsApplied\": \"Database {db} (port {port}), backup {backup}.\",\n \"wizard.installFromRegistry\": \"Install from the official index (optional):\",\n \"wizard.registryLoading\": \"Reading the official module index\",\n \"wizard.registryOffline\": \"Official index is unavailable. Install later with `mod install <id>`.\",\n \"wizard.enableModules\": \"Enable modules:\",\n \"wizard.emptyHint\": \"(empty)\",\n \"wizard.updatingConfigs\": \"Updating configs\",\n \"wizard.configsUpdated\": \"Configs updated\",\n \"wizard.updatingModules\": \"Updating module state\",\n \"wizard.modulesUpdated\": \"Module state updated\",\n \"wizard.initDb\": \"Initializing database\",\n \"wizard.dbTimeout\": \"Database startup timed out\",\n \"wizard.dbOk\": \"Database initialized\",\n \"wizard.downloadingBds\": \"Downloading BDS\",\n \"wizard.downloadFail\": \"Downloaded Failure.\",\n \"wizard.bdsDownloaded\": \"BDS downloaded\",\n \"wizard.done\": \"Done! Run help to learn managing.\",\n \"wizard.installing\": \"Installing {count} module(s) from first-party registry\",\n \"wizard.installed\": \"{count} installed\",\n \"wizard.installFailed\": \"install failed: {message}\\nYou can retry with: sfmc mod install <id>\",\n \"wizard.fetchMissing\": \"fetch-module missing \u2014 run `sfmc mod install <id>` later for each of: {list}\",\n \"wizard.noModulesSelected\":\n \"No modules selected \u2014 behavior pack will be empty until you install one with `sfmc mod install <id>`.\",\n \"wizard.buildingBp\": \"Building behavior pack\",\n \"wizard.buildFailed\": \"build failed: {message}\\nRun `sfmc mod build` later to retry.\",\n \"wizard.deploying\": \"Deploying to {path}\",\n \"wizard.restartBds\": \"Restart BDS to load the new behavior pack.\",\n \"wizard.deployFailed\": \"deploy failed: {message}\\nRun `sfmc mod reload` after fixing bds_path in configs/.\",\n\n /* \u2500\u2500\u2500 prompts \u2500\u2500\u2500 */\n \"prompt.useDefault\": \"Use this path\",\n \"prompt.enterPath\": \"Enter path\",\n \"prompt.browse\": \"Browse\u2026\",\n \"prompt.browseHint\": \"Open system folder picker\",\n \"prompt.browseUnavailable\": \"system picker unavailable; enter path manually\",\n\n /* \u2500\u2500\u2500 reload \u2500\u2500\u2500 */\n \"reload.buildOnly\": \"(deploy done; type reload in BDS/game, or omit --build-only to send automatically)\",\n \"reload.bdsNotRunning\":\n \"BDS is not running \u2014 build+deploy finished. After start, type reload in BDS console or in-game.\",\n \"reload.sent\": \"Sent reload to BDS\",\n\n /* \u2500\u2500\u2500 bp \u2500\u2500\u2500 */\n \"bp.usage\": \"Usage: sfmc behavior-pack|bp <build|deploy>\",\n /* \u2500\u2500\u2500 module commands \u2500\u2500\u2500 */\n \"mod.usage\": \"Usage: sfmc {cmds} <{subs}> [args]\",\n \"mod.list.title\": \"Installed modules\",\n \"mod.noneInstalled\": \"\\nNo modules installed. Drop a module folder under {dir} or run `sfmc mod install <id>`.\\n\",\n \"mod.notInRegistry\": 'Module \"{query}\" not found in first-party registry.',\n \"mod.info.usage\": \"Usage: mod info <id>\",\n \"mod.notInstalledAt\": \"Module {id} not installed at {path}\",\n \"mod.notInstalled\": \"Module {id} not installed\",\n \"mod.verifyOk\": \"{id} ok\\n fingerprint: {fp}\\n\",\n \"mod.dbUnreachable\": \"Cannot reach db-server at {url}: {message}. Is db-service running? (sfmc> start db)\",\n \"mod.toggleFailed\": \"{action} {id} failed: {err}\",\n \"mod.action.enabled\": \"enabled\",\n \"mod.action.disabled\": \"disabled\",\n \"mod.toggleOk\": \"{label} {id}\",\n \"mod.toggleBadBody\": \"{action} {id} returned: {text}\",\n \"mod.cannotDisable\": \"Module {id} cannot be disabled (canDisable=false)\",\n \"mod.toggleLockFailed\": \"Failed to write module-lock ({id}): {message}\",\n \"mod.toggleDbSkipped\":\n \"Wrote module-lock; db-server not synced ({detail}). Memory state updates on next start db; in-game still needs mod reload / BDS restart.\",\n \"mod.enable.usage\": \"Usage: mod enable <id>\",\n \"mod.disable.usage\": \"Usage: mod disable <id>\",\n \"mod.install.usage\": \"Usage: mod install <id>\\n mod install <id> --from <source> [--link] [--sha256 <hex>]\",\n \"mod.fromUnknown\": \"unknown --from source: {value}. Use npm:|local[:<path>]|tgz:|zip:|dir:|github:<repo>[@tag]\",\n \"mod.fetchMissing\": \"fetch-module not found. Install @sfmc-bds/sfmc or run inside the monorepo.\",\n \"mod.uninstall.usage\": \"Usage: mod uninstall <id>\",\n \"mod.notInstalledFolder\": \"Module {id} not installed (no folder at {path})\",\n \"mod.removed\": \"Removed {id} from {path}\\n\",\n \"mod.update.usage\": \"Usage: mod update [id...] [--check] [--yes] [--allow-major]\",\n \"mod.update.disabled\": \"Module auto-update is disabled (configs/module-update.json).\",\n \"mod.update.checkOff\": \"Module updates only happen when the update command is executed.\",\n \"mod.update.none\": \"No module updates.\",\n \"mod.update.upgrade\": \"{id} {from} -> {to}\",\n \"mod.update.confirm\": \"Update {count} module(s)?\",\n \"mod.update.cancelled\": \"Module update cancelled.\",\n \"mod.update.needYes\": \"Pass --yes to apply module updates without a prompt.\",\n \"mod.update.applied\": \"Updated {id} {from} -> {to}\",\n \"mod.update.failed\": \"Failed {id}: {message}\",\n \"mod.update.reloadHint\": \"Run mod reload, or restart BDS, to load the updated modules.\",\n \"mod.update.reason.autoOff\": \"auto-update off\",\n \"mod.update.reason.localSource\": \"local link or directory\",\n \"mod.update.reason.registryOffline\": \"module index offline\",\n \"mod.update.reason.noTarget\": \"no target version\",\n \"mod.update.reason.noInstalledVersion\": \"installed version unknown\",\n \"mod.update.reason.upToDate\": \"up to date\",\n \"mod.update.reason.installedNewer\": \"installed version is newer\",\n \"mod.update.reason.major\": \"major update skipped\",\n \"mod.update.reason.sdk\": \"SDK range not satisfied\",\n \"mod.update.reason.dependencyFailed\": \"dependency update failed\",\n \"mod.update.reason.githubManual\": \"GitHub source stays manual\",\n \"mod.update.reason.missingModule\": \"not installed\",\n \"mod.update.reason.missingDependency\": \"required module is not installed\",\n \"mod.update.reason.badVersion\": \"version is not semver\",\n \"mod.pin.usage\": \"Usage: mod pin <id> --auto on|off\",\n \"mod.pin.ok\": \"{id} auto-update {state}\",\n \"mod.pin.on\": \"on\",\n \"mod.pin.off\": \"off\",\n \"mod.pin.locked\": \"{id} is a local link, directory, or GitHub source and cannot auto-update.\",\n \"mod.pin.missing\": \"Module {id} is not installed.\",\n\n /* \u2500\u2500\u2500 pack lifecycle \u2500\u2500\u2500 */\n \"pack.built\": \"built packs at {path}\",\n \"pack.buildFailed\": \"pack build failed: {message}\",\n \"pack.deployed\": \"deployed packs\",\n \"pack.deployFailed\": \"pack deploy failed: {message}\",\n \"pack.statusFailed\": \"pack status failed: {message}\",\n \"pack.listFailed\": \"pack list failed: {message}\",\n \"pack.noCatalog\": \"no deployed catalog \u2014 run `sfmc pack deploy` first\",\n \"pack.noUuid\": \"no {kind} pack uuid in catalog\",\n \"pack.actionFailed\": \"{action} failed: {detail}\",\n \"pack.enabledOk\": \"enabled {kind} pack {uuid}\",\n \"pack.disabledOk\": \"disabled {kind} pack {uuid}\",\n \"pack.actionErr\": \"pack {action} failed: {message}\",\n \"pack.usage\": \"Usage: sfmc pack <{subs}> [behavior|resource]\",\n\n /* \u2500\u2500\u2500 world packs / addon \u2500\u2500\u2500 */\n \"packs.restartHint\": \"Restart BDS for changes to take effect\",\n \"packs.rejoinHint\": \"Clients must rejoin to download resource packs\",\n \"packs.conflict\": \"Conflict detected:\",\n \"packs.conflict.existing\": \" Existing: {name} v{version} {uuid}\\n {dir}\",\n \"packs.conflict.incoming\": \" Incoming: {name} v{version} {uuid}\",\n \"packs.overwriteAsk\": \"Overwrite existing pack (same UUID, version not newer)?\",\n \"packs.badManifest\": \"Unrecognized manifest (need resources/data/script module and header name/uuid/version)\",\n \"packs.skippedNoOverwrite\": \"Skipped (not overwritten)\",\n \"packs.conflictSkip\": \" Conflict skipped (non-interactive; use --force): {name}\",\n \"packs.inboxSkip\": \" Skipping inbox: {message}\",\n \"packs.inboxFound\": \" Inbox found {count} item(s) \u2192 {level}\",\n \"packs.alreadyDone\": \" Already processed, skip: {name}\",\n \"packs.dryRunExtract\": \" dry-run extract: {name}\",\n \"packs.noPackRoot\": \" Pack root not found: {name}\",\n \"packs.installedEnabled\": \" Installed & enabled {kind}: {name} v{version}\",\n \"packs.installFailed\": \" Install failed {name}: {reason}\",\n \"packs.listEmpty\": \"(none)\",\n \"packs.list.bpHeader\": \"Behavior packs:\",\n \"packs.list.rpHeader\": \"Resource packs:\",\n \"packs.list.on\": \"on \",\n \"packs.list.off\": \"off\",\n \"packs.doctor.parseFail\": \"{file} could not be parsed\",\n \"packs.doctor.missingDir\": \"List has uuid but directory missing ({kind}): {uuid}\",\n \"packs.doctor.versionMismatch\": \"Version mismatch ({kind}): {folder} list {listVer} vs disk {diskVer}\",\n \"packs.doctor.notEnabled\": \"Installed but not enabled: [{kind}] {folder} ({uuid})\",\n \"packs.doctor.betaApisMissing\":\n 'World \"{level}\" has not enabled \"Beta APIs (gametest)\", but required by:\\n{packs}\\n These packs will be blocked by BDS! Run packs doctor --fix to enable.',\n \"packs.doctor.betaApisFixed\":\n 'Successfully enabled \"Beta APIs\" (gametest = 1b) for world \"{level}\", backup created at: {backup}',\n \"packs.doctor.betaApisAlreadyOn\": 'Beta APIs is already enabled for world \"{level}\"',\n \"packs.doctor.betaApisFailed\": 'Failed to enable Beta APIs for world \"{level}\": {error}',\n \"packs.doctor.ghostPackCleaned\": \"Cleaned missing pack entry ({kind}): {uuid}\",\n \"packs.doctor.versionSynced\": \"Synced version ({kind}): {folder} list {listVer} \u2192 disk {diskVer}\",\n \"packs.doctor.permissionsMissing\":\n \"The following behavior packs depend on modules not allowed in BDS config:\\n{list}\\n Unconfigured modules will be blocked at runtime by BDS! Run packs doctor --fix to allow them.\",\n \"packs.doctor.permissionsFixed\": \"Automatically allowed script modules: {perms}\",\n \"packs.doctor.fixedSummary\": \"doctor: auto-healed {count} issue(s).\",\n \"packs.doctor.fixPrompt\": 'Run \"packs doctor --fix\" to automatically heal fixable issues.',\n \"packs.doctor.experimentsStatus\": 'World Experiments Status (World \"{level}\"):',\n \"packs.doctor.experimentsFixed\":\n 'Successfully enabled experimental features ({list}) for world \"{level}\", backup created at: {backup}',\n \"packs.doctor.experimentsAlreadyOn\": 'Requested experimental features for world \"{level}\" are already enabled',\n \"packs.doctor.experimentsFailed\": 'Failed to modify experimental features for world \"{level}\": {error}',\n \"packs.doctor.experimentsFixPrompt\":\n 'Run \"packs doctor --fix --all-experiments\" to enable all known experimental features.',\n \"packs.doctor.ok\": \"doctor: no issues found\",\n \"packs.doctor.found\": \"doctor found {count} issue(s):\\n{list}\",\n \"packs.notFound\": \"Pack not found: {id}\",\n \"packs.toggleDone\": \"{verb} {folder} done. {hint}\",\n \"packs.bump.usage\": \"Usage: packs bump <uuid|folder> (RP only)\",\n \"packs.bump.rpOnly\": \"packs bump only supports resource packs (RP)\",\n \"packs.bumped\": \"Bumped {folder} \u2192 v{version}. {restart}; {rejoin}\",\n \"packs.pathMissing\": \"Path does not exist: {path}\",\n \"packs.notArchive\": \"Not a pack directory or .zip/.mcpack/.mcaddon\",\n \"packs.noManifestRoot\": \"No pack root with manifest.json found\",\n \"packs.installedLine\": \"Installed & enabled: {name} v{version} ({kind})\",\n \"packs.skipFailLine\": \"Skipped/failed: {name} ({reason})\",\n \"packs.inboxEmpty\": \"Inbox is empty\",\n \"packs.search.usage\": \"Usage: packs search <query> (CurseForge remote; requires API key)\",\n \"packs.bind.usage\": \"Usage: packs bind <uuid|folder> <projectId|slug|url>\",\n \"packs.unbind.usage\": \"Usage: packs unbind <uuid|folder>\",\n \"packs.unbindOk\": \"Unbound {uuid} (or edit {path})\",\n \"packs.unbindMiss\": \"No binding found: {id}\",\n \"packs.update.usage\": \"Usage: packs update <uuid|folder|--all>\",\n \"packs.toggle.usage\": \"Usage: packs {verb} <uuid|folder>\",\n \"packs.uninstall.usage\":\n \"Usage: packs uninstall [uuid|folder...] [--purge] [--no-paired]\\n No args + TTY \u2192 multi-select; multiple ids allowed\",\n \"packs.uninstall.protected\": \"Refusing to uninstall platform pack: {folder} (use sfmc mod)\",\n \"packs.uninstall.trashed\": \"Uninstalled to recycle bin: {folder}\\n \u2192 {dest}\",\n \"packs.uninstall.deleted\": \"Uninstalled and deleted: {folder}\",\n \"packs.uninstall.dirMissing\": \"Removed from enable list; directory already missing: {folder}\",\n \"packs.uninstall.bindingRemoved\": \"Cleared update-source binding: {uuid}\",\n \"packs.uninstall.pick\": \"Select packs to uninstall (space to toggle, enter to confirm)\",\n \"packs.uninstall.summary\": \"Will uninstall {count} item(s) (including paired RPs):\",\n \"packs.uninstall.confirm\": \"Uninstall these {count} item(s)?\",\n \"packs.uninstall.cancelled\": \"Uninstall cancelled\",\n \"packs.uninstall.none\": \"No uninstallable packs\",\n \"packs.uninstall.pairedOf\": \"(paired with {folder})\",\n \"packs.install.usage\": \"Usage: packs install [path|--inbox] [--force]\",\n \"packs.installInbox\": \"install inbox: installed={installed} skipped={skipped} failed={failed}\",\n \"packs.scanResult\": \"scan: installed={installed} skipped={skipped} failed={failed}\",\n \"packs.unknownSub\": \"Unknown packs subcommand: {verb}\\n\",\n \"packs.usage.title\": \"{cmd} (alias {alias}) \u2014 world-side BP/RP\",\n \"packs.usage.bump\": \"RP only; patch version +1\",\n \"packs.usage.cfSearch\": \"CurseForge search (API key required)\",\n \"packs.usage.inbox\": \"Inbox: {path}\",\n \"packs.usage.trash\": \"Uninstall recycle bin: {path} (pack-update.json \u2192 uninstall.recycleBin)\",\n \"packs.usage.sources\": \"Update source bindings: {path} (edit enabled/projectId)\",\n \"packs.usage.enableNote\": \"Install enables via world_*_packs.json by default; {hint}.\",\n \"packs.usage.moduleNote\": \"For module aggregation use {cmd} (not this command).\",\n\n \"packUpdate.needKey\":\n \"No pack update provider configured. Set providers.*.apiKey in {path} (or the matching env var). CurseForge: get a Studios key from https://console.curseforge.com/ \u2192 providers.curseforge.apiKey / CURSEFORGE_API_KEY (not the Upload API UUID token)\",\n \"packUpdate.probeNoName\": \"Cannot derive a searchable name from header/folder\",\n \"packUpdate.probeQueries\": \"Probe sources header={header} folder={folder}\\n \u2192 {queries}\",\n \"packUpdate.probeFail\": \"Source probe failed: {message}\",\n \"packUpdate.probeMiss\": \"No CurseForge match for: {name}\",\n \"packUpdate.probeLowScore\": \"Low similarity: {name} \u2192 {hit} ({score}) {url}\",\n \"packUpdate.probeHit\": \"Possible update source: {name} \u2192 {hit} ({score})\\n {url}\",\n \"packUpdate.editHint\": \"You can later edit {path} to change/disable sources (enabled: false)\",\n \"packUpdate.confirmBind\": \"Bind this CurseForge project as update source? {hit}\",\n \"packUpdate.probeAutoBind\": \"Non-interactive: auto-binding \u2192 {provider}:{slug}\\n {path}\",\n \"packUpdate.probeNoAutoBind\": \"Non-interactive: not auto-binding; use packs bind\",\n \"packUpdate.bindSkipped\": \"Bind skipped\",\n \"packUpdate.bindOk\": \"Bound {uuid} \u2192 {provider}:{slug} [{enabled}]\\n file: {path}\",\n \"packUpdate.bindBpOnly\": \"Only behavior packs (BP) can be bound\",\n \"packUpdate.resolveFail\": \"Cannot resolve CurseForge project: {ref}\",\n \"packUpdate.searchEmpty\": \"No CurseForge results: {query}\",\n \"packUpdate.sourcesHeader\": \"config: {config}\\nbindings: {sources}\",\n \"packUpdate.sourcesEmpty\": \"No bindings yet. Install a BP to probe, or packs bind.\",\n \"packUpdate.disabled\": \"pack-update disabled in config\",\n \"packUpdate.bindingDisabled\": \"binding disabled (enabled: false)\",\n \"packUpdate.noRemoteFile\": \"No remote file available\",\n \"packUpdate.fileNewer\": \"Newer remote file: {file} (id={id})\",\n \"packUpdate.upToDate\": \"up to date\",\n \"packUpdate.needSync\": \"Remote file not yet synced into world (version {local} \u2261 {remote}, fileId={id})\",\n \"packUpdate.remoteNoBp\": \"No behavior pack in remote archive\",\n \"packUpdate.bpNewer\": \"BP update {local} \u2192 {remote}\",\n \"packUpdate.installFail\": \"Install failed: {reason}\",\n \"packUpdate.installedBp\": \"Wrote BP \u2192 {dir} (v{version})\",\n \"packUpdate.installedRp\": \"Wrote RP \u2192 {dir} (v{version})\",\n \"packUpdate.rpInstallMiss\":\n \"Archive has RP but paired resource pack was not installed (check dependencies / pairedResourceUuid)\",\n \"packUpdate.applied\": \"Updated {name} BP={bp} RP={rp}\",\n \"packUpdate.noBinding\": \"No update binding for: {id}\",\n \"packUpdate.startupFail\": \"Startup update check failed: {message}\",\n} as const;\n\nexport type MessageKey = keyof typeof en;\n"],
|
|
5
|
-
"mappings": "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",
|
|
4
|
+
"sourcesContent": ["/**\n * English message catalog \u2014 source of truth for MessageKey.\n * Placeholders use {name} form; chalk stays at call sites.\n */\nexport const en = {\n /* \u2500\u2500\u2500 common \u2500\u2500\u2500 */\n \"common.cancelled\": \"Cancelled\",\n \"common.done\": \"Done\",\n \"common.required\": \"Required\",\n \"common.error\": \"Error: {message}\",\n \"common.fatal\": \"Fatal\",\n \"common.unknownCommand\": \"Unknown command: {cmd}\",\n \"common.unknownShort\": \"Unknown: {cmd} (try: help)\",\n \"common.tips\": \"Tips\",\n \"common.path\": \"Path\",\n \"common.hint\": \"Hint\",\n \"common.none\": \"(none)\",\n \"common.all\": \"ALL\",\n\n /* \u2500\u2500\u2500 locale \u2500\u2500\u2500 */\n \"locale.current\": \"Current locale: {locale}\",\n \"locale.set\": \"Locale set to {locale}\",\n \"locale.invalid\": \"Unknown locale: {value} (try: zh-CN, en)\",\n \"locale.usage\": \"Usage: locale [zh-CN|en|zh|cn]\",\n \"locale.wizard\": \"CLI language / \u754C\u9762\u8BED\u8A00\",\n \"locale.opt.zh\": \"\u7B80\u4F53\u4E2D\u6587\",\n \"locale.opt.en\": \"English\",\n\n /* \u2500\u2500\u2500 CLI channel gates \u2500\u2500\u2500 */\n \"cli.replOnly\": \"Command `{cmd}` is REPL-only.\",\n \"cli.replOnly.hint\": \"Start the interactive CLI with `sfmc` (no args), then run it there.\",\n \"cli.needTty\": \"Command `{cmd}` requires an interactive TTY.\",\n\n /* \u2500\u2500\u2500 debug (BDS config) \u2500\u2500\u2500 */\n \"debug.state.on\": \"ON\",\n \"debug.state.off\": \"OFF\",\n \"debug.statusTitle\": \"BDS debug config\",\n \"debug.enabled\": \"sfmc_debug = true (BDS console debug logs enabled on next reload)\",\n \"debug.disabled\": \"sfmc_debug = false (BDS console debug logs disabled on next reload)\",\n \"debug.sentry.set\": \"SENTRY_DSN set: {dsn}\",\n \"debug.sentry.removed\": \"SENTRY_DSN removed\",\n \"debug.sentry.alreadyOff\": \"SENTRY_DSN already absent\",\n \"debug.sentry.dsnMissing\": \"--dsn <value> required\",\n \"debug.sentry.unknown\": \"Unknown sentry action: {action}\",\n \"debug.sentry.usage\": \"Usage: debug sentry on --dsn <dsn> | debug sentry off\",\n \"debug.unknown\": \"Unknown debug subcommand: {sub}\",\n \"debug.usage\": \"Usage: debug status | enable | disable | sentry on --dsn | sentry off\",\n \"debug.reloadHint\": \"Run `sfmc mod reload` or restart BDS to take effect.\",\n\n /* \u2500\u2500\u2500 help \u2500\u2500\u2500 */\n \"help.title\": \"sfmc \u2014 ScriptsForMinecraftServer CLI\",\n \"help.title.repl\": \"sfmc REPL\",\n \"help.usage\": \"Usage:\",\n \"help.section.options\": \"Options\",\n \"help.opt.packs\": \"Pack context, then packs subcommand; i = install\",\n \"help.opt.lang\": \"UI language for this process\",\n \"help.addon.compat\": \"Compat: -p/--packs flag (prefer `sfmc packs \u2026`)\",\n \"help.slash.hint\": \"Lines starting with / list commands. Tab switches send target.\",\n \"help.shortcut.slash\": \"Command list\",\n \"help.shortcut.ctrlp\": \"Command list\",\n \"help.shortcut.cursor\": \"Move cursor\",\n \"repl.palette.hint\": \"\u2191\u2193 \u00B7 Enter \u00B7 Esc\",\n \"repl.palette.empty\": \"No matches\",\n \"help.section.service\": \"\u2500\u2500\u2500 Service Control \u2500\u2500\u2500\",\n \"help.status\": \"Show all services status (includes QQ backend summary)\",\n \"help.logs\": \"Open log filter window (on-disk logs)\",\n \"help.start\": \"Start a service (db / qq / llbot / bds; qq defaults to official Bot)\",\n \"help.stop\": \"Stop a service\",\n \"help.restart\": \"Restart a service\",\n \"help.send\": \"Send command to a service (Tab cycles targets; QQ prompt shows official / llbot)\",\n \"help.section.update\": \"\u2500\u2500\u2500 BDS Update \u2500\u2500\u2500\",\n \"help.update\": \"Check / apply BDS update\",\n \"help.update.checkOnly\": \"Check for an update without downloading\",\n \"help.update.force\": \"Force update even when versions match\",\n \"help.update.noStart\": \"Do not start BDS after the update\",\n \"help.update.channelRelease\": \"Use the release channel\",\n \"help.update.channelPreview\": \"Use the preview channel\",\n \"help.section.debug\": \"\u2500\u2500\u2500 BDS debug \u2500\u2500\u2500\",\n \"help.debug.status\": \"View sfmc_debug / SENTRY_DSN state\",\n \"help.debug.toggle\": \"Toggle sfmc_debug\",\n \"help.debug.sentry.on\": \"Set SENTRY_DSN\",\n \"help.debug.sentry.off\": \"Remove SENTRY_DSN\",\n \"help.debug.sentry\": \"Configure Sentry DSN\",\n \"help.ui\": \"UI Studio \u2014 visual editor for declarative UI\",\n \"help.ui.studio\": \"Start UI Studio and open the browser\",\n \"help.ui.stop\": \"Stop UI Studio in this process\",\n \"ui.usage\": \"Usage: ui studio | ui stop\",\n \"ui.studio.started\": \"UI Studio started: {url}\",\n \"ui.studio.hint\": \"Press Ctrl+C to stop the server.\",\n \"ui.studio.already\": \"UI Studio is already running: {url}\",\n \"ui.studio.stopped\": \"UI Studio stopped.\",\n \"ui.studio.notRunning\": \"UI Studio is not running in this process.\",\n \"ui.studio.failed\": \"Failed to start UI Studio: {message}\",\n \"help.section.module\": \"\u2500\u2500\u2500 Module Management \u2500\u2500\u2500\",\n \"help.module.list\": \"List installed modules\",\n \"help.module.search\": \"Search registry / show module info\",\n \"help.module.submit\": \"Preview or submit a module registry PR\",\n \"help.module.install\": \"Install a module\",\n \"help.module.uninstall\": \"Remove installed module\",\n \"help.module.verify\": \"Verify SHA-256 integrity\",\n \"help.module.info\": \"Show module details\",\n \"help.module.toggle\": \"Toggle module\",\n \"help.module.update\": \"Check and update installed modules\",\n \"help.module.pin\": \"Turn module auto-update on or off\",\n \"help.module.build\": \"Build BP+RP from enabled modules\",\n \"help.module.reload\": \"Build + deploy BP; send reload to BDS\",\n \"help.section.addon\": \"\u2500\u2500\u2500 Addon Manager \u2500\u2500\u2500\",\n \"help.addon\": \"World BP/RP inbox manager\",\n \"help.packs.list\": \"List world packs\",\n \"help.packs.search\": \"Search pack sources\",\n \"help.packs.enable\": \"Enable a pack\",\n \"help.packs.disable\": \"Disable a pack\",\n \"help.packs.doctor\": \"Diagnose pack wiring\",\n \"help.packs.doctor.fix\": \"Heal wiring and grant missing Beta APIs\",\n \"help.packs.doctor.allExperiments\": \"Enable all known experimental gameplay\",\n \"help.packs.doctor.experiments\": \"Show experiment toggles only\",\n \"help.packs.doctor.experimentsList\":\n \"Enable by alias, comma-separated: beta, upcoming, cameras, voxel, villager, drop3, edu\",\n \"help.packs.path\": \"Show pack paths\",\n \"help.section.general\": \"\u2500\u2500\u2500 General \u2500\u2500\u2500\",\n \"help.init\": \"Setup wizard\",\n \"help.locale\": \"Show / set CLI language\",\n \"help.version\": \"Show version\",\n \"help.help\": \"Show this help\",\n \"help.quit\": \"Exit CLI (services keep running)\",\n \"help.shortcuts\": \"Shortcuts:\",\n \"help.shortcut.tab\": \"Send target / list select\",\n \"help.shortcut.right\": \"Accept suggestion\",\n \"help.shortcut.ctrll\": \"Filter log level / source / history\",\n \"help.shortcut.history\": \"Command history\",\n\n /* \u2500\u2500\u2500 repl \u2500\u2500\u2500 */\n \"repl.stopping\": \"stopping services...\",\n \"repl.detach\": \"CLI detached (services keep running; use stop / daemon stop to halt)\",\n \"repl.bye\": \"bye\",\n \"repl.forceStop\": \"force stopping services...\",\n \"repl.nonInteractive\": \" Non-interactive mode (pipe detected)\\n\",\n \"repl.historyHeader\": \"\u2500\u2500 history {count} line(s) \u2500\u2500\",\n \"repl.filter\": \"filter: {level} / {source} / {history}\",\n \"repl.followRequiresTty\": \"follow mode requires TTY\",\n \"repl.logsReplOnly\": \"logs is only available in the interactive REPL (opens filter window)\",\n \"repl.history.live\": \"live only (no replay)\",\n \"repl.history.last50\": \"last 50\",\n \"repl.history.last100\": \"last 100\",\n \"repl.history.last500\": \"last 500\",\n \"repl.history.last1000\": \"last 1000\",\n \"repl.history.last1min\": \"last 1 min\",\n \"repl.history.last5min\": \"last 5 min\",\n \"repl.history.last15min\": \"last 15 min\",\n \"repl.history.last1hour\": \"last 1 hour\",\n \"repl.history.all\": \"all buffered\",\n\n /* \u2500\u2500\u2500 daemon \u2500\u2500\u2500 */\n \"daemon.stopped\": \"daemon stopped\",\n \"daemon.notRunning\": \"daemon is not running\",\n \"daemon.running\": \"daemon running (PID {pid})\",\n \"daemon.usage\": \"usage: daemon [status|stop]\",\n \"daemon.connectFailed\": \"failed to connect daemon: {message}\",\n \"help.daemon\": \"Show/stop background daemon\",\n \"help.daemon.status\": \"Show whether the daemon is running\",\n \"help.daemon.stop\": \"Stop the background daemon\",\n \"palette.asIs\": \"run\",\n \"palette.fixOnly\": \"fix only\",\n \"palette.localeCurrent\": \"current\",\n\n /* \u2500\u2500\u2500 services / commands \u2500\u2500\u2500 */\n \"svc.header\": \"Services\",\n \"svc.col.name\": \"Name\",\n \"svc.col.status\": \"Status\",\n \"svc.col.owner\": \"Owner\",\n \"svc.col.pid\": \"PID\",\n \"svc.col.uptime\": \"Uptime\",\n \"svc.state.running\": \"Running\",\n \"svc.state.stopped\": \"Stopped\",\n \"svc.owner.managed\": \"Managed\",\n \"svc.owner.external\": \"External\",\n \"svc.owner.none\": \"\u2014\",\n \"svc.running\": \"Running\",\n \"svc.runningExternal\": \"Running (external)\",\n \"svc.stopped\": \"Stopped\",\n \"svc.unknown\": \"Unknown service: {name} (try: {list})\",\n \"svc.logs.usage\": \"Usage: logs <service> [-n N] [-f]\",\n \"svc.logs.empty\": \"(no logs yet)\",\n \"svc.logs.header\": \"{title} logs (last {count}):\",\n \"svc.start.usage\": \"Usage: sfmc start <service>|-all\",\n \"svc.start.usageShort\": \"Usage: start <service>|-all\",\n \"svc.stop.usage\": \"Usage: sfmc stop <service>|-all\",\n \"svc.stop.usageShort\": \"Usage: stop <service>|-all\",\n \"svc.restart.usage\": \"Usage: sfmc restart <service>|-all\",\n \"svc.restart.usageShort\": \"Usage: restart <service>|-all\",\n \"svc.alreadyRunning\": \"{title} already running (PID {pid})\",\n \"svc.alreadyStarting\": \"{title} already starting...\",\n \"svc.started\": \"{title} started\",\n \"svc.startFailed\": \"{title} failed: {message}\",\n \"svc.alreadyStopped\": \"{title} already stopped\",\n \"svc.alreadyStopping\": \"{title} already stopping...\",\n \"svc.stoppedMsg\": \"{title} stopped\",\n \"svc.stopFailed\": \"{title} stop failed: {message}\",\n \"svc.send.usage\": \"Usage: send <service> <message>\",\n \"svc.notRunning\": \"{title} not running\",\n \"svc.writeFailed\": \"write failed\",\n \"svc.restarted\": \"{title} restarted\",\n \"svc.restartFailed\": \"{title} restart failed: {message}\",\n \"svc.allStarted\": \"All services started\",\n \"svc.allStopped\": \"All services stopped\",\n \"svc.skipped\": \"{title} skipped: {reason}\",\n \"svc.startAll.started\": \"Started: {list}\",\n \"svc.startAll.skipped\": \"Skipped: {list}\",\n \"svc.startAll.failed\": \"Failed: {list}\",\n \"svc.startAll.empty\": \"Nothing to start\",\n \"svc.updateComplete\": \"update complete\",\n \"svc.updateExited\": \"update exited with code {code}\",\n \"svc.updateError\": \"update error: {message}\",\n \"svc.updateStartBds\": \"update: starting BDS via supervisor\",\n \"svc.bdsStarted\": \"BDS started (supervised)\",\n \"svc.bdsStartFailed\": \"BDS start failed: {message}\",\n \"svc.bdsStoppedForUpdate\": \"BDS was stopped for update; run `start bds` when ready\",\n \"svc.bdsAlreadyRunning\": \"BDS already running ({kind}, PID {pid})\",\n \"svc.stdinUnavailable\": \"{title} was started externally; stdin commands unavailable\",\n \"svc.stoppedExternal\": \"{title} stopped (external process)\",\n\n /* \u2500\u2500\u2500 wizard \u2500\u2500\u2500 */\n \"wizard.intro\": \"Setup Wizard =D\",\n \"wizard.rerun\": \"Already initialized. Re-run setup?\",\n \"wizard.skipped\": \"Setup skipped\",\n \"wizard.step1\": \"Step 1 - Runtime Environment\",\n \"wizard.runtimeRoot\": \"Runtime root: {root}\",\n \"wizard.runtimeMissingAssets\": \"Runtime is missing required directories: {list}\",\n \"wizard.prepFailed\": \"Runtime preparation failed: {message}\",\n \"wizard.step2\": \"Step 2 - External Runtimes\",\n \"wizard.step2Note\": \"Confirm the BDS directory first. Database, backups, and QQ can stay on defaults.\",\n \"wizard.bdsDir\": \"BDS installation directory\",\n \"wizard.cannotCreateBds\": \"Cannot create BDS installation directory: {dir}\",\n \"wizard.qqBackend\": \"QQ bridge backend:\",\n \"wizard.qqBackend.official\": \"QQ Open Platform (official Bot)\",\n \"wizard.qqBackend.officialHint\": \"Needs AppID / AppSecret; can be set later\",\n \"wizard.qqBackend.llbot\": \"LLBot (OneBot 11)\",\n \"wizard.qqBackend.llbotHint\": \"Requires local LLBot process\",\n \"wizard.qqBackend.disabled\": \"Disable QQ bridge for now\",\n \"wizard.qqBackend.disabledHint\": \"qq_enabled=false\",\n \"wizard.qqAppId\": \"QQ Open Platform AppID:\",\n \"wizard.qqAppSecret\": \"QQ Open Platform AppSecret:\",\n \"wizard.qqSandbox\": \"Use sandbox environment?\",\n \"wizard.qqGroupOpenid\": \"Group openid (optional for now):\",\n \"wizard.qqGroupOpenidHint\": \"not a classic group number\",\n \"wizard.enableLlbot\": \"Enable LLBot process takeover?\",\n \"wizard.llbotDir\": \"LLBot runtime directory\",\n \"wizard.usingDefault\": \"Using default: {path}\",\n \"wizard.dbDir\": \"Database storage directory\",\n \"wizard.dbPort\": \"Database server port:\",\n \"wizard.portRange\": \"Enter 1024\u201365535\",\n \"wizard.valueRequired\": \"Value is required!\",\n \"wizard.step3\": \"Step 3 - BDS Environment\",\n \"wizard.bdsFound\": \"Found at {path}\",\n \"wizard.bdsNotFound\": \"Not found at {path}\",\n \"wizard.eula\":\n \"Do you agree to the EULA(https://www.minecraft.net/en-us/eula) published by Mojang? You must agree to it before you can use this program.\",\n \"wizard.disagreed\": \"Disagreed.\",\n \"wizard.downloadBds\": \"Download BDS now?\",\n \"wizard.selectChannel\": \"Select channel:\",\n \"wizard.channel.release\": \"Release\",\n \"wizard.channel.releaseHint\": \"stable\",\n \"wizard.channel.preview\": \"Preview\",\n \"wizard.channel.previewHint\": \"may be unstable\",\n \"wizard.cannotCreateBackup\": \"Cannot create BDS backup directory: {dir}\",\n \"wizard.backupDir\": \"BDS backup directory\",\n \"wizard.preserve\": \"Files to preserve on update(When updates are enabled next time):\",\n \"wizard.preserve.serverProps\": \"server config\",\n \"wizard.preserve.worlds\": \"world data\",\n \"wizard.preserve.config\": \"config directory\",\n \"wizard.updaterTip\":\n \"If could not find BDS runtime, updater will be started later.\\n You can configure updater later in configs/bds_updater.json\",\n \"wizard.step4\": \"Step 4 - Modules\",\n \"wizard.modulesFound\": \"Found {count} optional modules\",\n \"wizard.modulesNone\": \"No modules installed yet.\",\n \"wizard.useDefaults\": \"Use the default database, backup directory, and update preserve list?\",\n \"wizard.defaultsApplied\": \"Database {db} (port {port}), backup {backup}.\",\n \"wizard.installFromRegistry\": \"Install from the official index (optional):\",\n \"wizard.registryLoading\": \"Reading the official module index\",\n \"wizard.registryOffline\": \"Official index is unavailable. Install later with `mod install <id>`.\",\n \"wizard.enableModules\": \"Enable modules:\",\n \"wizard.emptyHint\": \"(empty)\",\n \"wizard.updatingConfigs\": \"Updating configs\",\n \"wizard.configsUpdated\": \"Configs updated\",\n \"wizard.updatingModules\": \"Updating module state\",\n \"wizard.modulesUpdated\": \"Module state updated\",\n \"wizard.initDb\": \"Initializing database\",\n \"wizard.dbTimeout\": \"Database startup timed out\",\n \"wizard.dbOk\": \"Database initialized\",\n \"wizard.downloadingBds\": \"Downloading BDS\",\n \"wizard.downloadFail\": \"Downloaded Failure.\",\n \"wizard.bdsDownloaded\": \"BDS downloaded\",\n \"wizard.done\": \"Done! Run help to learn managing.\",\n \"wizard.installing\": \"Installing {count} module(s) from first-party registry\",\n \"wizard.installed\": \"{count} installed\",\n \"wizard.installFailed\": \"install failed: {message}\\nYou can retry with: sfmc mod install <id>\",\n \"wizard.fetchMissing\": \"fetch-module missing \u2014 run `sfmc mod install <id>` later for each of: {list}\",\n \"wizard.noModulesSelected\":\n \"No modules selected \u2014 behavior pack will be empty until you install one with `sfmc mod install <id>`.\",\n \"wizard.buildingBp\": \"Building behavior pack\",\n \"wizard.buildFailed\": \"build failed: {message}\\nRun `sfmc mod build` later to retry.\",\n \"wizard.deploying\": \"Deploying to {path}\",\n \"wizard.restartBds\": \"Restart BDS to load the new behavior pack.\",\n \"wizard.deployFailed\": \"deploy failed: {message}\\nRun `sfmc mod reload` after fixing bds_path in configs/.\",\n\n /* \u2500\u2500\u2500 prompts \u2500\u2500\u2500 */\n \"prompt.useDefault\": \"Use this path\",\n \"prompt.enterPath\": \"Enter path\",\n \"prompt.browse\": \"Browse\u2026\",\n \"prompt.browseHint\": \"Open system folder picker\",\n \"prompt.browseUnavailable\": \"system picker unavailable; enter path manually\",\n\n /* \u2500\u2500\u2500 reload \u2500\u2500\u2500 */\n \"reload.buildOnly\": \"(deploy done; type reload in BDS/game, or omit --build-only to send automatically)\",\n \"reload.bdsNotRunning\":\n \"BDS is not running \u2014 build+deploy finished. After start, type reload in BDS console or in-game.\",\n \"reload.sent\": \"Sent reload to BDS\",\n\n /* \u2500\u2500\u2500 bp \u2500\u2500\u2500 */\n \"bp.usage\": \"Usage: sfmc behavior-pack|bp <build|deploy>\",\n /* \u2500\u2500\u2500 module commands \u2500\u2500\u2500 */\n \"mod.usage\": \"Usage: sfmc {cmds} <{subs}> [args]\",\n \"mod.list.title\": \"Installed modules\",\n \"mod.noneInstalled\": \"\\nNo modules installed. Drop a module folder under {dir} or run `sfmc mod install <id>`.\\n\",\n \"mod.notInRegistry\": 'Module \"{query}\" not found in first-party registry.',\n \"mod.info.usage\": \"Usage: mod info <id>\",\n \"mod.notInstalledAt\": \"Module {id} not installed at {path}\",\n \"mod.notInstalled\": \"Module {id} not installed\",\n \"mod.verifyOk\": \"{id} ok\\n fingerprint: {fp}\\n\",\n \"mod.dbUnreachable\": \"Cannot reach db-server at {url}: {message}. Is db-service running? (sfmc> start db)\",\n \"mod.toggleFailed\": \"{action} {id} failed: {err}\",\n \"mod.action.enabled\": \"enabled\",\n \"mod.action.disabled\": \"disabled\",\n \"mod.toggleOk\": \"{label} {id}\",\n \"mod.toggleBadBody\": \"{action} {id} returned: {text}\",\n \"mod.cannotDisable\": \"Module {id} cannot be disabled (canDisable=false)\",\n \"mod.toggleLockFailed\": \"Failed to write module-lock ({id}): {message}\",\n \"mod.toggleDbSkipped\":\n \"Wrote module-lock; db-server not synced ({detail}). Memory state updates on next start db; in-game still needs mod reload / BDS restart.\",\n \"mod.enable.usage\": \"Usage: mod enable <id>\",\n \"mod.disable.usage\": \"Usage: mod disable <id>\",\n \"mod.install.usage\": \"Usage: mod install <id>\\n mod install <id> --from <source> [--link] [--sha256 <hex>]\",\n \"mod.fromUnknown\": \"unknown --from source: {value}. Use npm:|local[:<path>]|tgz:|zip:|dir:|github:<repo>[@tag]\",\n \"mod.fetchMissing\": \"fetch-module not found. Install @sfmc-bds/sfmc or run inside the monorepo.\",\n \"mod.uninstall.usage\": \"Usage: mod uninstall <id>\",\n \"mod.notInstalledFolder\": \"Module {id} not installed (no folder at {path})\",\n \"mod.removed\": \"Removed {id} from {path}\\n\",\n \"mod.update.usage\": \"Usage: mod update [id...] [--check] [--yes] [--allow-major]\",\n \"mod.update.disabled\": \"Module auto-update is disabled (configs/module-update.json).\",\n \"mod.update.checkOff\": \"Module updates only happen when the update command is executed.\",\n \"mod.update.none\": \"No module updates.\",\n \"mod.update.upgrade\": \"{id} {from} -> {to}\",\n \"mod.update.confirm\": \"Update {count} module(s)?\",\n \"mod.update.cancelled\": \"Module update cancelled.\",\n \"mod.update.needYes\": \"Pass --yes to apply module updates without a prompt.\",\n \"mod.update.applied\": \"Updated {id} {from} -> {to}\",\n \"mod.update.failed\": \"Failed {id}: {message}\",\n \"mod.update.reloadHint\": \"Run mod reload, or restart BDS, to load the updated modules.\",\n \"mod.update.reason.autoOff\": \"auto-update off\",\n \"mod.update.reason.localSource\": \"local link or directory\",\n \"mod.update.reason.registryOffline\": \"module index offline\",\n \"mod.update.reason.noTarget\": \"no target version\",\n \"mod.update.reason.noInstalledVersion\": \"installed version unknown\",\n \"mod.update.reason.upToDate\": \"up to date\",\n \"mod.update.reason.installedNewer\": \"installed version is newer\",\n \"mod.update.reason.major\": \"major update skipped\",\n \"mod.update.reason.sdk\": \"SDK range not satisfied\",\n \"mod.update.reason.dependencyFailed\": \"dependency update failed\",\n \"mod.update.reason.githubManual\": \"GitHub source stays manual\",\n \"mod.update.reason.missingModule\": \"not installed\",\n \"mod.update.reason.missingDependency\": \"required module is not installed\",\n \"mod.update.reason.badVersion\": \"version is not semver\",\n \"mod.update.reason.retired\": \"included in the platform\",\n \"mod.pin.usage\": \"Usage: mod pin <id> --auto on|off\",\n \"mod.pin.ok\": \"{id} auto-update {state}\",\n \"mod.pin.on\": \"on\",\n \"mod.pin.off\": \"off\",\n \"mod.pin.locked\": \"{id} is a local link, directory, or GitHub source and cannot auto-update.\",\n \"mod.pin.missing\": \"Module {id} is not installed.\",\n\n /* \u2500\u2500\u2500 pack lifecycle \u2500\u2500\u2500 */\n \"pack.built\": \"built packs at {path}\",\n \"pack.buildFailed\": \"pack build failed: {message}\",\n \"pack.deployed\": \"deployed packs\",\n \"pack.deployFailed\": \"pack deploy failed: {message}\",\n \"pack.statusFailed\": \"pack status failed: {message}\",\n \"pack.listFailed\": \"pack list failed: {message}\",\n \"pack.noCatalog\": \"no deployed catalog \u2014 run `sfmc pack deploy` first\",\n \"pack.noUuid\": \"no {kind} pack uuid in catalog\",\n \"pack.actionFailed\": \"{action} failed: {detail}\",\n \"pack.enabledOk\": \"enabled {kind} pack {uuid}\",\n \"pack.disabledOk\": \"disabled {kind} pack {uuid}\",\n \"pack.actionErr\": \"pack {action} failed: {message}\",\n \"pack.usage\": \"Usage: sfmc pack <{subs}> [behavior|resource]\",\n\n /* \u2500\u2500\u2500 world packs / addon \u2500\u2500\u2500 */\n \"packs.restartHint\": \"Restart BDS for changes to take effect\",\n \"packs.rejoinHint\": \"Clients must rejoin to download resource packs\",\n \"packs.conflict\": \"Conflict detected:\",\n \"packs.conflict.existing\": \" Existing: {name} v{version} {uuid}\\n {dir}\",\n \"packs.conflict.incoming\": \" Incoming: {name} v{version} {uuid}\",\n \"packs.overwriteAsk\": \"Overwrite existing pack (same UUID, version not newer)?\",\n \"packs.badManifest\": \"Unrecognized manifest (need resources/data/script module and header name/uuid/version)\",\n \"packs.skippedNoOverwrite\": \"Skipped (not overwritten)\",\n \"packs.conflictSkip\": \" Conflict skipped (non-interactive; use --force): {name}\",\n \"packs.inboxSkip\": \" Skipping inbox: {message}\",\n \"packs.inboxFound\": \" Inbox found {count} item(s) \u2192 {level}\",\n \"packs.alreadyDone\": \" Already processed, skip: {name}\",\n \"packs.dryRunExtract\": \" dry-run extract: {name}\",\n \"packs.noPackRoot\": \" Pack root not found: {name}\",\n \"packs.installedEnabled\": \" Installed & enabled {kind}: {name} v{version}\",\n \"packs.installFailed\": \" Install failed {name}: {reason}\",\n \"packs.listEmpty\": \"(none)\",\n \"packs.list.bpHeader\": \"Behavior packs:\",\n \"packs.list.rpHeader\": \"Resource packs:\",\n \"packs.list.on\": \"on \",\n \"packs.list.off\": \"off\",\n \"packs.doctor.parseFail\": \"{file} could not be parsed\",\n \"packs.doctor.missingDir\": \"List has uuid but directory missing ({kind}): {uuid}\",\n \"packs.doctor.versionMismatch\": \"Version mismatch ({kind}): {folder} list {listVer} vs disk {diskVer}\",\n \"packs.doctor.notEnabled\": \"Installed but not enabled: [{kind}] {folder} ({uuid})\",\n \"packs.doctor.betaApisMissing\":\n 'World \"{level}\" has not enabled \"Beta APIs (gametest)\", but required by:\\n{packs}\\n These packs will be blocked by BDS! Run packs doctor --fix to enable.',\n \"packs.doctor.betaApisFixed\":\n 'Successfully enabled \"Beta APIs\" (gametest = 1b) for world \"{level}\", backup created at: {backup}',\n \"packs.doctor.betaApisAlreadyOn\": 'Beta APIs is already enabled for world \"{level}\"',\n \"packs.doctor.betaApisFailed\": 'Failed to enable Beta APIs for world \"{level}\": {error}',\n \"packs.doctor.ghostPackCleaned\": \"Cleaned missing pack entry ({kind}): {uuid}\",\n \"packs.doctor.versionSynced\": \"Synced version ({kind}): {folder} list {listVer} \u2192 disk {diskVer}\",\n \"packs.doctor.permissionsMissing\":\n \"The following behavior packs depend on modules not allowed in BDS config:\\n{list}\\n Unconfigured modules will be blocked at runtime by BDS! Run packs doctor --fix to allow them.\",\n \"packs.doctor.permissionsFixed\": \"Automatically allowed script modules: {perms}\",\n \"packs.doctor.fixedSummary\": \"doctor: auto-healed {count} issue(s).\",\n \"packs.doctor.fixPrompt\": 'Run \"packs doctor --fix\" to automatically heal fixable issues.',\n \"packs.doctor.experimentsStatus\": 'World Experiments Status (World \"{level}\"):',\n \"packs.doctor.experimentsFixed\":\n 'Successfully enabled experimental features ({list}) for world \"{level}\", backup created at: {backup}',\n \"packs.doctor.experimentsAlreadyOn\": 'Requested experimental features for world \"{level}\" are already enabled',\n \"packs.doctor.experimentsFailed\": 'Failed to modify experimental features for world \"{level}\": {error}',\n \"packs.doctor.experimentsFixPrompt\":\n 'Run \"packs doctor --fix --all-experiments\" to enable all known experimental features.',\n \"packs.doctor.ok\": \"doctor: no issues found\",\n \"packs.doctor.found\": \"doctor found {count} issue(s):\\n{list}\",\n \"packs.notFound\": \"Pack not found: {id}\",\n \"packs.toggleDone\": \"{verb} {folder} done. {hint}\",\n \"packs.bump.usage\": \"Usage: packs bump <uuid|folder> (RP only)\",\n \"packs.bump.rpOnly\": \"packs bump only supports resource packs (RP)\",\n \"packs.bumped\": \"Bumped {folder} \u2192 v{version}. {restart}; {rejoin}\",\n \"packs.pathMissing\": \"Path does not exist: {path}\",\n \"packs.notArchive\": \"Not a pack directory or .zip/.mcpack/.mcaddon\",\n \"packs.noManifestRoot\": \"No pack root with manifest.json found\",\n \"packs.installedLine\": \"Installed & enabled: {name} v{version} ({kind})\",\n \"packs.skipFailLine\": \"Skipped/failed: {name} ({reason})\",\n \"packs.inboxEmpty\": \"Inbox is empty\",\n \"packs.search.usage\": \"Usage: packs search <query> (CurseForge remote; requires API key)\",\n \"packs.bind.usage\": \"Usage: packs bind <uuid|folder> <projectId|slug|url>\",\n \"packs.unbind.usage\": \"Usage: packs unbind <uuid|folder>\",\n \"packs.unbindOk\": \"Unbound {uuid} (or edit {path})\",\n \"packs.unbindMiss\": \"No binding found: {id}\",\n \"packs.update.usage\": \"Usage: packs update <uuid|folder|--all>\",\n \"packs.toggle.usage\": \"Usage: packs {verb} <uuid|folder>\",\n \"packs.uninstall.usage\":\n \"Usage: packs uninstall [uuid|folder...] [--purge] [--no-paired]\\n No args + TTY \u2192 multi-select; multiple ids allowed\",\n \"packs.uninstall.protected\": \"Refusing to uninstall platform pack: {folder} (use sfmc mod)\",\n \"packs.uninstall.trashed\": \"Uninstalled to recycle bin: {folder}\\n \u2192 {dest}\",\n \"packs.uninstall.deleted\": \"Uninstalled and deleted: {folder}\",\n \"packs.uninstall.dirMissing\": \"Removed from enable list; directory already missing: {folder}\",\n \"packs.uninstall.bindingRemoved\": \"Cleared update-source binding: {uuid}\",\n \"packs.uninstall.pick\": \"Select packs to uninstall (space to toggle, enter to confirm)\",\n \"packs.uninstall.summary\": \"Will uninstall {count} item(s) (including paired RPs):\",\n \"packs.uninstall.confirm\": \"Uninstall these {count} item(s)?\",\n \"packs.uninstall.cancelled\": \"Uninstall cancelled\",\n \"packs.uninstall.none\": \"No uninstallable packs\",\n \"packs.uninstall.pairedOf\": \"(paired with {folder})\",\n \"packs.install.usage\": \"Usage: packs install [path|--inbox] [--force]\",\n \"packs.installInbox\": \"install inbox: installed={installed} skipped={skipped} failed={failed}\",\n \"packs.scanResult\": \"scan: installed={installed} skipped={skipped} failed={failed}\",\n \"packs.unknownSub\": \"Unknown packs subcommand: {verb}\\n\",\n \"packs.usage.title\": \"{cmd} (alias {alias}) \u2014 world-side BP/RP\",\n \"packs.usage.bump\": \"RP only; patch version +1\",\n \"packs.usage.cfSearch\": \"CurseForge search (API key required)\",\n \"packs.usage.inbox\": \"Inbox: {path}\",\n \"packs.usage.trash\": \"Uninstall recycle bin: {path} (pack-update.json \u2192 uninstall.recycleBin)\",\n \"packs.usage.sources\": \"Update source bindings: {path} (edit enabled/projectId)\",\n \"packs.usage.enableNote\": \"Install enables via world_*_packs.json by default; {hint}.\",\n \"packs.usage.moduleNote\": \"For module aggregation use {cmd} (not this command).\",\n\n \"packUpdate.needKey\":\n \"No pack update provider configured. Set providers.*.apiKey in {path} (or the matching env var). CurseForge: get a Studios key from https://console.curseforge.com/ \u2192 providers.curseforge.apiKey / CURSEFORGE_API_KEY (not the Upload API UUID token)\",\n \"packUpdate.probeNoName\": \"Cannot derive a searchable name from header/folder\",\n \"packUpdate.probeQueries\": \"Probe sources header={header} folder={folder}\\n \u2192 {queries}\",\n \"packUpdate.probeFail\": \"Source probe failed: {message}\",\n \"packUpdate.probeMiss\": \"No CurseForge match for: {name}\",\n \"packUpdate.probeLowScore\": \"Low similarity: {name} \u2192 {hit} ({score}) {url}\",\n \"packUpdate.probeHit\": \"Possible update source: {name} \u2192 {hit} ({score})\\n {url}\",\n \"packUpdate.editHint\": \"You can later edit {path} to change/disable sources (enabled: false)\",\n \"packUpdate.confirmBind\": \"Bind this CurseForge project as update source? {hit}\",\n \"packUpdate.probeAutoBind\": \"Non-interactive: auto-binding \u2192 {provider}:{slug}\\n {path}\",\n \"packUpdate.probeNoAutoBind\": \"Non-interactive: not auto-binding; use packs bind\",\n \"packUpdate.bindSkipped\": \"Bind skipped\",\n \"packUpdate.bindOk\": \"Bound {uuid} \u2192 {provider}:{slug} [{enabled}]\\n file: {path}\",\n \"packUpdate.bindBpOnly\": \"Only behavior packs (BP) can be bound\",\n \"packUpdate.resolveFail\": \"Cannot resolve CurseForge project: {ref}\",\n \"packUpdate.searchEmpty\": \"No CurseForge results: {query}\",\n \"packUpdate.sourcesHeader\": \"config: {config}\\nbindings: {sources}\",\n \"packUpdate.sourcesEmpty\": \"No bindings yet. Install a BP to probe, or packs bind.\",\n \"packUpdate.disabled\": \"pack-update disabled in config\",\n \"packUpdate.bindingDisabled\": \"binding disabled (enabled: false)\",\n \"packUpdate.noRemoteFile\": \"No remote file available\",\n \"packUpdate.fileNewer\": \"Newer remote file: {file} (id={id})\",\n \"packUpdate.upToDate\": \"up to date\",\n \"packUpdate.needSync\": \"Remote file not yet synced into world (version {local} \u2261 {remote}, fileId={id})\",\n \"packUpdate.remoteNoBp\": \"No behavior pack in remote archive\",\n \"packUpdate.bpNewer\": \"BP update {local} \u2192 {remote}\",\n \"packUpdate.installFail\": \"Install failed: {reason}\",\n \"packUpdate.installedBp\": \"Wrote BP \u2192 {dir} (v{version})\",\n \"packUpdate.installedRp\": \"Wrote RP \u2192 {dir} (v{version})\",\n \"packUpdate.rpInstallMiss\":\n \"Archive has RP but paired resource pack was not installed (check dependencies / pairedResourceUuid)\",\n \"packUpdate.applied\": \"Updated {name} BP={bp} RP={rp}\",\n \"packUpdate.noBinding\": \"No update binding for: {id}\",\n \"packUpdate.startupFail\": \"Startup update check failed: {message}\",\n} as const;\n\nexport type MessageKey = keyof typeof en;\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zh-CN.d.ts","sourceRoot":"","sources":["../../../src/i18n/locales/zh-CN.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE1C,yBAAyB;AACzB,eAAO,MAAM,IAAI,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"zh-CN.d.ts","sourceRoot":"","sources":["../../../src/i18n/locales/zh-CN.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE1C,yBAAyB;AACzB,eAAO,MAAM,IAAI,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAsf3C,CAAC"}
|
|
@@ -343,6 +343,7 @@ const zhCN = {
|
|
|
343
343
|
"mod.update.reason.missingModule": "\u672A\u5B89\u88C5",
|
|
344
344
|
"mod.update.reason.missingDependency": "\u4F9D\u8D56\u6A21\u5757\u672A\u5B89\u88C5",
|
|
345
345
|
"mod.update.reason.badVersion": "\u7248\u672C\u53F7\u4E0D\u662F semver",
|
|
346
|
+
"mod.update.reason.retired": "\u5DF2\u6536\u7F16\u81F3\u5E73\u53F0",
|
|
346
347
|
"mod.pin.usage": "\u7528\u6CD5: mod pin <id> --auto on|off",
|
|
347
348
|
"mod.pin.ok": "{id} \u81EA\u52A8\u66F4\u65B0{state}",
|
|
348
349
|
"mod.pin.on": "\u5DF2\u6253\u5F00",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/i18n/locales/zh-CN.ts"],
|
|
4
|
-
"sourcesContent": ["import type { MessageKey } from \"./en.js\";\n\n/** \u7B80\u4F53\u4E2D\u6587\u6587\u6848\uFF1B\u952E\u96C6\u987B\u4E0E en \u4E00\u81F4\u3002 */\nexport const zhCN: Record<MessageKey, string> = {\n \"common.cancelled\": \"\u5DF2\u53D6\u6D88\",\n \"common.done\": \"\u5B8C\u6210\",\n \"common.required\": \"\u5FC5\u586B\",\n \"common.error\": \"\u9519\u8BEF: {message}\",\n \"common.fatal\": \"\u81F4\u547D\u9519\u8BEF\",\n \"common.unknownCommand\": \"\u672A\u77E5\u547D\u4EE4: {cmd}\",\n \"common.unknownShort\": \"\u672A\u77E5: {cmd} \uFF08\u8F93\u5165 help \u67E5\u770B\u5E2E\u52A9\uFF09\",\n \"common.tips\": \"\u63D0\u793A\",\n \"common.path\": \"\u8DEF\u5F84\",\n \"common.hint\": \"\u63D0\u793A\",\n \"common.none\": \"\uFF08\u65E0\uFF09\",\n \"common.all\": \"\u5168\u90E8\",\n\n \"locale.current\": \"\u5F53\u524D\u8BED\u8A00: {locale}\",\n \"locale.set\": \"\u8BED\u8A00\u5DF2\u8BBE\u4E3A {locale}\",\n \"locale.invalid\": \"\u672A\u77E5\u8BED\u8A00: {value}\uFF08\u53EF\u9009: zh-CN, en\uFF09\",\n \"locale.usage\": \"\u7528\u6CD5: locale [zh-CN|en|zh|cn]\",\n \"locale.wizard\": \"CLI language / \u754C\u9762\u8BED\u8A00\",\n \"locale.opt.zh\": \"\u7B80\u4F53\u4E2D\u6587\",\n \"locale.opt.en\": \"English\",\n\n /* \u2500\u2500\u2500 CLI \u901A\u9053\u95E8\u7981 \u2500\u2500\u2500 */\n \"cli.replOnly\": \"\u547D\u4EE4 `{cmd}` \u4EC5\u53EF\u5728 REPL \u5185\u4F7F\u7528\u3002\",\n \"cli.replOnly.hint\": \"\u5148\u8FD0\u884C\u65E0\u53C2\u6570\u7684 `sfmc` \u8FDB\u5165\u4EA4\u4E92\u6A21\u5F0F\uFF0C\u518D\u6267\u884C\u8BE5\u547D\u4EE4\u3002\",\n \"cli.needTty\": \"\u547D\u4EE4 `{cmd}` \u9700\u8981\u4EA4\u4E92\u5F0F\u7EC8\u7AEF\uFF08TTY\uFF09\u3002\",\n\n /* \u2500\u2500\u2500 debug (BDS \u914D\u7F6E) \u2500\u2500\u2500 */\n \"debug.state.on\": \"\u5F00\u542F\",\n \"debug.state.off\": \"\u5173\u95ED\",\n \"debug.statusTitle\": \"BDS \u8C03\u8BD5\u914D\u7F6E\",\n \"debug.enabled\": \"sfmc_debug = true\uFF08BDS \u63A7\u5236\u53F0\u8C03\u8BD5\u65E5\u5FD7\u5C06\u5728\u4E0B\u6B21 reload \u540E\u751F\u6548\uFF09\",\n \"debug.disabled\": \"sfmc_debug = false\uFF08BDS \u63A7\u5236\u53F0\u8C03\u8BD5\u65E5\u5FD7\u5C06\u5728\u4E0B\u6B21 reload \u540E\u5173\u95ED\uFF09\",\n \"debug.sentry.set\": \"\u5DF2\u8BBE\u7F6E SENTRY_DSN: {dsn}\",\n \"debug.sentry.removed\": \"\u5DF2\u5220\u9664 SENTRY_DSN\",\n \"debug.sentry.alreadyOff\": \"SENTRY_DSN \u672C\u6765\u5C31\u672A\u8BBE\u7F6E\",\n \"debug.sentry.dsnMissing\": \"\u9700\u8981 --dsn <\u503C>\",\n \"debug.sentry.unknown\": \"\u672A\u77E5 sentry \u5B50\u547D\u4EE4: {action}\",\n \"debug.sentry.usage\": \"\u7528\u6CD5: debug sentry on --dsn <dsn> | debug sentry off\",\n \"debug.unknown\": \"\u672A\u77E5 debug \u5B50\u547D\u4EE4: {sub}\",\n \"debug.usage\": \"\u7528\u6CD5: debug status | enable | disable | sentry on --dsn | sentry off\",\n \"debug.reloadHint\": \"\u9700\u8FD0\u884C `sfmc mod reload` \u6216\u91CD\u542F BDS \u540E\u751F\u6548\u3002\",\n\n /* \u2500\u2500\u2500 \u5E2E\u52A9\u6587\u672C \u2500\u2500\u2500 */\n \"help.title\": \"SFMC CLI\",\n \"help.title.repl\": \"SFMC REPL\",\n \"help.usage\": \"\u7528\u6CD5:\",\n \"help.section.options\": \"\u9009\u9879\",\n \"help.opt.packs\": \"\u8D44\u6E90\u5305\u7BA1\u7406\u5668\uFF0C\u540E\u63A5 packs \u5B50\u547D\u4EE4\uFF1Bi = install\",\n \"help.opt.lang\": \"\u672C\u6B21\u8FDB\u7A0B\u754C\u9762\u8BED\u8A00\",\n \"help.addon.compat\": \"\u517C\u5BB9\uFF1A-p/--packs\",\n \"help.slash.hint\": \"\u952E\u5165 / \u5217\u51FA\u547D\u4EE4\u3002\",\n \"help.shortcut.slash\": \"\u547D\u4EE4\u5217\u8868\",\n \"help.shortcut.ctrlp\": \"\u547D\u4EE4\u5217\u8868\",\n \"help.shortcut.cursor\": \"\u79FB\u52A8\u5149\u6807\",\n \"repl.palette.hint\": \"\u2191\u2193 \u00B7 Enter \u00B7 Esc\",\n \"repl.palette.empty\": \"\u65E0\u5339\u914D\",\n \"help.section.service\": \" \u670D\u52A1\u63A7\u5236 \u2500\u2500\u2500\u2500\u2500\u2500\",\n \"help.status\": \"\u67E5\u770B\u670D\u52A1\u72B6\u6001\uFF08\u542B QQ \u540E\u7AEF\u6458\u8981\uFF09\",\n \"help.logs\": \"\u65E5\u5FD7\u5386\u53F2\",\n \"help.start\": \"\u542F\u52A8\u670D\u52A1\uFF08db / qq / llbot / bds\uFF1Bqq \u9ED8\u8BA4\u5B98\u65B9 Bot\uFF09\",\n \"help.stop\": \"\u505C\u6B62\u670D\u52A1\",\n \"help.restart\": \"\u91CD\u542F\u670D\u52A1\",\n \"help.send\": \"\u5411\u670D\u52A1\u53D1\u9001\u547D\u4EE4\uFF08Tab \u5207\u6362\u76EE\u6807\uFF1BQQ \u63D0\u793A\u7B26\u533A\u5206 official / llbot\uFF09\",\n \"help.section.update\": \" BDS \u66F4\u65B0 \u2500\u2500\u2500\u2500\u2500\u2500\",\n \"help.update\": \"\u68C0\u67E5BDS \u66F4\u65B0\",\n \"help.update.checkOnly\": \"\u53EA\u68C0\u67E5\u66F4\u65B0\uFF0C\u4E0D\u4E0B\u8F7D\",\n \"help.update.force\": \"\u5373\u4F7F\u7248\u672C\u76F8\u540C\u4E5F\u5F3A\u5236\u66F4\u65B0\",\n \"help.update.noStart\": \"\u66F4\u65B0\u540E\u4E0D\u542F\u52A8 BDS\",\n \"help.update.channelRelease\": \"\u4F7F\u7528\u6B63\u5F0F\u7248\u901A\u9053\",\n \"help.update.channelPreview\": \"\u4F7F\u7528\u9884\u89C8\u7248\u901A\u9053\",\n \"help.section.debug\": \" \u8C03\u8BD5 \u2500\u2500\u2500\u2500\u2500\u2500\",\n \"help.debug.status\": \"SFMC_DEBUG \u72B6\u6001\",\n \"help.debug.toggle\": \"\u5F00\u5173 SFMC_DEBUG\",\n \"help.debug.sentry.on\": \"\u8BBE\u7F6E SENTRY_DSN\",\n \"help.debug.sentry.off\": \"\u5220\u9664 SENTRY_DSN\",\n \"help.debug.sentry\": \"\u914D\u7F6E Sentry DSN\",\n \"help.ui\": \"UI Studio \u58F0\u660E\u5F0F\u754C\u9762\u53EF\u89C6\u5316\u7F16\u8F91\u5668\",\n \"help.ui.studio\": \"\u542F\u52A8 UI Studio \u5E76\u6253\u5F00\u6D4F\u89C8\u5668\",\n \"help.ui.stop\": \"\u505C\u6B62\u5F53\u524D\u8FDB\u7A0B\u91CC\u7684 UI Studio\",\n \"ui.usage\": \"\u7528\u6CD5: ui studio | ui stop\",\n \"ui.studio.started\": \"UI Studio \u5DF2\u542F\u52A8: {url}\",\n \"ui.studio.hint\": \"\u6309 Ctrl+C \u505C\u6B62\u670D\u52A1\u3002\",\n \"ui.studio.already\": \"UI Studio \u5DF2\u5728\u8FD0\u884C: {url}\",\n \"ui.studio.stopped\": \"UI Studio \u5DF2\u505C\u6B62\u3002\",\n \"ui.studio.notRunning\": \"\u5F53\u524D\u8FDB\u7A0B\u6CA1\u6709\u8FD0\u884C\u4E2D\u7684 UI Studio\u3002\",\n \"ui.studio.failed\": \"\u542F\u52A8 UI Studio \u5931\u8D25: {message}\",\n \"help.section.module\": \" \u6A21\u5757\u7BA1\u7406 \u2500\u2500\u2500\u2500\u2500\u2500\",\n \"help.module.list\": \"\u5217\u51FA\u5DF2\u5B89\u88C5\u6A21\u5757\",\n \"help.module.search\": \"\u5728\u7EBF\u641C\u7D22\u6A21\u5757\",\n \"help.module.submit\": \"\u9884\u89C8\u6216\u63D0\u4EA4\u6A21\u5757\u5230\u5B98\u65B9\u7D22\u5F15\u4ED3\",\n \"help.module.install\": \"\u5B89\u88C5\u6A21\u5757\",\n \"help.module.uninstall\": \"\u5378\u8F7D\u5DF2\u5B89\u88C5\u6A21\u5757\",\n \"help.module.verify\": \"\u6821\u9A8C\u6A21\u5757 SHA-256 \u5B8C\u6574\u6027\",\n \"help.module.info\": \"\u663E\u793A\u6A21\u5757\u8BE6\u60C5\",\n \"help.module.toggle\": \"\u542F\u7528/\u7981\u7528\u6A21\u5757\",\n \"help.module.update\": \"\u68C0\u67E5\u5E76\u66F4\u65B0\u5DF2\u5B89\u88C5\u6A21\u5757\",\n \"help.module.pin\": \"\u6253\u5F00\u6216\u5173\u95ED\u6A21\u5757\u81EA\u52A8\u66F4\u65B0\",\n \"help.module.build\": \"\u4ECE\u5DF2\u542F\u7528\u6A21\u5757\u6784\u5EFA\u8D44\u6E90\u5305\",\n \"help.module.reload\": \"\u6784\u5EFA\u5E76\u90E8\u7F72\u8D44\u6E90\u5305\uFF0C\u5728 BDS \u53D1\u9001 reload\u6307\u4EE4\u4EE5\u91CD\u8F7D\u811A\u672C\",\n \"help.section.addon\": \" \u8D44\u6E90\u5305\u7BA1\u7406 \u2500\u2500\u2500\u2500\u2500\u2500\",\n \"help.addon\": \"\u8D44\u6E90\u5305\u6536\u4EF6\u7BB1\u7BA1\u7406\",\n \"help.packs.list\": \"\u5DF2\u5B89\u88C5\u8D44\u6E90\u5305\u5217\u8868\",\n \"help.packs.search\": \"\u5728\u7EBF\u641C\u7D22\u8D44\u6E90\u5305\",\n \"help.packs.enable\": \"\u542F\u7528\u8D44\u6E90\u5305\",\n \"help.packs.disable\": \"\u7981\u7528\u8D44\u6E90\u5305\",\n \"help.packs.doctor\": \"\u8BCA\u65AD\u8D44\u6E90\u5305\u63A5\u7EBF\",\n \"help.packs.doctor.fix\": \"\u4FEE\u590D\u63A5\u7EBF\u5E76\u8865\u9F50\u7F3A\u5931\u7684\u6D4B\u8BD5\u7248 API\",\n \"help.packs.doctor.allExperiments\": \"\u5F00\u542F\u5168\u90E8\u5DF2\u77E5\u5B9E\u9A8C\u6027\u73A9\u6CD5\",\n \"help.packs.doctor.experiments\": \"\u4EC5\u67E5\u770B\u5B9E\u9A8C\u6027\u5F00\u5173\u72B6\u6001\",\n \"help.packs.doctor.experimentsList\": \"\u6309\u522B\u540D\u5F00\u542F\uFF0C\u9017\u53F7\u5206\u9694\uFF1Abeta, upcoming, cameras, voxel, villager, drop3, edu\",\n \"help.packs.path\": \"\u663E\u793A\u8D44\u6E90\u5305\u8DEF\u5F84\",\n \"help.section.general\": \" \u901A\u7528 \u2500\u2500\u2500\u2500\u2500\u2500\",\n \"help.init\": \"\u521D\u59CB\u5316\u5411\u5BFC\",\n \"help.locale\": \"\u8BBE\u7F6E CLI \u8BED\u8A00\",\n \"help.version\": \"\u663E\u793A\u7248\u672C\",\n \"help.help\": \"\u663E\u793A\u5E2E\u52A9\",\n \"help.quit\": \"\u9000\u51FA CLI\uFF08\u540E\u53F0\u670D\u52A1\u7EE7\u7EED\u8FD0\u884C\uFF09\",\n \"help.shortcuts\": \"\u5FEB\u6377\u952E:\",\n \"help.shortcut.tab\": \"\u5207\u6362\u53D1\u9001\u76EE\u6807 / \u547D\u4EE4\u5217\u8868\u9009\u62E9\",\n \"help.shortcut.right\": \"\u63A5\u53D7\u5EFA\u8BAE\",\n \"help.shortcut.ctrll\": \"\u8FC7\u6EE4\u65E5\u5FD7\u7EA7\u522B / \u6765\u6E90 / \u5386\u53F2\",\n \"help.shortcut.history\": \"\u547D\u4EE4\u5386\u53F2\",\n\n /* \u2500\u2500\u2500 REPL \u2500\u2500\u2500 */\n \"repl.stopping\": \"\u6B63\u5728\u505C\u6B62\u670D\u52A1...\",\n \"repl.detach\": \"\u5DF2\u65AD\u5F00 CLI\uFF08\u540E\u53F0\u670D\u52A1\u7EE7\u7EED\u8FD0\u884C\uFF1B\u505C\u670D\u7528 stop / daemon stop\uFF09\",\n \"repl.bye\": \"bye...\",\n \"repl.forceStop\": \"\u6B63\u5728\u5F3A\u5236\u505C\u6B62\u670D\u52A1...\",\n \"repl.nonInteractive\": \" \u975E\u4EA4\u4E92\u6A21\u5F0F\uFF08\u68C0\u6D4B\u5230\u7BA1\u9053\uFF09\\n\",\n\n /* \u2500\u2500\u2500 \u5B88\u62A4\u8FDB\u7A0B \u2500\u2500\u2500 */\n \"daemon.stopped\": \"\u5B88\u62A4\u8FDB\u7A0B\u5DF2\u505C\u6B62\",\n \"daemon.notRunning\": \"\u5B88\u62A4\u8FDB\u7A0B\u672A\u8FD0\u884C\",\n \"daemon.running\": \"\u5B88\u62A4\u8FDB\u7A0B\u8FD0\u884C\u4E2D (PID {pid})\",\n \"daemon.usage\": \"\u7528\u6CD5: daemon [status|stop]\",\n \"daemon.connectFailed\": \"\u65E0\u6CD5\u8FDE\u63A5\u5B88\u62A4\u8FDB\u7A0B: {message}\",\n \"help.daemon\": \"\u67E5\u770B/\u505C\u6B62\u540E\u53F0\u5B88\u62A4\u8FDB\u7A0B\",\n \"help.daemon.status\": \"\u67E5\u770B\u5B88\u62A4\u8FDB\u7A0B\u662F\u5426\u5728\u8FD0\u884C\",\n \"help.daemon.stop\": \"\u505C\u6B62\u540E\u53F0\u5B88\u62A4\u8FDB\u7A0B\",\n \"palette.asIs\": \"\u76F4\u63A5\u8FD0\u884C\",\n \"palette.fixOnly\": \"\u4EC5\u4FEE\u590D\",\n \"palette.localeCurrent\": \"\u5F53\u524D\u8BED\u8A00\",\n \"repl.historyHeader\": \"\u2500\u2500 \u5386\u53F2 {count} \u884C \u2500\u2500\",\n \"repl.filter\": \"\u8FC7\u6EE4: {level} / {source} / {history}\",\n \"repl.followRequiresTty\": \"\u8DDF\u8E2A\u6A21\u5F0F\u9700\u8981 TTY\",\n \"repl.logsReplOnly\": \"logs \u4EC5\u5728\u4EA4\u4E92 REPL \u4E2D\u53EF\u7528\",\n \"repl.history.live\": \"\u5B9E\u65F6\",\n \"repl.history.last50\": \"\u6700\u8FD1 50 \u6761\",\n \"repl.history.last100\": \"\u6700\u8FD1 100 \u6761\",\n \"repl.history.last500\": \"\u6700\u8FD1 500 \u6761\",\n \"repl.history.last1000\": \"\u6700\u8FD1 1000 \u6761\",\n \"repl.history.last1min\": \"\u6700\u8FD1 1 \u5206\u949F\",\n \"repl.history.last5min\": \"\u6700\u8FD1 5 \u5206\u949F\",\n \"repl.history.last15min\": \"\u6700\u8FD1 15 \u5206\u949F\",\n \"repl.history.last1hour\": \"\u6700\u8FD1 1 \u5C0F\u65F6\",\n \"repl.history.all\": \"\u7F13\u51B2\u5168\u90E8\",\n\n /* \u2500\u2500\u2500 \u670D\u52A1\u63A7\u5236 \u2500\u2500\u2500 */\n \"svc.header\": \"\u670D\u52A1\",\n \"svc.col.name\": \"\u540D\u79F0\",\n \"svc.col.status\": \"\u72B6\u6001\",\n \"svc.col.owner\": \"\u5F52\u5C5E\",\n \"svc.col.pid\": \"PID\",\n \"svc.col.uptime\": \"\u8FD0\u884C\u65F6\u957F\",\n \"svc.state.running\": \"\u8FD0\u884C\u4E2D\",\n \"svc.state.stopped\": \"\u5DF2\u505C\u6B62\",\n \"svc.owner.managed\": \"\u63A5\u7BA1\",\n \"svc.owner.external\": \"\u5916\u90E8\",\n \"svc.owner.none\": \"\u2014\",\n \"svc.running\": \"\u8FD0\u884C\u4E2D - \u5DF2\u63A5\u7BA1\",\n \"svc.runningExternal\": \"\u8FD0\u884C\u4E2D - \u5916\u90E8\",\n \"svc.stopped\": \"\u5DF2\u505C\u6B62\",\n \"svc.unknown\": \"\u672A\u77E5\u670D\u52A1: {name}\uFF08\u53EF\u9009: {list}\uFF09\",\n \"svc.logs.usage\": \"\u7528\u6CD5: logs <service> [-n N] [-f]\",\n \"svc.logs.empty\": \"\uFF08\u6682\u65E0\u65E5\u5FD7\uFF09\",\n \"svc.logs.header\": \"{title} \u65E5\u5FD7\uFF08\u6700\u8FD1 {count} \u6761\uFF09:\",\n \"svc.start.usage\": \"\u7528\u6CD5: start <service>|-all\",\n \"svc.start.usageShort\": \"\u7528\u6CD5: start <service>|-all\",\n \"svc.stop.usage\": \"\u7528\u6CD5: stop <service>|-all\",\n \"svc.stop.usageShort\": \"\u7528\u6CD5: stop <service>|-all\",\n \"svc.restart.usage\": \"\u7528\u6CD5: restart <service>|-all\",\n \"svc.restart.usageShort\": \"\u7528\u6CD5: restart <service>|-all\",\n \"svc.alreadyRunning\": \"{title} \u5DF2\u5728\u8FD0\u884C\uFF08PID {pid}\uFF09\",\n \"svc.alreadyStarting\": \"{title} \u6B63\u5728\u542F\u52A8...\",\n \"svc.started\": \"{title} \u5DF2\u542F\u52A8\",\n \"svc.startFailed\": \"{title} \u5931\u8D25: {message}\",\n \"svc.alreadyStopped\": \"{title} \u5DF2\u505C\u6B62\",\n \"svc.alreadyStopping\": \"{title} \u6B63\u5728\u505C\u6B62...\",\n \"svc.stoppedMsg\": \"{title} \u5DF2\u505C\u6B62\",\n \"svc.stopFailed\": \"{title} \u505C\u6B62\u5931\u8D25: {message}\",\n \"svc.send.usage\": \"\u7528\u6CD5: send <service> <message>\",\n \"svc.notRunning\": \"{title} \u672A\u8FD0\u884C\",\n \"svc.writeFailed\": \"\u5199\u5165\u5931\u8D25\",\n \"svc.restarted\": \"{title} \u5DF2\u91CD\u542F\",\n \"svc.restartFailed\": \"{title} \u91CD\u542F\u5931\u8D25: {message}\",\n \"svc.allStarted\": \"\u5168\u90E8\u670D\u52A1\u5DF2\u542F\u52A8\",\n \"svc.allStopped\": \"\u5168\u90E8\u670D\u52A1\u5DF2\u505C\u6B62\",\n \"svc.skipped\": \"{title} \u5DF2\u8DF3\u8FC7: {reason}\",\n \"svc.startAll.started\": \"\u5DF2\u542F\u52A8: {list}\",\n \"svc.startAll.skipped\": \"\u5DF2\u8DF3\u8FC7: {list}\",\n \"svc.startAll.failed\": \"\u542F\u52A8\u5931\u8D25: {list}\",\n \"svc.startAll.empty\": \"\u6CA1\u6709\u670D\u52A1\u9700\u8981\u542F\u52A8\",\n \"svc.updateComplete\": \"\u66F4\u65B0\u5B8C\u6210\",\n \"svc.updateExited\": \"\u66F4\u65B0\u8FDB\u7A0B\u9000\u51FA\uFF0C\u4EE3\u7801 {code}\",\n \"svc.updateError\": \"\u66F4\u65B0\u9519\u8BEF: {message}\",\n \"svc.updateStartBds\": \"\u66F4\u65B0: \u901A\u8FC7\u8FDB\u7A0B\u76D1\u7763\u5668\u542F\u52A8 BDS\",\n \"svc.bdsStarted\": \"BDS \u5DF2\u542F\u52A8\uFF08\u76D1\u7763\u6A21\u5F0F\uFF09\",\n \"svc.bdsStartFailed\": \"BDS \u542F\u52A8\u5931\u8D25: {message}\",\n \"svc.bdsStoppedForUpdate\": \"\u66F4\u65B0\u65F6\u5DF2\u505C\u6B62 BDS\uFF1B\u5C31\u7EEA\u540E\u8BF7\u6267\u884C `start bds`\",\n \"svc.bdsAlreadyRunning\": \"BDS \u5DF2\u5728\u8FD0\u884C\uFF08{kind}\uFF0CPID {pid}\uFF09\",\n \"svc.stdinUnavailable\": \"{title} \u7531\u5916\u90E8\u542F\u52A8\uFF0C\u65E0\u6CD5\u901A\u8FC7 stdin \u53D1\u9001\u547D\u4EE4\",\n \"svc.stoppedExternal\": \"{title} \u5DF2\u505C\u6B62\uFF08\u5916\u90E8\u8FDB\u7A0B\uFF09\",\n\n /* \u2500\u2500\u2500 \u521D\u59CB\u5316 \u2500\u2500\u2500 */\n \"wizard.intro\": \"\u521D\u59CB\u5316\",\n \"wizard.rerun\": \"\u5DF2\u521D\u59CB\u5316\u3002\u662F\u5426\u91CD\u65B0\u8FD0\u884C\u5411\u5BFC\uFF1F\",\n \"wizard.skipped\": \"\u5DF2\u8DF3\u8FC7\u521D\u59CB\u5316\",\n \"wizard.step1\": \"\u6B65\u9AA4 1 - \u8FD0\u884C\u73AF\u5883\",\n \"wizard.runtimeRoot\": \"\u8FD0\u884C\u6839\u76EE\u5F55: {root}\",\n \"wizard.runtimeMissingAssets\": \"\u8FD0\u884C\u73AF\u5883\u7F3A\u5C11\u5FC5\u9700\u76EE\u5F55: {list}\",\n \"wizard.prepFailed\": \"\u8FD0\u884C\u73AF\u5883\u51C6\u5907\u5931\u8D25: {message}\",\n \"wizard.step2\": \"\u6B65\u9AA4 2 - \u5916\u90E8\u8FD0\u884C\u65F6\",\n \"wizard.step2Note\": \"\u5148\u786E\u8BA4 BDS \u76EE\u5F55\u3002\u6570\u636E\u5E93\u3001\u5907\u4EFD\u548C QQ \u53EF\u4EE5\u6CBF\u7528\u9ED8\u8BA4\u503C\u3002\",\n \"wizard.bdsDir\": \"BDS \u5B89\u88C5\u76EE\u5F55\",\n \"wizard.cannotCreateBds\": \"\u65E0\u6CD5\u521B\u5EFA BDS \u5B89\u88C5\u76EE\u5F55: {dir}\",\n \"wizard.qqBackend\": \"QQ \u6865\u63A5\u540E\u7AEF:\",\n \"wizard.qqBackend.official\": \"QQ \u5F00\u653E\u5E73\u53F0\uFF08\u5B98\u65B9 Bot\uFF09\",\n \"wizard.qqBackend.officialHint\": \"\u9700 AppID / AppSecret\uFF0C\u53EF\u7A0D\u540E\u914D\u7F6E\",\n \"wizard.qqBackend.llbot\": \"LLBot\uFF08OneBot 11\uFF09\",\n \"wizard.qqBackend.llbotHint\": \"\u9700\u672C\u673A LLBot \u8FDB\u7A0B\",\n \"wizard.qqBackend.disabled\": \"\u6682\u4E0D\u542F\u7528 QQ \u6865\",\n \"wizard.qqBackend.disabledHint\": \"qq_enabled=false\",\n \"wizard.qqAppId\": \"QQ \u5F00\u653E\u5E73\u53F0 AppID:\",\n \"wizard.qqAppSecret\": \"QQ \u5F00\u653E\u5E73\u53F0 AppSecret:\",\n \"wizard.qqSandbox\": \"\u4F7F\u7528\u6C99\u7BB1\u73AF\u5883\uFF1F\",\n \"wizard.qqGroupOpenid\": \"\u7FA4 openid\uFF08\u53EF\u7A0D\u540E\u586B\u5199\uFF09:\",\n \"wizard.qqGroupOpenidHint\": \"\u975E\u4F20\u7EDF\u7FA4\u53F7\",\n \"wizard.enableLlbot\": \"\u542F\u7528 LLBot \u8FDB\u7A0B\u63A5\u7BA1\uFF1F\",\n \"wizard.llbotDir\": \"LLBot \u8FD0\u884C\u76EE\u5F55\",\n \"wizard.usingDefault\": \"\u4F7F\u7528\u9ED8\u8BA4: {path}\",\n \"wizard.dbDir\": \"\u6570\u636E\u5E93\u5B58\u50A8\u76EE\u5F55\",\n \"wizard.dbPort\": \"\u6570\u636E\u5E93\u670D\u52A1\u7AEF\u53E3:\",\n \"wizard.portRange\": \"\u8BF7\u8F93\u5165 1024\u201365535\",\n \"wizard.valueRequired\": \"\u6B64\u9879\u5FC5\u586B\uFF01\",\n \"wizard.step3\": \"\u6B65\u9AA4 3 - BDS \u73AF\u5883\",\n \"wizard.bdsFound\": \"\u5DF2\u627E\u5230: {path}\",\n \"wizard.bdsNotFound\": \"\u672A\u627E\u5230: {path}\",\n \"wizard.eula\": \"\u662F\u5426\u540C\u610F Mojang \u53D1\u5E03\u7684 EULA(https://www.minecraft.net/en-us/eula)\uFF1F\u4F7F\u7528\u672C\u7A0B\u5E8F\u524D\u5FC5\u987B\u540C\u610F\u3002\",\n \"wizard.disagreed\": \"\u5DF2\u62D2\u7EDD\u3002\",\n \"wizard.downloadBds\": \"\u73B0\u5728\u4E0B\u8F7D BDS\uFF1F\",\n \"wizard.selectChannel\": \"\u9009\u62E9\u901A\u9053:\",\n \"wizard.channel.release\": \"Release\",\n \"wizard.channel.releaseHint\": \"\u7A33\u5B9A\u7248\",\n \"wizard.channel.preview\": \"Preview\",\n \"wizard.channel.previewHint\": \"\u9884\u89C8\u7248\",\n \"wizard.cannotCreateBackup\": \"\u65E0\u6CD5\u521B\u5EFA BDS \u5907\u4EFD\u76EE\u5F55: {dir}\",\n \"wizard.backupDir\": \"BDS \u5907\u4EFD\u76EE\u5F55\",\n \"wizard.preserve\": \"\u66F4\u65B0\u65F6\u4FDD\u7559\u7684\u6587\u4EF6\uFF08\u4E0B\u6B21\u542F\u7528\u66F4\u65B0\u65F6\uFF09:\",\n \"wizard.preserve.serverProps\": \"\u670D\u52A1\u5668\u914D\u7F6E\",\n \"wizard.preserve.worlds\": \"\u4E16\u754C\u6570\u636E\",\n \"wizard.preserve.config\": \"\u914D\u7F6E\u76EE\u5F55\",\n \"wizard.updaterTip\": \"\u82E5\u627E\u4E0D\u5230 BDS \u8FD0\u884C\u65F6\uFF0C\u7A0D\u540E\u4F1A\u81EA\u52A8\u4E0B\u8F7DBDS\u3002\\n \u53EF\u5728 configs/bds_updater.json \u4E2D\u914D\u7F6E\u66F4\u65B0\u9009\u9879\u3002\",\n \"wizard.step4\": \"\u6B65\u9AA4 4 - \u6A21\u5757\",\n \"wizard.modulesFound\": \"\u53D1\u73B0 {count} \u4E2A\u53EF\u9009\u6A21\u5757\",\n \"wizard.modulesNone\": \"\u8FD8\u6CA1\u6709\u5DF2\u5B89\u88C5\u7684\u6A21\u5757\u3002\",\n \"wizard.useDefaults\": \"\u6570\u636E\u5E93\u3001\u5907\u4EFD\u76EE\u5F55\u548C\u66F4\u65B0\u4FDD\u7559\u9879\u4F7F\u7528\u9ED8\u8BA4\u503C\uFF1F\",\n \"wizard.defaultsApplied\": \"\u6570\u636E\u5E93 {db}\uFF08\u7AEF\u53E3 {port}\uFF09\uFF0C\u5907\u4EFD {backup}\u3002\",\n \"wizard.installFromRegistry\": \"\u4ECE\u5B98\u65B9\u7D22\u5F15\u5B89\u88C5\u6A21\u5757\uFF08\u53EF\u8DF3\u8FC7\uFF09\uFF1A\",\n \"wizard.registryLoading\": \"\u6B63\u5728\u8BFB\u53D6\u5B98\u65B9\u6A21\u5757\u7D22\u5F15\",\n \"wizard.registryOffline\": \"\u5B98\u65B9\u7D22\u5F15\u4E0D\u53EF\u7528\u3002\u7A0D\u540E\u6267\u884C `mod install <id>`\u3002\",\n \"wizard.enableModules\": \"\u542F\u7528\u6A21\u5757:\",\n \"wizard.emptyHint\": \"\uFF08\u7A7A\uFF09\",\n \"wizard.updatingConfigs\": \"\u6B63\u5728\u66F4\u65B0\u914D\u7F6E\",\n \"wizard.configsUpdated\": \"\u914D\u7F6E\u5DF2\u66F4\u65B0\",\n \"wizard.updatingModules\": \"\u6B63\u5728\u66F4\u65B0\u6A21\u5757\u72B6\u6001\",\n \"wizard.modulesUpdated\": \"\u6A21\u5757\u72B6\u6001\u5DF2\u66F4\u65B0\",\n \"wizard.initDb\": \"\u6B63\u5728\u521D\u59CB\u5316\u6570\u636E\u5E93\",\n \"wizard.dbTimeout\": \"\u6570\u636E\u5E93\u542F\u52A8\u8D85\u65F6\",\n \"wizard.dbOk\": \"\u6570\u636E\u5E93\u5DF2\u521D\u59CB\u5316\",\n \"wizard.downloadingBds\": \"\u6B63\u5728\u4E0B\u8F7D BDS\",\n \"wizard.downloadFail\": \"\u4E0B\u8F7D\u5931\u8D25\u3002\",\n \"wizard.bdsDownloaded\": \"BDS \u5DF2\u4E0B\u8F7D\",\n \"wizard.done\": \"\u5B8C\u6210\uFF01\u952E\u5165 / \u4EE5\u6267\u884C\u547D\u4EE4\",\n \"wizard.installing\": \"\u6B63\u5728\u5B89\u88C5 {count} \u4E2A\u6A21\u5757\",\n \"wizard.installed\": \"\u5DF2\u5B89\u88C5 {count} \u4E2A\",\n \"wizard.installFailed\": \"\u5B89\u88C5\u5931\u8D25: {message}\\n\u53EF\u7A0D\u540E\u6267\u884C: mod install <id>\",\n \"wizard.fetchMissing\": \"\u7F3A\u5C11 fetch-module \u2014 \u8BF7\u7A0D\u540E\u5BF9\u4EE5\u4E0B\u6A21\u5757\u6267\u884C `mod install <id>`: {list}\",\n \"wizard.noModulesSelected\": \"\u672A\u9009\u62E9\u6A21\u5757 \u2014 \u884C\u4E3A\u5305\u5C06\u4E3A\u7A7A\uFF0C\u76F4\u5230\u6267\u884C `mod install <id>` \u5B89\u88C5\u6A21\u5757\u3002\",\n \"wizard.buildingBp\": \"\u6B63\u5728\u6784\u5EFA\u884C\u4E3A\u5305\",\n \"wizard.buildFailed\": \"\u6784\u5EFA\u5931\u8D25: {message}\\n\u7A0D\u540E\u53EF\u6267\u884C `mod build` \u91CD\u8BD5\u3002\",\n \"wizard.deploying\": \"\u6B63\u5728\u90E8\u7F72\u5230 {path}\",\n \"wizard.restartBds\": \"\u8BF7\u91CD\u542F BDS \u4EE5\u52A0\u8F7D\u65B0\u884C\u4E3A\u5305\u3002\",\n \"wizard.deployFailed\": \"\u90E8\u7F72\u5931\u8D25: {message}\\n\u4FEE\u590D configs/ \u4E2D\u7684 bds_path \u540E\u6267\u884C `mod reload`\u3002\",\n\n \"prompt.useDefault\": \"\u4F7F\u7528\u6B64\u8DEF\u5F84\",\n \"prompt.enterPath\": \"\u8F93\u5165\u8DEF\u5F84\",\n \"prompt.browse\": \"\u6D4F\u89C8\u2026\",\n \"prompt.browseHint\": \"\u6253\u5F00\u7CFB\u7EDF\u6587\u4EF6\u5939\u9009\u62E9\u5668\",\n \"prompt.browseUnavailable\": \"\u65E0\u6CD5\u6253\u5F00\u7CFB\u7EDF\u9009\u62E9\u5668\uFF0C\u8BF7\u624B\u52A8\u8F93\u5165\u8DEF\u5F84\",\n\n \"reload.buildOnly\": \"\u6784\u5EFA\u5B8C\u6210\u3002\",\n \"reload.bdsNotRunning\": \"BDS \u672A\u8FD0\u884C \u2014 \u5DF2\u5B8C\u6210\u6784\u5EFA\u3002\",\n \"reload.sent\": \"\u5DF2\u5411 BDS \u53D1\u9001 reload\",\n\n \"bp.usage\": \"\u7528\u6CD5: bp <build|deploy>\",\n\n \"mod.usage\": \"\u7528\u6CD5: sfmc {cmds} <{subs}> [args]\",\n \"mod.list.title\": \"\u5DF2\u5B89\u88C5\u6A21\u5757\",\n \"mod.noneInstalled\": \"\\n\u672A\u5B89\u88C5\u6A21\u5757\u3002\u8BF7\u5C06\u6A21\u5757\u76EE\u5F55\u653E\u5230 {dir}\uFF0C\u6216\u6267\u884C `sfmc mod install <id>`\u3002\\n\",\n \"mod.notInRegistry\": '\u6A21\u5757 \"{query}\" \u4E0D\u5728\u5B98\u65B9 registry \u4E2D\u3002',\n \"mod.info.usage\": \"\u7528\u6CD5: mod info <id>\",\n \"mod.notInstalledAt\": \"\u6A21\u5757 {id} \u672A\u5B89\u88C5\u4E8E {path}\",\n \"mod.notInstalled\": \"\u6A21\u5757 {id} \u672A\u5B89\u88C5\",\n \"mod.verifyOk\": \"{id} \u6B63\u5E38\\n fingerprint: {fp}\\n\",\n \"mod.dbUnreachable\": \"\u65E0\u6CD5\u8FDE\u63A5 db-server {url}: {message}\u3002db \u670D\u52A1\u662F\u5426\u5728\u8FD0\u884C\uFF1F\uFF08sfmc> start db\uFF09\",\n \"mod.toggleFailed\": \"{action} {id} \u5931\u8D25: {err}\",\n \"mod.action.enabled\": \"\u5DF2\u542F\u7528\",\n \"mod.action.disabled\": \"\u5DF2\u7981\u7528\",\n \"mod.toggleOk\": \"{label} {id}\",\n \"mod.toggleBadBody\": \"{action} {id} \u8FD4\u56DE: {text}\",\n \"mod.cannotDisable\": \"\u6A21\u5757 {id} \u4E0D\u53EF\u7981\u7528\uFF08canDisable=false\uFF09\",\n \"mod.toggleLockFailed\": \"\u5199\u5165 module-lock \u5931\u8D25\uFF08{id}\uFF09: {message}\",\n \"mod.toggleDbSkipped\":\n \"\u5DF2\u5199\u5165 module-lock\uFF1Bdb-server \u672A\u540C\u6B65\uFF08{detail}\uFF09\u3002\u4E0B\u6B21 start db \u540E\u5185\u5B58\u6001\u4F1A\u8DDF\u4E0A\uFF1B\u6E38\u620F\u5185\u4ECD\u9700 mod reload / \u91CD\u542F BDS\u3002\",\n \"mod.enable.usage\": \"\u7528\u6CD5: mod enable <id>\",\n \"mod.disable.usage\": \"\u7528\u6CD5: mod disable <id>\",\n \"mod.install.usage\": \"\u7528\u6CD5: mod install <id>\\n mod install <id> --from <scheme> [--link] [--sha256 <hex>]\",\n \"mod.fromUnknown\": \"\u672A\u77E5\u7684 --from \u6765\u6E90: {value}\u3002\u53EF\u7528: npm:|local[:<\u8DEF\u5F84>]|tgz:|zip:|dir:|github:<repo>[@tag]\",\n \"mod.fetchMissing\": \"\u672A\u627E\u5230 fetch-module\u3002\u8BF7\u5B89\u88C5 @sfmc-bds/sfmc \u6216\u5728 monorepo \u5185\u8FD0\u884C\u3002\",\n \"mod.uninstall.usage\": \"\u7528\u6CD5: mod uninstall <id>\",\n \"mod.notInstalledFolder\": \"\u6A21\u5757 {id} \u672A\u5B89\u88C5\uFF08\u76EE\u5F55\u4E0D\u5B58\u5728: {path}\uFF09\",\n \"mod.removed\": \"\u5DF2\u4ECE {path} \u79FB\u9664 {id}\\n\",\n \"mod.update.usage\": \"\u7528\u6CD5: mod update [id...] [--check] [--yes] [--allow-major]\",\n \"mod.update.disabled\": \"\u6A21\u5757\u81EA\u52A8\u66F4\u65B0\u5DF2\u5173\u95ED\uFF08configs/module-update.json\uFF09\u3002\",\n \"mod.update.checkOff\": \"\u6A21\u5757\u66F4\u65B0\u53EA\u5728\u6267\u884C\u66F4\u65B0\u547D\u4EE4\u65F6\u8FDB\u884C\u3002\",\n \"mod.update.none\": \"\u6CA1\u6709\u53EF\u66F4\u65B0\u7684\u6A21\u5757\u3002\",\n \"mod.update.upgrade\": \"{id} {from} -> {to}\",\n \"mod.update.confirm\": \"\u66F4\u65B0 {count} \u4E2A\u6A21\u5757\uFF1F\",\n \"mod.update.cancelled\": \"\u5DF2\u53D6\u6D88\u6A21\u5757\u66F4\u65B0\u3002\",\n \"mod.update.needYes\": \"\u975E\u4EA4\u4E92\u73AF\u5883\u8BF7\u52A0\u4E0A --yes \u624D\u4F1A\u5E94\u7528\u66F4\u65B0\u3002\",\n \"mod.update.applied\": \"\u5DF2\u66F4\u65B0 {id} {from} -> {to}\",\n \"mod.update.failed\": \"\u66F4\u65B0\u5931\u8D25 {id}: {message}\",\n \"mod.update.reloadHint\": \"\u8BF7\u6267\u884C mod reload\uFF0C\u6216\u91CD\u542F BDS\uFF0C\u4F7F\u65B0\u6A21\u5757\u8FDB\u5165\u6E38\u620F\u3002\",\n \"mod.update.reason.autoOff\": \"\u672A\u5F00\u542F\u81EA\u52A8\u66F4\u65B0\",\n \"mod.update.reason.localSource\": \"\u672C\u5730\u94FE\u63A5\u6216\u76EE\u5F55\",\n \"mod.update.reason.registryOffline\": \"\u6A21\u5757\u7D22\u5F15\u4E0D\u53EF\u7528\",\n \"mod.update.reason.noTarget\": \"\u6CA1\u6709\u76EE\u6807\u7248\u672C\",\n \"mod.update.reason.noInstalledVersion\": \"\u8BFB\u4E0D\u5230\u5DF2\u88C5\u7248\u672C\",\n \"mod.update.reason.upToDate\": \"\u5DF2\u662F\u5F53\u524D\u7248\u672C\",\n \"mod.update.reason.installedNewer\": \"\u5DF2\u88C5\u7248\u672C\u66F4\u9AD8\",\n \"mod.update.reason.major\": \"\u4E3B\u7248\u672C\u66F4\u65B0\u5DF2\u8DF3\u8FC7\",\n \"mod.update.reason.sdk\": \"\u4E0D\u6EE1\u8DB3 SDK \u8303\u56F4\",\n \"mod.update.reason.dependencyFailed\": \"\u4F9D\u8D56\u6A21\u5757\u66F4\u65B0\u5931\u8D25\",\n \"mod.update.reason.githubManual\": \"GitHub \u6765\u6E90\u9700\u624B\u52A8\u66F4\u65B0\",\n \"mod.update.reason.missingModule\": \"\u672A\u5B89\u88C5\",\n \"mod.update.reason.missingDependency\": \"\u4F9D\u8D56\u6A21\u5757\u672A\u5B89\u88C5\",\n \"mod.update.reason.badVersion\": \"\u7248\u672C\u53F7\u4E0D\u662F semver\",\n \"mod.pin.usage\": \"\u7528\u6CD5: mod pin <id> --auto on|off\",\n \"mod.pin.ok\": \"{id} \u81EA\u52A8\u66F4\u65B0{state}\",\n \"mod.pin.on\": \"\u5DF2\u6253\u5F00\",\n \"mod.pin.off\": \"\u5DF2\u5173\u95ED\",\n \"mod.pin.locked\": \"{id} \u662F\u672C\u5730\u94FE\u63A5\u3001\u76EE\u5F55\u6216 GitHub \u6765\u6E90\uFF0C\u4E0D\u80FD\u81EA\u52A8\u66F4\u65B0\u3002\",\n \"mod.pin.missing\": \"\u6A21\u5757 {id} \u672A\u5B89\u88C5\u3002\",\n\n \"pack.built\": \"\u5DF2\u6784\u5EFA\u5305\u81F3 {path}\",\n \"pack.buildFailed\": \"pack \u6784\u5EFA\u5931\u8D25: {message}\",\n \"pack.deployed\": \"\u5DF2\u90E8\u7F72\u5305\",\n \"pack.deployFailed\": \"pack \u90E8\u7F72\u5931\u8D25: {message}\",\n \"pack.statusFailed\": \"pack status \u5931\u8D25: {message}\",\n \"pack.listFailed\": \"pack list \u5931\u8D25: {message}\",\n \"pack.noCatalog\": \"\u5C1A\u65E0\u5DF2\u90E8\u7F72 catalog \u2014 \u8BF7\u5148\u6267\u884C `sfmc pack deploy`\",\n \"pack.noUuid\": \"catalog \u4E2D\u65E0 {kind} \u5305 uuid\",\n \"pack.actionFailed\": \"{action} \u5931\u8D25: {detail}\",\n \"pack.enabledOk\": \"\u5DF2\u542F\u7528 {kind} \u5305 {uuid}\",\n \"pack.disabledOk\": \"\u5DF2\u7981\u7528 {kind} \u5305 {uuid}\",\n \"pack.actionErr\": \"pack {action} \u5931\u8D25: {message}\",\n \"pack.usage\": \"\u7528\u6CD5: sfmc pack <{subs}> [behavior|resource]\",\n\n \"packs.restartHint\": \"\u9700\u91CD\u542F BDS \u540E\u751F\u6548\",\n \"packs.rejoinHint\": \"\u5BA2\u6237\u7AEF\u9700\u91CD\u8FDB\u670D\u4EE5\u4E0B\u8F7D\u8D44\u6E90\u5305\",\n \"packs.conflict\": \"\u68C0\u6D4B\u5230\u51B2\u7A81\uFF1A\",\n \"packs.conflict.existing\": \" \u5DF2\u6709: {name} v{version} {uuid}\\n {dir}\",\n \"packs.conflict.incoming\": \" \u65B0\u6765: {name} v{version} {uuid}\",\n \"packs.overwriteAsk\": \"\u8986\u76D6\u5DF2\u6709\u5305\uFF08\u76F8\u540C UUID\uFF0C\u4F46\u7248\u672C\u76F8\u5BF9\u73B0\u5B58\u5305\u8F83\u4F4E\uFF09\uFF1F\",\n \"packs.badManifest\": \"\u65E0\u6CD5\u8BC6\u522B manifest\uFF08\u9700\u542B resources/data/script \u6A21\u5757\uFF0C\u4E14 header \u542B name/uuid/version\uFF09\",\n \"packs.skippedNoOverwrite\": \"\u5DF2\u8DF3\u8FC7\uFF08\u672A\u8986\u76D6\uFF09\",\n \"packs.conflictSkip\": \" \u51B2\u7A81\u8DF3\u8FC7\uFF08\u975E\u4EA4\u4E92\uFF0C\u53EF\u7528 --force\uFF09: {name}\",\n \"packs.inboxSkip\": \" \u8DF3\u8FC7\u6536\u4EF6\u7BB1\uFF1A{message}\",\n \"packs.inboxFound\": \" \u6536\u4EF6\u7BB1\u53D1\u73B0 {count} \u9879 \u2192 {level}\",\n \"packs.alreadyDone\": \" \u5DF2\u5904\u7406\u8FC7\uFF0C\u8DF3\u8FC7: {name}\",\n \"packs.dryRunExtract\": \" dry-run \u89E3\u538B: {name}\",\n \"packs.noPackRoot\": \" \u672A\u627E\u5230\u5305\u6839: {name}\",\n \"packs.installedEnabled\": \" \u5DF2\u5B89\u88C5\u5E76\u542F\u7528 {kind}: {name} v{version}\",\n \"packs.installFailed\": \" \u5B89\u88C5\u5931\u8D25 {name}: {reason}\",\n \"packs.listEmpty\": \"\uFF08\u65E0\uFF09\",\n \"packs.list.bpHeader\": \"\u884C\u4E3A\u5305:\",\n \"packs.list.rpHeader\": \"\u8D44\u6E90\u5305:\",\n \"packs.list.on\": \"\u5F00 \",\n \"packs.list.off\": \"\u5173\",\n \"packs.doctor.parseFail\": \"{file} \u65E0\u6CD5\u89E3\u6790\",\n \"packs.doctor.missingDir\": \"\u6E05\u5355\u6709 uuid \u4F46\u76EE\u5F55\u7F3A\u5931 ({kind}): {uuid}\",\n \"packs.doctor.versionMismatch\": \"\u7248\u672C\u4E0D\u4E00\u81F4 ({kind}): {folder} \u6E05\u5355 {listVer} vs \u78C1\u76D8 {diskVer}\",\n \"packs.doctor.notEnabled\": \"\u5DF2\u5B89\u88C5\u672A\u542F\u7528: [{kind}] {folder} ({uuid})\",\n \"packs.doctor.betaApisMissing\":\n \"\u5F53\u524D\u4E16\u754C\u300C{level}\u300D\u672A\u5F00\u542F\u300C\u6D4B\u8BD5\u7248 API (Beta APIs / gametest)\u300D\uFF0C\u4F46\u4EE5\u4E0B\u884C\u4E3A\u5305\u4F9D\u8D56\u5B83:\\n{packs}\\n \u8FD9\u4E9B\u5305\u7684\u811A\u672C\u5C06\u88AB BDS \u62D2\u7EDD\u52A0\u8F7D\uFF01\u8FD0\u884C packs doctor --fix \u53EF\u4E00\u952E\u5F00\u542F\u3002\",\n \"packs.doctor.betaApisFixed\": \"\u5DF2\u6210\u529F\u4E3A\u4E16\u754C\u300C{level}\u300D\u5F00\u542F\u300C\u6D4B\u8BD5\u7248 API\u300D(gametest = 1b)\uFF0C\u539F\u5B58\u6863\u5DF2\u5907\u4EFD\u81F3: {backup}\",\n \"packs.doctor.betaApisAlreadyOn\": \"\u4E16\u754C\u300C{level}\u300D\u7684\u300C\u6D4B\u8BD5\u7248 API\u300D\u5DF2\u5904\u4E8E\u5F00\u542F\u72B6\u6001\",\n \"packs.doctor.betaApisFailed\": \"\u4E3A\u4E16\u754C\u300C{level}\u300D\u5F00\u542F\u300C\u6D4B\u8BD5\u7248 API\u300D\u5931\u8D25: {error}\",\n \"packs.doctor.ghostPackCleaned\": \"\u5DF2\u6E05\u7406\u5931\u6548\u7684\u65E7\u5305\u6761\u76EE ({kind}): {uuid}\",\n \"packs.doctor.versionSynced\": \"\u5DF2\u540C\u6B65\u7248\u672C ({kind}): {folder} \u6E05\u5355 {listVer} \u2192 \u78C1\u76D8 {diskVer}\",\n \"packs.doctor.permissionsMissing\":\n \"\u4EE5\u4E0B\u884C\u4E3A\u5305\u4F9D\u8D56\u7684\u539F\u751F\u6A21\u5757\u672A\u5728 BDS \u6743\u9650\u914D\u7F6E\u4E2D\u5141\u8BB8\u4F7F\u7528:\\n{list}\\n \u672A\u914D\u7F6E\u6743\u9650\u7684\u6A21\u5757\u5C06\u5728\u8FD0\u884C\u65F6\u88AB BDS \u963B\u65AD\uFF01\u8FD0\u884C packs doctor --fix \u53EF\u4E00\u952E\u81EA\u52A8\u6388\u6743\u3002\",\n \"packs.doctor.permissionsFixed\": \"\u5DF2\u81EA\u52A8\u8865\u9F50\u884C\u4E3A\u5305\u7684\u539F\u751F\u6A21\u5757\u6743\u9650: {perms}\",\n \"packs.doctor.fixedSummary\": \"doctor: \u81EA\u6108\u5B8C\u6210\uFF0C\u5171\u5904\u7406 {count} \u9879\u95EE\u9898\u3002\",\n \"packs.doctor.fixPrompt\": '\u53EF\u8FD0\u884C \"packs doctor --fix\" \u81EA\u52A8\u4FEE\u590D\u4E0A\u8FF0\u95EE\u9898\u3002',\n \"packs.doctor.experimentsStatus\": \"\u5B58\u6863\u5B9E\u9A8C\u6027\u5F00\u5173\u72B6\u6001 (\u4E16\u754C\u300C{level}\u300D):\",\n \"packs.doctor.experimentsFixed\": \"\u5DF2\u6210\u529F\u4E3A\u4E16\u754C\u300C{level}\u300D\u5F00\u542F\u5B9E\u9A8C\u6027\u5F00\u5173 ({list})\uFF0C\u539F\u5B58\u6863\u5DF2\u5907\u4EFD\u81F3: {backup}\",\n \"packs.doctor.experimentsAlreadyOn\": \"\u4E16\u754C\u300C{level}\u300D\u8BF7\u6C42\u7684\u5B9E\u9A8C\u6027\u5F00\u5173\u5DF2\u5904\u4E8E\u5F00\u542F\u72B6\u6001\",\n \"packs.doctor.experimentsFailed\": \"\u4E3A\u4E16\u754C\u300C{level}\u300D\u4FEE\u6539\u5B9E\u9A8C\u6027\u5F00\u5173\u5931\u8D25: {error}\",\n \"packs.doctor.experimentsFixPrompt\": '\u53EF\u8FD0\u884C \"packs doctor --fix --all-experiments\" \u4E00\u952E\u5F00\u542F\u5168\u90E8\u5DF2\u77E5\u5B9E\u9A8C\u6027\u73A9\u6CD5\u3002',\n \"packs.doctor.ok\": \"doctor: \u672A\u53D1\u73B0\u95EE\u9898\",\n \"packs.doctor.found\": \"doctor \u53D1\u73B0 {count} \u9879:\\n{list}\",\n \"packs.notFound\": \"\u672A\u627E\u5230\u5305: {id}\",\n \"packs.toggleDone\": \"{verb} {folder} \u5B8C\u6210\u3002{hint}\",\n \"packs.bump.usage\": \"\u7528\u6CD5: packs bump <uuid|folder> \uFF08\u4EC5 RP\uFF09\",\n \"packs.bump.rpOnly\": \"packs bump \u4EC5\u652F\u6301\u8D44\u6E90\u5305 (RP)\",\n \"packs.bumped\": \"\u5DF2 bump {folder} \u2192 v{version}\u3002{restart}\uFF1B{rejoin}\",\n \"packs.pathMissing\": \"\u8DEF\u5F84\u4E0D\u5B58\u5728: {path}\",\n \"packs.notArchive\": \"\u4E0D\u662F\u5305\u76EE\u5F55\u6216 .zip/.mcpack/.mcaddon\",\n \"packs.noManifestRoot\": \"\u672A\u53D1\u73B0\u542B manifest.json \u7684\u5305\u6839\",\n \"packs.installedLine\": \"\u5DF2\u5B89\u88C5\u5E76\u542F\u7528: {name} v{version} ({kind})\",\n \"packs.skipFailLine\": \"\u8DF3\u8FC7/\u5931\u8D25: {name} ({reason})\",\n \"packs.inboxEmpty\": \"\u6536\u4EF6\u7BB1\u4E3A\u7A7A\",\n \"packs.search.usage\": \"\u7528\u6CD5: packs search <query>\uFF08CurseForge \u8FDC\u7A0B\u641C\u7D22\uFF0C\u9700 API Key\uFF09\",\n \"packs.bind.usage\": \"\u7528\u6CD5: packs bind <uuid|folder> <projectId|slug|url>\",\n \"packs.unbind.usage\": \"\u7528\u6CD5: packs unbind <uuid|folder>\",\n \"packs.unbindOk\": \"\u5DF2\u89E3\u9664\u7ED1\u5B9A {uuid}\uFF08\u7F16\u8F91 {path} \u4EA6\u53EF\uFF09\",\n \"packs.unbindMiss\": \"\u672A\u627E\u5230\u7ED1\u5B9A: {id}\",\n \"packs.update.usage\": \"\u7528\u6CD5: packs update <uuid|folder|--all>\",\n \"packs.toggle.usage\": \"\u7528\u6CD5: packs {verb} <uuid|folder>\",\n \"packs.uninstall.usage\":\n \"\u7528\u6CD5: packs uninstall [uuid|folder...] [--purge] [--no-paired]\\n \u65E0\u53C2\u6570\u4E14\u4E3A TTY \u65F6\u8FDB\u5165\u591A\u9009\uFF1B\u53EF\u4E00\u6B21\u4F20\u591A\u4E2A id\",\n \"packs.uninstall.protected\": \"\u62D2\u7EDD\u5378\u8F7D\u5E73\u53F0\u805A\u5408\u5305: {folder}\uFF08\u8BF7\u7528 sfmc mod\uFF09\",\n \"packs.uninstall.trashed\": \"\u5DF2\u5378\u8F7D\u5E76\u79FB\u5165\u56DE\u6536\u7AD9: {folder}\\n \u2192 {dest}\",\n \"packs.uninstall.deleted\": \"\u5DF2\u5378\u8F7D\u5E76\u5220\u9664: {folder}\",\n \"packs.uninstall.dirMissing\": \"\u6E05\u5355\u5DF2\u79FB\u9664\uFF0C\u76EE\u5F55\u672C\u5C31\u4E0D\u5B58\u5728: {folder}\",\n \"packs.uninstall.bindingRemoved\": \"\u5DF2\u6E05\u9664\u66F4\u65B0\u6E90\u7ED1\u5B9A: {uuid}\",\n \"packs.uninstall.pick\": \"\u9009\u62E9\u8981\u5378\u8F7D\u7684\u8D44\u6E90\u5305\uFF08\u7A7A\u683C\u52FE\u9009\uFF0C\u56DE\u8F66\u786E\u8BA4\uFF09\",\n \"packs.uninstall.summary\": \"\u5C06\u5378\u8F7D\u4EE5\u4E0B {count} \u9879\uFF08\u542B\u914D\u5BF9 RP\uFF09\uFF1A\",\n \"packs.uninstall.confirm\": \"\u786E\u8BA4\u5378\u8F7D\u8FD9 {count} \u9879\uFF1F\",\n \"packs.uninstall.cancelled\": \"\u5DF2\u53D6\u6D88\u5378\u8F7D\",\n \"packs.uninstall.none\": \"\u6CA1\u6709\u53EF\u5378\u8F7D\u7684\u8D44\u6E90\u5305\",\n \"packs.uninstall.pairedOf\": \"\uFF08\u914D\u5BF9\u81EA {folder}\uFF09\",\n \"packs.install.usage\": \"\u7528\u6CD5: packs install [path|--inbox] [--force]\",\n \"packs.installInbox\": \"\u6536\u4EF6\u7BB1\u5B89\u88C5: \u6210\u529F={installed} \u8DF3\u8FC7={skipped} \u5931\u8D25={failed}\",\n \"packs.scanResult\": \"\u626B\u63CF: \u6210\u529F={installed} \u8DF3\u8FC7={skipped} \u5931\u8D25={failed}\",\n \"packs.unknownSub\": \"\u672A\u77E5 packs \u5B50\u547D\u4EE4: {verb}\\n\",\n \"packs.usage.title\": \"{cmd}\uFF08\u522B\u540D {alias}\uFF09\u2014 \u4E16\u754C\u4FA7\u4EFB\u610F BP/RP\",\n \"packs.usage.bump\": \"\u4EC5 RP\uFF0Cpatch \u7248\u672C +1\",\n \"packs.usage.cfSearch\": \"CurseForge \u641C\u7D22\uFF08\u9700 Key\uFF09\",\n \"packs.usage.inbox\": \"\u6536\u4EF6\u7BB1: {path}\",\n \"packs.usage.trash\": \"\u5378\u8F7D\u56DE\u6536\u7AD9: {path}\uFF08pack-update.json \u2192 uninstall.recycleBin\uFF09\",\n \"packs.usage.sources\": \"\u66F4\u65B0\u6E90\u7ED1\u5B9A: {path}\uFF08\u53EF\u624B\u6539 enabled/projectId\uFF09\",\n \"packs.usage.enableNote\": \"\u5B89\u88C5\u9ED8\u8BA4\u5199\u5165 world_*_packs.json \u542F\u7528\uFF1B{hint}\u3002\",\n \"packs.usage.moduleNote\": \"\u6A21\u5757\u805A\u5408\u8BF7\u7528 {cmd}\uFF08\u975E\u672C\u547D\u4EE4\uFF09\u3002\",\n\n \"packUpdate.needKey\":\n \"\u672A\u914D\u7F6E\u4EFB\u4F55 pack \u66F4\u65B0\u6E90\u3002\u8BF7\u7F16\u8F91 {path} \u7684 providers.*.apiKey\uFF08\u6216\u5BF9\u5E94\u73AF\u5883\u53D8\u91CF\uFF09\u3002CurseForge\uFF1Ahttps://console.curseforge.com/ \u7533\u8BF7 Studios Key \u2192 providers.curseforge.apiKey / CURSEFORGE_API_KEY\",\n \"packUpdate.probeNoName\": \"\u65E0\u6CD5\u4ECE manifest / \u6587\u4EF6\u5939\u540D\u6D3E\u751F\u53EF\u641C\u7D22\u540D\u79F0\",\n \"packUpdate.probeQueries\": \"\u63A2\u6D4B\u67E5\u8BE2\u6E90 header={header} folder={folder}\\n \u2192 {queries}\",\n \"packUpdate.probeFail\": \"\u63A2\u6D4B\u66F4\u65B0\u6E90\u5931\u8D25: {message}\",\n \"packUpdate.probeMiss\": \"\u672A\u5728 CurseForge \u627E\u5230\u5339\u914D: {name}\",\n \"packUpdate.probeLowScore\": \"\u5019\u9009\u76F8\u4F3C\u5EA6\u504F\u4F4E: {name} \u2192 {hit} ({score}) {url}\",\n \"packUpdate.probeHit\": \"\u627E\u5230\u53EF\u80FD\u7684\u66F4\u65B0\u6E90: {name} \u2192 {hit} ({score})\\n {url}\",\n \"packUpdate.editHint\": \"\u7A0D\u540E\u53EF\u7F16\u8F91 {path} \u4FEE\u6539/\u5173\u95ED\u5BF9\u5E94\u6E90\uFF08enabled: false\uFF09\",\n \"packUpdate.confirmBind\": \"\u5C06\u6B64 CurseForge \u9879\u76EE\u7ED1\u5B9A\u4E3A\u66F4\u65B0\u6E90\uFF1F {hit}\",\n \"packUpdate.probeAutoBind\": \"\u975E\u4EA4\u4E92\u73AF\u5883\uFF1A\u81EA\u52A8\u7ED1\u5B9A \u2192 {provider}:{slug}\\n {path}\",\n \"packUpdate.probeNoAutoBind\": \"\u975E\u4EA4\u4E92\u73AF\u5883\u4E0D\u81EA\u52A8\u7ED1\u5B9A\uFF1B\u53EF\u7528 packs bind \u624B\u52A8\u7ED1\u5B9A\",\n \"packUpdate.bindSkipped\": \"\u5DF2\u8DF3\u8FC7\u7ED1\u5B9A\",\n \"packUpdate.bindOk\": \"\u5DF2\u7ED1\u5B9A {uuid} \u2192 {provider}:{slug} [{enabled}]\\n \u6587\u4EF6: {path}\",\n \"packUpdate.bindBpOnly\": \"\u53EA\u80FD\u4E3A\u884C\u4E3A\u5305\uFF08BP\uFF09\u7ED1\u5B9A\u66F4\u65B0\u6E90\",\n \"packUpdate.resolveFail\": \"\u65E0\u6CD5\u89E3\u6790 CurseForge \u9879\u76EE: {ref}\",\n \"packUpdate.searchEmpty\": \"CurseForge \u65E0\u7ED3\u679C: {query}\",\n \"packUpdate.sourcesHeader\": \"\u914D\u7F6E: {config}\\n\u7ED1\u5B9A: {sources}\",\n \"packUpdate.sourcesEmpty\": \"\u5C1A\u65E0\u7ED1\u5B9A\u3002\u5B89\u88C5 BP \u540E\u4F1A\u5C1D\u8BD5\u63A2\u6D4B\uFF0C\u6216\u4F7F\u7528 packs bind\u3002\",\n \"packUpdate.disabled\": \"pack-update \u5DF2\u5728\u914D\u7F6E\u4E2D\u7981\u7528\",\n \"packUpdate.bindingDisabled\": \"\u7ED1\u5B9A\u5DF2\u5173\u95ED (enabled: false)\",\n \"packUpdate.noRemoteFile\": \"\u8FDC\u7A0B\u65E0\u53EF\u7528\u6587\u4EF6\",\n \"packUpdate.fileNewer\": \"\u8FDC\u7A0B\u6587\u4EF6\u66F4\u65B0: {file} (id={id})\",\n \"packUpdate.upToDate\": \"\u5DF2\u662F\u6700\u65B0\",\n \"packUpdate.needSync\": \"\u8FDC\u7A0B\u6587\u4EF6\u5C1A\u672A\u540C\u6B65\u5230\u4E16\u754C\u76EE\u5F55\uFF08\u7248\u672C {local} \u2261 {remote}\uFF0CfileId={id}\uFF09\",\n \"packUpdate.remoteNoBp\": \"\u8FDC\u7A0B\u5F52\u6863\u4E2D\u672A\u627E\u5230\u884C\u4E3A\u5305\",\n \"packUpdate.bpNewer\": \"BP \u6709\u66F4\u65B0 {local} \u2192 {remote}\",\n \"packUpdate.installFail\": \"\u5B89\u88C5\u5931\u8D25: {reason}\",\n \"packUpdate.installedBp\": \"\u5DF2\u5199\u5165 BP \u2192 {dir} (v{version})\",\n \"packUpdate.installedRp\": \"\u5DF2\u5199\u5165 RP \u2192 {dir} (v{version})\",\n \"packUpdate.rpInstallMiss\": \"\u5F52\u6863\u542B RP \u4F46\u672A\u80FD\u5B89\u88C5\u914D\u5BF9\u8D44\u6E90\u5305\uFF08\u68C0\u67E5 dependencies / pairedResourceUuid\uFF09\",\n \"packUpdate.applied\": \"\u5DF2\u66F4\u65B0 {name} BP={bp} RP={rp}\",\n \"packUpdate.noBinding\": \"\u672A\u627E\u5230\u66F4\u65B0\u6E90\u7ED1\u5B9A: {id}\",\n \"packUpdate.startupFail\": \"\u542F\u52A8\u65F6\u68C0\u67E5\u66F4\u65B0\u5931\u8D25: {message}\",\n};\n"],
|
|
5
|
-
"mappings": "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",
|
|
4
|
+
"sourcesContent": ["import type { MessageKey } from \"./en.js\";\n\n/** \u7B80\u4F53\u4E2D\u6587\u6587\u6848\uFF1B\u952E\u96C6\u987B\u4E0E en \u4E00\u81F4\u3002 */\nexport const zhCN: Record<MessageKey, string> = {\n \"common.cancelled\": \"\u5DF2\u53D6\u6D88\",\n \"common.done\": \"\u5B8C\u6210\",\n \"common.required\": \"\u5FC5\u586B\",\n \"common.error\": \"\u9519\u8BEF: {message}\",\n \"common.fatal\": \"\u81F4\u547D\u9519\u8BEF\",\n \"common.unknownCommand\": \"\u672A\u77E5\u547D\u4EE4: {cmd}\",\n \"common.unknownShort\": \"\u672A\u77E5: {cmd} \uFF08\u8F93\u5165 help \u67E5\u770B\u5E2E\u52A9\uFF09\",\n \"common.tips\": \"\u63D0\u793A\",\n \"common.path\": \"\u8DEF\u5F84\",\n \"common.hint\": \"\u63D0\u793A\",\n \"common.none\": \"\uFF08\u65E0\uFF09\",\n \"common.all\": \"\u5168\u90E8\",\n\n \"locale.current\": \"\u5F53\u524D\u8BED\u8A00: {locale}\",\n \"locale.set\": \"\u8BED\u8A00\u5DF2\u8BBE\u4E3A {locale}\",\n \"locale.invalid\": \"\u672A\u77E5\u8BED\u8A00: {value}\uFF08\u53EF\u9009: zh-CN, en\uFF09\",\n \"locale.usage\": \"\u7528\u6CD5: locale [zh-CN|en|zh|cn]\",\n \"locale.wizard\": \"CLI language / \u754C\u9762\u8BED\u8A00\",\n \"locale.opt.zh\": \"\u7B80\u4F53\u4E2D\u6587\",\n \"locale.opt.en\": \"English\",\n\n /* \u2500\u2500\u2500 CLI \u901A\u9053\u95E8\u7981 \u2500\u2500\u2500 */\n \"cli.replOnly\": \"\u547D\u4EE4 `{cmd}` \u4EC5\u53EF\u5728 REPL \u5185\u4F7F\u7528\u3002\",\n \"cli.replOnly.hint\": \"\u5148\u8FD0\u884C\u65E0\u53C2\u6570\u7684 `sfmc` \u8FDB\u5165\u4EA4\u4E92\u6A21\u5F0F\uFF0C\u518D\u6267\u884C\u8BE5\u547D\u4EE4\u3002\",\n \"cli.needTty\": \"\u547D\u4EE4 `{cmd}` \u9700\u8981\u4EA4\u4E92\u5F0F\u7EC8\u7AEF\uFF08TTY\uFF09\u3002\",\n\n /* \u2500\u2500\u2500 debug (BDS \u914D\u7F6E) \u2500\u2500\u2500 */\n \"debug.state.on\": \"\u5F00\u542F\",\n \"debug.state.off\": \"\u5173\u95ED\",\n \"debug.statusTitle\": \"BDS \u8C03\u8BD5\u914D\u7F6E\",\n \"debug.enabled\": \"sfmc_debug = true\uFF08BDS \u63A7\u5236\u53F0\u8C03\u8BD5\u65E5\u5FD7\u5C06\u5728\u4E0B\u6B21 reload \u540E\u751F\u6548\uFF09\",\n \"debug.disabled\": \"sfmc_debug = false\uFF08BDS \u63A7\u5236\u53F0\u8C03\u8BD5\u65E5\u5FD7\u5C06\u5728\u4E0B\u6B21 reload \u540E\u5173\u95ED\uFF09\",\n \"debug.sentry.set\": \"\u5DF2\u8BBE\u7F6E SENTRY_DSN: {dsn}\",\n \"debug.sentry.removed\": \"\u5DF2\u5220\u9664 SENTRY_DSN\",\n \"debug.sentry.alreadyOff\": \"SENTRY_DSN \u672C\u6765\u5C31\u672A\u8BBE\u7F6E\",\n \"debug.sentry.dsnMissing\": \"\u9700\u8981 --dsn <\u503C>\",\n \"debug.sentry.unknown\": \"\u672A\u77E5 sentry \u5B50\u547D\u4EE4: {action}\",\n \"debug.sentry.usage\": \"\u7528\u6CD5: debug sentry on --dsn <dsn> | debug sentry off\",\n \"debug.unknown\": \"\u672A\u77E5 debug \u5B50\u547D\u4EE4: {sub}\",\n \"debug.usage\": \"\u7528\u6CD5: debug status | enable | disable | sentry on --dsn | sentry off\",\n \"debug.reloadHint\": \"\u9700\u8FD0\u884C `sfmc mod reload` \u6216\u91CD\u542F BDS \u540E\u751F\u6548\u3002\",\n\n /* \u2500\u2500\u2500 \u5E2E\u52A9\u6587\u672C \u2500\u2500\u2500 */\n \"help.title\": \"SFMC CLI\",\n \"help.title.repl\": \"SFMC REPL\",\n \"help.usage\": \"\u7528\u6CD5:\",\n \"help.section.options\": \"\u9009\u9879\",\n \"help.opt.packs\": \"\u8D44\u6E90\u5305\u7BA1\u7406\u5668\uFF0C\u540E\u63A5 packs \u5B50\u547D\u4EE4\uFF1Bi = install\",\n \"help.opt.lang\": \"\u672C\u6B21\u8FDB\u7A0B\u754C\u9762\u8BED\u8A00\",\n \"help.addon.compat\": \"\u517C\u5BB9\uFF1A-p/--packs\",\n \"help.slash.hint\": \"\u952E\u5165 / \u5217\u51FA\u547D\u4EE4\u3002\",\n \"help.shortcut.slash\": \"\u547D\u4EE4\u5217\u8868\",\n \"help.shortcut.ctrlp\": \"\u547D\u4EE4\u5217\u8868\",\n \"help.shortcut.cursor\": \"\u79FB\u52A8\u5149\u6807\",\n \"repl.palette.hint\": \"\u2191\u2193 \u00B7 Enter \u00B7 Esc\",\n \"repl.palette.empty\": \"\u65E0\u5339\u914D\",\n \"help.section.service\": \" \u670D\u52A1\u63A7\u5236 \u2500\u2500\u2500\u2500\u2500\u2500\",\n \"help.status\": \"\u67E5\u770B\u670D\u52A1\u72B6\u6001\uFF08\u542B QQ \u540E\u7AEF\u6458\u8981\uFF09\",\n \"help.logs\": \"\u65E5\u5FD7\u5386\u53F2\",\n \"help.start\": \"\u542F\u52A8\u670D\u52A1\uFF08db / qq / llbot / bds\uFF1Bqq \u9ED8\u8BA4\u5B98\u65B9 Bot\uFF09\",\n \"help.stop\": \"\u505C\u6B62\u670D\u52A1\",\n \"help.restart\": \"\u91CD\u542F\u670D\u52A1\",\n \"help.send\": \"\u5411\u670D\u52A1\u53D1\u9001\u547D\u4EE4\uFF08Tab \u5207\u6362\u76EE\u6807\uFF1BQQ \u63D0\u793A\u7B26\u533A\u5206 official / llbot\uFF09\",\n \"help.section.update\": \" BDS \u66F4\u65B0 \u2500\u2500\u2500\u2500\u2500\u2500\",\n \"help.update\": \"\u68C0\u67E5BDS \u66F4\u65B0\",\n \"help.update.checkOnly\": \"\u53EA\u68C0\u67E5\u66F4\u65B0\uFF0C\u4E0D\u4E0B\u8F7D\",\n \"help.update.force\": \"\u5373\u4F7F\u7248\u672C\u76F8\u540C\u4E5F\u5F3A\u5236\u66F4\u65B0\",\n \"help.update.noStart\": \"\u66F4\u65B0\u540E\u4E0D\u542F\u52A8 BDS\",\n \"help.update.channelRelease\": \"\u4F7F\u7528\u6B63\u5F0F\u7248\u901A\u9053\",\n \"help.update.channelPreview\": \"\u4F7F\u7528\u9884\u89C8\u7248\u901A\u9053\",\n \"help.section.debug\": \" \u8C03\u8BD5 \u2500\u2500\u2500\u2500\u2500\u2500\",\n \"help.debug.status\": \"SFMC_DEBUG \u72B6\u6001\",\n \"help.debug.toggle\": \"\u5F00\u5173 SFMC_DEBUG\",\n \"help.debug.sentry.on\": \"\u8BBE\u7F6E SENTRY_DSN\",\n \"help.debug.sentry.off\": \"\u5220\u9664 SENTRY_DSN\",\n \"help.debug.sentry\": \"\u914D\u7F6E Sentry DSN\",\n \"help.ui\": \"UI Studio \u58F0\u660E\u5F0F\u754C\u9762\u53EF\u89C6\u5316\u7F16\u8F91\u5668\",\n \"help.ui.studio\": \"\u542F\u52A8 UI Studio \u5E76\u6253\u5F00\u6D4F\u89C8\u5668\",\n \"help.ui.stop\": \"\u505C\u6B62\u5F53\u524D\u8FDB\u7A0B\u91CC\u7684 UI Studio\",\n \"ui.usage\": \"\u7528\u6CD5: ui studio | ui stop\",\n \"ui.studio.started\": \"UI Studio \u5DF2\u542F\u52A8: {url}\",\n \"ui.studio.hint\": \"\u6309 Ctrl+C \u505C\u6B62\u670D\u52A1\u3002\",\n \"ui.studio.already\": \"UI Studio \u5DF2\u5728\u8FD0\u884C: {url}\",\n \"ui.studio.stopped\": \"UI Studio \u5DF2\u505C\u6B62\u3002\",\n \"ui.studio.notRunning\": \"\u5F53\u524D\u8FDB\u7A0B\u6CA1\u6709\u8FD0\u884C\u4E2D\u7684 UI Studio\u3002\",\n \"ui.studio.failed\": \"\u542F\u52A8 UI Studio \u5931\u8D25: {message}\",\n \"help.section.module\": \" \u6A21\u5757\u7BA1\u7406 \u2500\u2500\u2500\u2500\u2500\u2500\",\n \"help.module.list\": \"\u5217\u51FA\u5DF2\u5B89\u88C5\u6A21\u5757\",\n \"help.module.search\": \"\u5728\u7EBF\u641C\u7D22\u6A21\u5757\",\n \"help.module.submit\": \"\u9884\u89C8\u6216\u63D0\u4EA4\u6A21\u5757\u5230\u5B98\u65B9\u7D22\u5F15\u4ED3\",\n \"help.module.install\": \"\u5B89\u88C5\u6A21\u5757\",\n \"help.module.uninstall\": \"\u5378\u8F7D\u5DF2\u5B89\u88C5\u6A21\u5757\",\n \"help.module.verify\": \"\u6821\u9A8C\u6A21\u5757 SHA-256 \u5B8C\u6574\u6027\",\n \"help.module.info\": \"\u663E\u793A\u6A21\u5757\u8BE6\u60C5\",\n \"help.module.toggle\": \"\u542F\u7528/\u7981\u7528\u6A21\u5757\",\n \"help.module.update\": \"\u68C0\u67E5\u5E76\u66F4\u65B0\u5DF2\u5B89\u88C5\u6A21\u5757\",\n \"help.module.pin\": \"\u6253\u5F00\u6216\u5173\u95ED\u6A21\u5757\u81EA\u52A8\u66F4\u65B0\",\n \"help.module.build\": \"\u4ECE\u5DF2\u542F\u7528\u6A21\u5757\u6784\u5EFA\u8D44\u6E90\u5305\",\n \"help.module.reload\": \"\u6784\u5EFA\u5E76\u90E8\u7F72\u8D44\u6E90\u5305\uFF0C\u5728 BDS \u53D1\u9001 reload\u6307\u4EE4\u4EE5\u91CD\u8F7D\u811A\u672C\",\n \"help.section.addon\": \" \u8D44\u6E90\u5305\u7BA1\u7406 \u2500\u2500\u2500\u2500\u2500\u2500\",\n \"help.addon\": \"\u8D44\u6E90\u5305\u6536\u4EF6\u7BB1\u7BA1\u7406\",\n \"help.packs.list\": \"\u5DF2\u5B89\u88C5\u8D44\u6E90\u5305\u5217\u8868\",\n \"help.packs.search\": \"\u5728\u7EBF\u641C\u7D22\u8D44\u6E90\u5305\",\n \"help.packs.enable\": \"\u542F\u7528\u8D44\u6E90\u5305\",\n \"help.packs.disable\": \"\u7981\u7528\u8D44\u6E90\u5305\",\n \"help.packs.doctor\": \"\u8BCA\u65AD\u8D44\u6E90\u5305\u63A5\u7EBF\",\n \"help.packs.doctor.fix\": \"\u4FEE\u590D\u63A5\u7EBF\u5E76\u8865\u9F50\u7F3A\u5931\u7684\u6D4B\u8BD5\u7248 API\",\n \"help.packs.doctor.allExperiments\": \"\u5F00\u542F\u5168\u90E8\u5DF2\u77E5\u5B9E\u9A8C\u6027\u73A9\u6CD5\",\n \"help.packs.doctor.experiments\": \"\u4EC5\u67E5\u770B\u5B9E\u9A8C\u6027\u5F00\u5173\u72B6\u6001\",\n \"help.packs.doctor.experimentsList\": \"\u6309\u522B\u540D\u5F00\u542F\uFF0C\u9017\u53F7\u5206\u9694\uFF1Abeta, upcoming, cameras, voxel, villager, drop3, edu\",\n \"help.packs.path\": \"\u663E\u793A\u8D44\u6E90\u5305\u8DEF\u5F84\",\n \"help.section.general\": \" \u901A\u7528 \u2500\u2500\u2500\u2500\u2500\u2500\",\n \"help.init\": \"\u521D\u59CB\u5316\u5411\u5BFC\",\n \"help.locale\": \"\u8BBE\u7F6E CLI \u8BED\u8A00\",\n \"help.version\": \"\u663E\u793A\u7248\u672C\",\n \"help.help\": \"\u663E\u793A\u5E2E\u52A9\",\n \"help.quit\": \"\u9000\u51FA CLI\uFF08\u540E\u53F0\u670D\u52A1\u7EE7\u7EED\u8FD0\u884C\uFF09\",\n \"help.shortcuts\": \"\u5FEB\u6377\u952E:\",\n \"help.shortcut.tab\": \"\u5207\u6362\u53D1\u9001\u76EE\u6807 / \u547D\u4EE4\u5217\u8868\u9009\u62E9\",\n \"help.shortcut.right\": \"\u63A5\u53D7\u5EFA\u8BAE\",\n \"help.shortcut.ctrll\": \"\u8FC7\u6EE4\u65E5\u5FD7\u7EA7\u522B / \u6765\u6E90 / \u5386\u53F2\",\n \"help.shortcut.history\": \"\u547D\u4EE4\u5386\u53F2\",\n\n /* \u2500\u2500\u2500 REPL \u2500\u2500\u2500 */\n \"repl.stopping\": \"\u6B63\u5728\u505C\u6B62\u670D\u52A1...\",\n \"repl.detach\": \"\u5DF2\u65AD\u5F00 CLI\uFF08\u540E\u53F0\u670D\u52A1\u7EE7\u7EED\u8FD0\u884C\uFF1B\u505C\u670D\u7528 stop / daemon stop\uFF09\",\n \"repl.bye\": \"bye...\",\n \"repl.forceStop\": \"\u6B63\u5728\u5F3A\u5236\u505C\u6B62\u670D\u52A1...\",\n \"repl.nonInteractive\": \" \u975E\u4EA4\u4E92\u6A21\u5F0F\uFF08\u68C0\u6D4B\u5230\u7BA1\u9053\uFF09\\n\",\n\n /* \u2500\u2500\u2500 \u5B88\u62A4\u8FDB\u7A0B \u2500\u2500\u2500 */\n \"daemon.stopped\": \"\u5B88\u62A4\u8FDB\u7A0B\u5DF2\u505C\u6B62\",\n \"daemon.notRunning\": \"\u5B88\u62A4\u8FDB\u7A0B\u672A\u8FD0\u884C\",\n \"daemon.running\": \"\u5B88\u62A4\u8FDB\u7A0B\u8FD0\u884C\u4E2D (PID {pid})\",\n \"daemon.usage\": \"\u7528\u6CD5: daemon [status|stop]\",\n \"daemon.connectFailed\": \"\u65E0\u6CD5\u8FDE\u63A5\u5B88\u62A4\u8FDB\u7A0B: {message}\",\n \"help.daemon\": \"\u67E5\u770B/\u505C\u6B62\u540E\u53F0\u5B88\u62A4\u8FDB\u7A0B\",\n \"help.daemon.status\": \"\u67E5\u770B\u5B88\u62A4\u8FDB\u7A0B\u662F\u5426\u5728\u8FD0\u884C\",\n \"help.daemon.stop\": \"\u505C\u6B62\u540E\u53F0\u5B88\u62A4\u8FDB\u7A0B\",\n \"palette.asIs\": \"\u76F4\u63A5\u8FD0\u884C\",\n \"palette.fixOnly\": \"\u4EC5\u4FEE\u590D\",\n \"palette.localeCurrent\": \"\u5F53\u524D\u8BED\u8A00\",\n \"repl.historyHeader\": \"\u2500\u2500 \u5386\u53F2 {count} \u884C \u2500\u2500\",\n \"repl.filter\": \"\u8FC7\u6EE4: {level} / {source} / {history}\",\n \"repl.followRequiresTty\": \"\u8DDF\u8E2A\u6A21\u5F0F\u9700\u8981 TTY\",\n \"repl.logsReplOnly\": \"logs \u4EC5\u5728\u4EA4\u4E92 REPL \u4E2D\u53EF\u7528\",\n \"repl.history.live\": \"\u5B9E\u65F6\",\n \"repl.history.last50\": \"\u6700\u8FD1 50 \u6761\",\n \"repl.history.last100\": \"\u6700\u8FD1 100 \u6761\",\n \"repl.history.last500\": \"\u6700\u8FD1 500 \u6761\",\n \"repl.history.last1000\": \"\u6700\u8FD1 1000 \u6761\",\n \"repl.history.last1min\": \"\u6700\u8FD1 1 \u5206\u949F\",\n \"repl.history.last5min\": \"\u6700\u8FD1 5 \u5206\u949F\",\n \"repl.history.last15min\": \"\u6700\u8FD1 15 \u5206\u949F\",\n \"repl.history.last1hour\": \"\u6700\u8FD1 1 \u5C0F\u65F6\",\n \"repl.history.all\": \"\u7F13\u51B2\u5168\u90E8\",\n\n /* \u2500\u2500\u2500 \u670D\u52A1\u63A7\u5236 \u2500\u2500\u2500 */\n \"svc.header\": \"\u670D\u52A1\",\n \"svc.col.name\": \"\u540D\u79F0\",\n \"svc.col.status\": \"\u72B6\u6001\",\n \"svc.col.owner\": \"\u5F52\u5C5E\",\n \"svc.col.pid\": \"PID\",\n \"svc.col.uptime\": \"\u8FD0\u884C\u65F6\u957F\",\n \"svc.state.running\": \"\u8FD0\u884C\u4E2D\",\n \"svc.state.stopped\": \"\u5DF2\u505C\u6B62\",\n \"svc.owner.managed\": \"\u63A5\u7BA1\",\n \"svc.owner.external\": \"\u5916\u90E8\",\n \"svc.owner.none\": \"\u2014\",\n \"svc.running\": \"\u8FD0\u884C\u4E2D - \u5DF2\u63A5\u7BA1\",\n \"svc.runningExternal\": \"\u8FD0\u884C\u4E2D - \u5916\u90E8\",\n \"svc.stopped\": \"\u5DF2\u505C\u6B62\",\n \"svc.unknown\": \"\u672A\u77E5\u670D\u52A1: {name}\uFF08\u53EF\u9009: {list}\uFF09\",\n \"svc.logs.usage\": \"\u7528\u6CD5: logs <service> [-n N] [-f]\",\n \"svc.logs.empty\": \"\uFF08\u6682\u65E0\u65E5\u5FD7\uFF09\",\n \"svc.logs.header\": \"{title} \u65E5\u5FD7\uFF08\u6700\u8FD1 {count} \u6761\uFF09:\",\n \"svc.start.usage\": \"\u7528\u6CD5: start <service>|-all\",\n \"svc.start.usageShort\": \"\u7528\u6CD5: start <service>|-all\",\n \"svc.stop.usage\": \"\u7528\u6CD5: stop <service>|-all\",\n \"svc.stop.usageShort\": \"\u7528\u6CD5: stop <service>|-all\",\n \"svc.restart.usage\": \"\u7528\u6CD5: restart <service>|-all\",\n \"svc.restart.usageShort\": \"\u7528\u6CD5: restart <service>|-all\",\n \"svc.alreadyRunning\": \"{title} \u5DF2\u5728\u8FD0\u884C\uFF08PID {pid}\uFF09\",\n \"svc.alreadyStarting\": \"{title} \u6B63\u5728\u542F\u52A8...\",\n \"svc.started\": \"{title} \u5DF2\u542F\u52A8\",\n \"svc.startFailed\": \"{title} \u5931\u8D25: {message}\",\n \"svc.alreadyStopped\": \"{title} \u5DF2\u505C\u6B62\",\n \"svc.alreadyStopping\": \"{title} \u6B63\u5728\u505C\u6B62...\",\n \"svc.stoppedMsg\": \"{title} \u5DF2\u505C\u6B62\",\n \"svc.stopFailed\": \"{title} \u505C\u6B62\u5931\u8D25: {message}\",\n \"svc.send.usage\": \"\u7528\u6CD5: send <service> <message>\",\n \"svc.notRunning\": \"{title} \u672A\u8FD0\u884C\",\n \"svc.writeFailed\": \"\u5199\u5165\u5931\u8D25\",\n \"svc.restarted\": \"{title} \u5DF2\u91CD\u542F\",\n \"svc.restartFailed\": \"{title} \u91CD\u542F\u5931\u8D25: {message}\",\n \"svc.allStarted\": \"\u5168\u90E8\u670D\u52A1\u5DF2\u542F\u52A8\",\n \"svc.allStopped\": \"\u5168\u90E8\u670D\u52A1\u5DF2\u505C\u6B62\",\n \"svc.skipped\": \"{title} \u5DF2\u8DF3\u8FC7: {reason}\",\n \"svc.startAll.started\": \"\u5DF2\u542F\u52A8: {list}\",\n \"svc.startAll.skipped\": \"\u5DF2\u8DF3\u8FC7: {list}\",\n \"svc.startAll.failed\": \"\u542F\u52A8\u5931\u8D25: {list}\",\n \"svc.startAll.empty\": \"\u6CA1\u6709\u670D\u52A1\u9700\u8981\u542F\u52A8\",\n \"svc.updateComplete\": \"\u66F4\u65B0\u5B8C\u6210\",\n \"svc.updateExited\": \"\u66F4\u65B0\u8FDB\u7A0B\u9000\u51FA\uFF0C\u4EE3\u7801 {code}\",\n \"svc.updateError\": \"\u66F4\u65B0\u9519\u8BEF: {message}\",\n \"svc.updateStartBds\": \"\u66F4\u65B0: \u901A\u8FC7\u8FDB\u7A0B\u76D1\u7763\u5668\u542F\u52A8 BDS\",\n \"svc.bdsStarted\": \"BDS \u5DF2\u542F\u52A8\uFF08\u76D1\u7763\u6A21\u5F0F\uFF09\",\n \"svc.bdsStartFailed\": \"BDS \u542F\u52A8\u5931\u8D25: {message}\",\n \"svc.bdsStoppedForUpdate\": \"\u66F4\u65B0\u65F6\u5DF2\u505C\u6B62 BDS\uFF1B\u5C31\u7EEA\u540E\u8BF7\u6267\u884C `start bds`\",\n \"svc.bdsAlreadyRunning\": \"BDS \u5DF2\u5728\u8FD0\u884C\uFF08{kind}\uFF0CPID {pid}\uFF09\",\n \"svc.stdinUnavailable\": \"{title} \u7531\u5916\u90E8\u542F\u52A8\uFF0C\u65E0\u6CD5\u901A\u8FC7 stdin \u53D1\u9001\u547D\u4EE4\",\n \"svc.stoppedExternal\": \"{title} \u5DF2\u505C\u6B62\uFF08\u5916\u90E8\u8FDB\u7A0B\uFF09\",\n\n /* \u2500\u2500\u2500 \u521D\u59CB\u5316 \u2500\u2500\u2500 */\n \"wizard.intro\": \"\u521D\u59CB\u5316\",\n \"wizard.rerun\": \"\u5DF2\u521D\u59CB\u5316\u3002\u662F\u5426\u91CD\u65B0\u8FD0\u884C\u5411\u5BFC\uFF1F\",\n \"wizard.skipped\": \"\u5DF2\u8DF3\u8FC7\u521D\u59CB\u5316\",\n \"wizard.step1\": \"\u6B65\u9AA4 1 - \u8FD0\u884C\u73AF\u5883\",\n \"wizard.runtimeRoot\": \"\u8FD0\u884C\u6839\u76EE\u5F55: {root}\",\n \"wizard.runtimeMissingAssets\": \"\u8FD0\u884C\u73AF\u5883\u7F3A\u5C11\u5FC5\u9700\u76EE\u5F55: {list}\",\n \"wizard.prepFailed\": \"\u8FD0\u884C\u73AF\u5883\u51C6\u5907\u5931\u8D25: {message}\",\n \"wizard.step2\": \"\u6B65\u9AA4 2 - \u5916\u90E8\u8FD0\u884C\u65F6\",\n \"wizard.step2Note\": \"\u5148\u786E\u8BA4 BDS \u76EE\u5F55\u3002\u6570\u636E\u5E93\u3001\u5907\u4EFD\u548C QQ \u53EF\u4EE5\u6CBF\u7528\u9ED8\u8BA4\u503C\u3002\",\n \"wizard.bdsDir\": \"BDS \u5B89\u88C5\u76EE\u5F55\",\n \"wizard.cannotCreateBds\": \"\u65E0\u6CD5\u521B\u5EFA BDS \u5B89\u88C5\u76EE\u5F55: {dir}\",\n \"wizard.qqBackend\": \"QQ \u6865\u63A5\u540E\u7AEF:\",\n \"wizard.qqBackend.official\": \"QQ \u5F00\u653E\u5E73\u53F0\uFF08\u5B98\u65B9 Bot\uFF09\",\n \"wizard.qqBackend.officialHint\": \"\u9700 AppID / AppSecret\uFF0C\u53EF\u7A0D\u540E\u914D\u7F6E\",\n \"wizard.qqBackend.llbot\": \"LLBot\uFF08OneBot 11\uFF09\",\n \"wizard.qqBackend.llbotHint\": \"\u9700\u672C\u673A LLBot \u8FDB\u7A0B\",\n \"wizard.qqBackend.disabled\": \"\u6682\u4E0D\u542F\u7528 QQ \u6865\",\n \"wizard.qqBackend.disabledHint\": \"qq_enabled=false\",\n \"wizard.qqAppId\": \"QQ \u5F00\u653E\u5E73\u53F0 AppID:\",\n \"wizard.qqAppSecret\": \"QQ \u5F00\u653E\u5E73\u53F0 AppSecret:\",\n \"wizard.qqSandbox\": \"\u4F7F\u7528\u6C99\u7BB1\u73AF\u5883\uFF1F\",\n \"wizard.qqGroupOpenid\": \"\u7FA4 openid\uFF08\u53EF\u7A0D\u540E\u586B\u5199\uFF09:\",\n \"wizard.qqGroupOpenidHint\": \"\u975E\u4F20\u7EDF\u7FA4\u53F7\",\n \"wizard.enableLlbot\": \"\u542F\u7528 LLBot \u8FDB\u7A0B\u63A5\u7BA1\uFF1F\",\n \"wizard.llbotDir\": \"LLBot \u8FD0\u884C\u76EE\u5F55\",\n \"wizard.usingDefault\": \"\u4F7F\u7528\u9ED8\u8BA4: {path}\",\n \"wizard.dbDir\": \"\u6570\u636E\u5E93\u5B58\u50A8\u76EE\u5F55\",\n \"wizard.dbPort\": \"\u6570\u636E\u5E93\u670D\u52A1\u7AEF\u53E3:\",\n \"wizard.portRange\": \"\u8BF7\u8F93\u5165 1024\u201365535\",\n \"wizard.valueRequired\": \"\u6B64\u9879\u5FC5\u586B\uFF01\",\n \"wizard.step3\": \"\u6B65\u9AA4 3 - BDS \u73AF\u5883\",\n \"wizard.bdsFound\": \"\u5DF2\u627E\u5230: {path}\",\n \"wizard.bdsNotFound\": \"\u672A\u627E\u5230: {path}\",\n \"wizard.eula\": \"\u662F\u5426\u540C\u610F Mojang \u53D1\u5E03\u7684 EULA(https://www.minecraft.net/en-us/eula)\uFF1F\u4F7F\u7528\u672C\u7A0B\u5E8F\u524D\u5FC5\u987B\u540C\u610F\u3002\",\n \"wizard.disagreed\": \"\u5DF2\u62D2\u7EDD\u3002\",\n \"wizard.downloadBds\": \"\u73B0\u5728\u4E0B\u8F7D BDS\uFF1F\",\n \"wizard.selectChannel\": \"\u9009\u62E9\u901A\u9053:\",\n \"wizard.channel.release\": \"Release\",\n \"wizard.channel.releaseHint\": \"\u7A33\u5B9A\u7248\",\n \"wizard.channel.preview\": \"Preview\",\n \"wizard.channel.previewHint\": \"\u9884\u89C8\u7248\",\n \"wizard.cannotCreateBackup\": \"\u65E0\u6CD5\u521B\u5EFA BDS \u5907\u4EFD\u76EE\u5F55: {dir}\",\n \"wizard.backupDir\": \"BDS \u5907\u4EFD\u76EE\u5F55\",\n \"wizard.preserve\": \"\u66F4\u65B0\u65F6\u4FDD\u7559\u7684\u6587\u4EF6\uFF08\u4E0B\u6B21\u542F\u7528\u66F4\u65B0\u65F6\uFF09:\",\n \"wizard.preserve.serverProps\": \"\u670D\u52A1\u5668\u914D\u7F6E\",\n \"wizard.preserve.worlds\": \"\u4E16\u754C\u6570\u636E\",\n \"wizard.preserve.config\": \"\u914D\u7F6E\u76EE\u5F55\",\n \"wizard.updaterTip\": \"\u82E5\u627E\u4E0D\u5230 BDS \u8FD0\u884C\u65F6\uFF0C\u7A0D\u540E\u4F1A\u81EA\u52A8\u4E0B\u8F7DBDS\u3002\\n \u53EF\u5728 configs/bds_updater.json \u4E2D\u914D\u7F6E\u66F4\u65B0\u9009\u9879\u3002\",\n \"wizard.step4\": \"\u6B65\u9AA4 4 - \u6A21\u5757\",\n \"wizard.modulesFound\": \"\u53D1\u73B0 {count} \u4E2A\u53EF\u9009\u6A21\u5757\",\n \"wizard.modulesNone\": \"\u8FD8\u6CA1\u6709\u5DF2\u5B89\u88C5\u7684\u6A21\u5757\u3002\",\n \"wizard.useDefaults\": \"\u6570\u636E\u5E93\u3001\u5907\u4EFD\u76EE\u5F55\u548C\u66F4\u65B0\u4FDD\u7559\u9879\u4F7F\u7528\u9ED8\u8BA4\u503C\uFF1F\",\n \"wizard.defaultsApplied\": \"\u6570\u636E\u5E93 {db}\uFF08\u7AEF\u53E3 {port}\uFF09\uFF0C\u5907\u4EFD {backup}\u3002\",\n \"wizard.installFromRegistry\": \"\u4ECE\u5B98\u65B9\u7D22\u5F15\u5B89\u88C5\u6A21\u5757\uFF08\u53EF\u8DF3\u8FC7\uFF09\uFF1A\",\n \"wizard.registryLoading\": \"\u6B63\u5728\u8BFB\u53D6\u5B98\u65B9\u6A21\u5757\u7D22\u5F15\",\n \"wizard.registryOffline\": \"\u5B98\u65B9\u7D22\u5F15\u4E0D\u53EF\u7528\u3002\u7A0D\u540E\u6267\u884C `mod install <id>`\u3002\",\n \"wizard.enableModules\": \"\u542F\u7528\u6A21\u5757:\",\n \"wizard.emptyHint\": \"\uFF08\u7A7A\uFF09\",\n \"wizard.updatingConfigs\": \"\u6B63\u5728\u66F4\u65B0\u914D\u7F6E\",\n \"wizard.configsUpdated\": \"\u914D\u7F6E\u5DF2\u66F4\u65B0\",\n \"wizard.updatingModules\": \"\u6B63\u5728\u66F4\u65B0\u6A21\u5757\u72B6\u6001\",\n \"wizard.modulesUpdated\": \"\u6A21\u5757\u72B6\u6001\u5DF2\u66F4\u65B0\",\n \"wizard.initDb\": \"\u6B63\u5728\u521D\u59CB\u5316\u6570\u636E\u5E93\",\n \"wizard.dbTimeout\": \"\u6570\u636E\u5E93\u542F\u52A8\u8D85\u65F6\",\n \"wizard.dbOk\": \"\u6570\u636E\u5E93\u5DF2\u521D\u59CB\u5316\",\n \"wizard.downloadingBds\": \"\u6B63\u5728\u4E0B\u8F7D BDS\",\n \"wizard.downloadFail\": \"\u4E0B\u8F7D\u5931\u8D25\u3002\",\n \"wizard.bdsDownloaded\": \"BDS \u5DF2\u4E0B\u8F7D\",\n \"wizard.done\": \"\u5B8C\u6210\uFF01\u952E\u5165 / \u4EE5\u6267\u884C\u547D\u4EE4\",\n \"wizard.installing\": \"\u6B63\u5728\u5B89\u88C5 {count} \u4E2A\u6A21\u5757\",\n \"wizard.installed\": \"\u5DF2\u5B89\u88C5 {count} \u4E2A\",\n \"wizard.installFailed\": \"\u5B89\u88C5\u5931\u8D25: {message}\\n\u53EF\u7A0D\u540E\u6267\u884C: mod install <id>\",\n \"wizard.fetchMissing\": \"\u7F3A\u5C11 fetch-module \u2014 \u8BF7\u7A0D\u540E\u5BF9\u4EE5\u4E0B\u6A21\u5757\u6267\u884C `mod install <id>`: {list}\",\n \"wizard.noModulesSelected\": \"\u672A\u9009\u62E9\u6A21\u5757 \u2014 \u884C\u4E3A\u5305\u5C06\u4E3A\u7A7A\uFF0C\u76F4\u5230\u6267\u884C `mod install <id>` \u5B89\u88C5\u6A21\u5757\u3002\",\n \"wizard.buildingBp\": \"\u6B63\u5728\u6784\u5EFA\u884C\u4E3A\u5305\",\n \"wizard.buildFailed\": \"\u6784\u5EFA\u5931\u8D25: {message}\\n\u7A0D\u540E\u53EF\u6267\u884C `mod build` \u91CD\u8BD5\u3002\",\n \"wizard.deploying\": \"\u6B63\u5728\u90E8\u7F72\u5230 {path}\",\n \"wizard.restartBds\": \"\u8BF7\u91CD\u542F BDS \u4EE5\u52A0\u8F7D\u65B0\u884C\u4E3A\u5305\u3002\",\n \"wizard.deployFailed\": \"\u90E8\u7F72\u5931\u8D25: {message}\\n\u4FEE\u590D configs/ \u4E2D\u7684 bds_path \u540E\u6267\u884C `mod reload`\u3002\",\n\n \"prompt.useDefault\": \"\u4F7F\u7528\u6B64\u8DEF\u5F84\",\n \"prompt.enterPath\": \"\u8F93\u5165\u8DEF\u5F84\",\n \"prompt.browse\": \"\u6D4F\u89C8\u2026\",\n \"prompt.browseHint\": \"\u6253\u5F00\u7CFB\u7EDF\u6587\u4EF6\u5939\u9009\u62E9\u5668\",\n \"prompt.browseUnavailable\": \"\u65E0\u6CD5\u6253\u5F00\u7CFB\u7EDF\u9009\u62E9\u5668\uFF0C\u8BF7\u624B\u52A8\u8F93\u5165\u8DEF\u5F84\",\n\n \"reload.buildOnly\": \"\u6784\u5EFA\u5B8C\u6210\u3002\",\n \"reload.bdsNotRunning\": \"BDS \u672A\u8FD0\u884C \u2014 \u5DF2\u5B8C\u6210\u6784\u5EFA\u3002\",\n \"reload.sent\": \"\u5DF2\u5411 BDS \u53D1\u9001 reload\",\n\n \"bp.usage\": \"\u7528\u6CD5: bp <build|deploy>\",\n\n \"mod.usage\": \"\u7528\u6CD5: sfmc {cmds} <{subs}> [args]\",\n \"mod.list.title\": \"\u5DF2\u5B89\u88C5\u6A21\u5757\",\n \"mod.noneInstalled\": \"\\n\u672A\u5B89\u88C5\u6A21\u5757\u3002\u8BF7\u5C06\u6A21\u5757\u76EE\u5F55\u653E\u5230 {dir}\uFF0C\u6216\u6267\u884C `sfmc mod install <id>`\u3002\\n\",\n \"mod.notInRegistry\": '\u6A21\u5757 \"{query}\" \u4E0D\u5728\u5B98\u65B9 registry \u4E2D\u3002',\n \"mod.info.usage\": \"\u7528\u6CD5: mod info <id>\",\n \"mod.notInstalledAt\": \"\u6A21\u5757 {id} \u672A\u5B89\u88C5\u4E8E {path}\",\n \"mod.notInstalled\": \"\u6A21\u5757 {id} \u672A\u5B89\u88C5\",\n \"mod.verifyOk\": \"{id} \u6B63\u5E38\\n fingerprint: {fp}\\n\",\n \"mod.dbUnreachable\": \"\u65E0\u6CD5\u8FDE\u63A5 db-server {url}: {message}\u3002db \u670D\u52A1\u662F\u5426\u5728\u8FD0\u884C\uFF1F\uFF08sfmc> start db\uFF09\",\n \"mod.toggleFailed\": \"{action} {id} \u5931\u8D25: {err}\",\n \"mod.action.enabled\": \"\u5DF2\u542F\u7528\",\n \"mod.action.disabled\": \"\u5DF2\u7981\u7528\",\n \"mod.toggleOk\": \"{label} {id}\",\n \"mod.toggleBadBody\": \"{action} {id} \u8FD4\u56DE: {text}\",\n \"mod.cannotDisable\": \"\u6A21\u5757 {id} \u4E0D\u53EF\u7981\u7528\uFF08canDisable=false\uFF09\",\n \"mod.toggleLockFailed\": \"\u5199\u5165 module-lock \u5931\u8D25\uFF08{id}\uFF09: {message}\",\n \"mod.toggleDbSkipped\":\n \"\u5DF2\u5199\u5165 module-lock\uFF1Bdb-server \u672A\u540C\u6B65\uFF08{detail}\uFF09\u3002\u4E0B\u6B21 start db \u540E\u5185\u5B58\u6001\u4F1A\u8DDF\u4E0A\uFF1B\u6E38\u620F\u5185\u4ECD\u9700 mod reload / \u91CD\u542F BDS\u3002\",\n \"mod.enable.usage\": \"\u7528\u6CD5: mod enable <id>\",\n \"mod.disable.usage\": \"\u7528\u6CD5: mod disable <id>\",\n \"mod.install.usage\": \"\u7528\u6CD5: mod install <id>\\n mod install <id> --from <scheme> [--link] [--sha256 <hex>]\",\n \"mod.fromUnknown\": \"\u672A\u77E5\u7684 --from \u6765\u6E90: {value}\u3002\u53EF\u7528: npm:|local[:<\u8DEF\u5F84>]|tgz:|zip:|dir:|github:<repo>[@tag]\",\n \"mod.fetchMissing\": \"\u672A\u627E\u5230 fetch-module\u3002\u8BF7\u5B89\u88C5 @sfmc-bds/sfmc \u6216\u5728 monorepo \u5185\u8FD0\u884C\u3002\",\n \"mod.uninstall.usage\": \"\u7528\u6CD5: mod uninstall <id>\",\n \"mod.notInstalledFolder\": \"\u6A21\u5757 {id} \u672A\u5B89\u88C5\uFF08\u76EE\u5F55\u4E0D\u5B58\u5728: {path}\uFF09\",\n \"mod.removed\": \"\u5DF2\u4ECE {path} \u79FB\u9664 {id}\\n\",\n \"mod.update.usage\": \"\u7528\u6CD5: mod update [id...] [--check] [--yes] [--allow-major]\",\n \"mod.update.disabled\": \"\u6A21\u5757\u81EA\u52A8\u66F4\u65B0\u5DF2\u5173\u95ED\uFF08configs/module-update.json\uFF09\u3002\",\n \"mod.update.checkOff\": \"\u6A21\u5757\u66F4\u65B0\u53EA\u5728\u6267\u884C\u66F4\u65B0\u547D\u4EE4\u65F6\u8FDB\u884C\u3002\",\n \"mod.update.none\": \"\u6CA1\u6709\u53EF\u66F4\u65B0\u7684\u6A21\u5757\u3002\",\n \"mod.update.upgrade\": \"{id} {from} -> {to}\",\n \"mod.update.confirm\": \"\u66F4\u65B0 {count} \u4E2A\u6A21\u5757\uFF1F\",\n \"mod.update.cancelled\": \"\u5DF2\u53D6\u6D88\u6A21\u5757\u66F4\u65B0\u3002\",\n \"mod.update.needYes\": \"\u975E\u4EA4\u4E92\u73AF\u5883\u8BF7\u52A0\u4E0A --yes \u624D\u4F1A\u5E94\u7528\u66F4\u65B0\u3002\",\n \"mod.update.applied\": \"\u5DF2\u66F4\u65B0 {id} {from} -> {to}\",\n \"mod.update.failed\": \"\u66F4\u65B0\u5931\u8D25 {id}: {message}\",\n \"mod.update.reloadHint\": \"\u8BF7\u6267\u884C mod reload\uFF0C\u6216\u91CD\u542F BDS\uFF0C\u4F7F\u65B0\u6A21\u5757\u8FDB\u5165\u6E38\u620F\u3002\",\n \"mod.update.reason.autoOff\": \"\u672A\u5F00\u542F\u81EA\u52A8\u66F4\u65B0\",\n \"mod.update.reason.localSource\": \"\u672C\u5730\u94FE\u63A5\u6216\u76EE\u5F55\",\n \"mod.update.reason.registryOffline\": \"\u6A21\u5757\u7D22\u5F15\u4E0D\u53EF\u7528\",\n \"mod.update.reason.noTarget\": \"\u6CA1\u6709\u76EE\u6807\u7248\u672C\",\n \"mod.update.reason.noInstalledVersion\": \"\u8BFB\u4E0D\u5230\u5DF2\u88C5\u7248\u672C\",\n \"mod.update.reason.upToDate\": \"\u5DF2\u662F\u5F53\u524D\u7248\u672C\",\n \"mod.update.reason.installedNewer\": \"\u5DF2\u88C5\u7248\u672C\u66F4\u9AD8\",\n \"mod.update.reason.major\": \"\u4E3B\u7248\u672C\u66F4\u65B0\u5DF2\u8DF3\u8FC7\",\n \"mod.update.reason.sdk\": \"\u4E0D\u6EE1\u8DB3 SDK \u8303\u56F4\",\n \"mod.update.reason.dependencyFailed\": \"\u4F9D\u8D56\u6A21\u5757\u66F4\u65B0\u5931\u8D25\",\n \"mod.update.reason.githubManual\": \"GitHub \u6765\u6E90\u9700\u624B\u52A8\u66F4\u65B0\",\n \"mod.update.reason.missingModule\": \"\u672A\u5B89\u88C5\",\n \"mod.update.reason.missingDependency\": \"\u4F9D\u8D56\u6A21\u5757\u672A\u5B89\u88C5\",\n \"mod.update.reason.badVersion\": \"\u7248\u672C\u53F7\u4E0D\u662F semver\",\n \"mod.update.reason.retired\": \"\u5DF2\u6536\u7F16\u81F3\u5E73\u53F0\",\n \"mod.pin.usage\": \"\u7528\u6CD5: mod pin <id> --auto on|off\",\n \"mod.pin.ok\": \"{id} \u81EA\u52A8\u66F4\u65B0{state}\",\n \"mod.pin.on\": \"\u5DF2\u6253\u5F00\",\n \"mod.pin.off\": \"\u5DF2\u5173\u95ED\",\n \"mod.pin.locked\": \"{id} \u662F\u672C\u5730\u94FE\u63A5\u3001\u76EE\u5F55\u6216 GitHub \u6765\u6E90\uFF0C\u4E0D\u80FD\u81EA\u52A8\u66F4\u65B0\u3002\",\n \"mod.pin.missing\": \"\u6A21\u5757 {id} \u672A\u5B89\u88C5\u3002\",\n\n \"pack.built\": \"\u5DF2\u6784\u5EFA\u5305\u81F3 {path}\",\n \"pack.buildFailed\": \"pack \u6784\u5EFA\u5931\u8D25: {message}\",\n \"pack.deployed\": \"\u5DF2\u90E8\u7F72\u5305\",\n \"pack.deployFailed\": \"pack \u90E8\u7F72\u5931\u8D25: {message}\",\n \"pack.statusFailed\": \"pack status \u5931\u8D25: {message}\",\n \"pack.listFailed\": \"pack list \u5931\u8D25: {message}\",\n \"pack.noCatalog\": \"\u5C1A\u65E0\u5DF2\u90E8\u7F72 catalog \u2014 \u8BF7\u5148\u6267\u884C `sfmc pack deploy`\",\n \"pack.noUuid\": \"catalog \u4E2D\u65E0 {kind} \u5305 uuid\",\n \"pack.actionFailed\": \"{action} \u5931\u8D25: {detail}\",\n \"pack.enabledOk\": \"\u5DF2\u542F\u7528 {kind} \u5305 {uuid}\",\n \"pack.disabledOk\": \"\u5DF2\u7981\u7528 {kind} \u5305 {uuid}\",\n \"pack.actionErr\": \"pack {action} \u5931\u8D25: {message}\",\n \"pack.usage\": \"\u7528\u6CD5: sfmc pack <{subs}> [behavior|resource]\",\n\n \"packs.restartHint\": \"\u9700\u91CD\u542F BDS \u540E\u751F\u6548\",\n \"packs.rejoinHint\": \"\u5BA2\u6237\u7AEF\u9700\u91CD\u8FDB\u670D\u4EE5\u4E0B\u8F7D\u8D44\u6E90\u5305\",\n \"packs.conflict\": \"\u68C0\u6D4B\u5230\u51B2\u7A81\uFF1A\",\n \"packs.conflict.existing\": \" \u5DF2\u6709: {name} v{version} {uuid}\\n {dir}\",\n \"packs.conflict.incoming\": \" \u65B0\u6765: {name} v{version} {uuid}\",\n \"packs.overwriteAsk\": \"\u8986\u76D6\u5DF2\u6709\u5305\uFF08\u76F8\u540C UUID\uFF0C\u4F46\u7248\u672C\u76F8\u5BF9\u73B0\u5B58\u5305\u8F83\u4F4E\uFF09\uFF1F\",\n \"packs.badManifest\": \"\u65E0\u6CD5\u8BC6\u522B manifest\uFF08\u9700\u542B resources/data/script \u6A21\u5757\uFF0C\u4E14 header \u542B name/uuid/version\uFF09\",\n \"packs.skippedNoOverwrite\": \"\u5DF2\u8DF3\u8FC7\uFF08\u672A\u8986\u76D6\uFF09\",\n \"packs.conflictSkip\": \" \u51B2\u7A81\u8DF3\u8FC7\uFF08\u975E\u4EA4\u4E92\uFF0C\u53EF\u7528 --force\uFF09: {name}\",\n \"packs.inboxSkip\": \" \u8DF3\u8FC7\u6536\u4EF6\u7BB1\uFF1A{message}\",\n \"packs.inboxFound\": \" \u6536\u4EF6\u7BB1\u53D1\u73B0 {count} \u9879 \u2192 {level}\",\n \"packs.alreadyDone\": \" \u5DF2\u5904\u7406\u8FC7\uFF0C\u8DF3\u8FC7: {name}\",\n \"packs.dryRunExtract\": \" dry-run \u89E3\u538B: {name}\",\n \"packs.noPackRoot\": \" \u672A\u627E\u5230\u5305\u6839: {name}\",\n \"packs.installedEnabled\": \" \u5DF2\u5B89\u88C5\u5E76\u542F\u7528 {kind}: {name} v{version}\",\n \"packs.installFailed\": \" \u5B89\u88C5\u5931\u8D25 {name}: {reason}\",\n \"packs.listEmpty\": \"\uFF08\u65E0\uFF09\",\n \"packs.list.bpHeader\": \"\u884C\u4E3A\u5305:\",\n \"packs.list.rpHeader\": \"\u8D44\u6E90\u5305:\",\n \"packs.list.on\": \"\u5F00 \",\n \"packs.list.off\": \"\u5173\",\n \"packs.doctor.parseFail\": \"{file} \u65E0\u6CD5\u89E3\u6790\",\n \"packs.doctor.missingDir\": \"\u6E05\u5355\u6709 uuid \u4F46\u76EE\u5F55\u7F3A\u5931 ({kind}): {uuid}\",\n \"packs.doctor.versionMismatch\": \"\u7248\u672C\u4E0D\u4E00\u81F4 ({kind}): {folder} \u6E05\u5355 {listVer} vs \u78C1\u76D8 {diskVer}\",\n \"packs.doctor.notEnabled\": \"\u5DF2\u5B89\u88C5\u672A\u542F\u7528: [{kind}] {folder} ({uuid})\",\n \"packs.doctor.betaApisMissing\":\n \"\u5F53\u524D\u4E16\u754C\u300C{level}\u300D\u672A\u5F00\u542F\u300C\u6D4B\u8BD5\u7248 API (Beta APIs / gametest)\u300D\uFF0C\u4F46\u4EE5\u4E0B\u884C\u4E3A\u5305\u4F9D\u8D56\u5B83:\\n{packs}\\n \u8FD9\u4E9B\u5305\u7684\u811A\u672C\u5C06\u88AB BDS \u62D2\u7EDD\u52A0\u8F7D\uFF01\u8FD0\u884C packs doctor --fix \u53EF\u4E00\u952E\u5F00\u542F\u3002\",\n \"packs.doctor.betaApisFixed\": \"\u5DF2\u6210\u529F\u4E3A\u4E16\u754C\u300C{level}\u300D\u5F00\u542F\u300C\u6D4B\u8BD5\u7248 API\u300D(gametest = 1b)\uFF0C\u539F\u5B58\u6863\u5DF2\u5907\u4EFD\u81F3: {backup}\",\n \"packs.doctor.betaApisAlreadyOn\": \"\u4E16\u754C\u300C{level}\u300D\u7684\u300C\u6D4B\u8BD5\u7248 API\u300D\u5DF2\u5904\u4E8E\u5F00\u542F\u72B6\u6001\",\n \"packs.doctor.betaApisFailed\": \"\u4E3A\u4E16\u754C\u300C{level}\u300D\u5F00\u542F\u300C\u6D4B\u8BD5\u7248 API\u300D\u5931\u8D25: {error}\",\n \"packs.doctor.ghostPackCleaned\": \"\u5DF2\u6E05\u7406\u5931\u6548\u7684\u65E7\u5305\u6761\u76EE ({kind}): {uuid}\",\n \"packs.doctor.versionSynced\": \"\u5DF2\u540C\u6B65\u7248\u672C ({kind}): {folder} \u6E05\u5355 {listVer} \u2192 \u78C1\u76D8 {diskVer}\",\n \"packs.doctor.permissionsMissing\":\n \"\u4EE5\u4E0B\u884C\u4E3A\u5305\u4F9D\u8D56\u7684\u539F\u751F\u6A21\u5757\u672A\u5728 BDS \u6743\u9650\u914D\u7F6E\u4E2D\u5141\u8BB8\u4F7F\u7528:\\n{list}\\n \u672A\u914D\u7F6E\u6743\u9650\u7684\u6A21\u5757\u5C06\u5728\u8FD0\u884C\u65F6\u88AB BDS \u963B\u65AD\uFF01\u8FD0\u884C packs doctor --fix \u53EF\u4E00\u952E\u81EA\u52A8\u6388\u6743\u3002\",\n \"packs.doctor.permissionsFixed\": \"\u5DF2\u81EA\u52A8\u8865\u9F50\u884C\u4E3A\u5305\u7684\u539F\u751F\u6A21\u5757\u6743\u9650: {perms}\",\n \"packs.doctor.fixedSummary\": \"doctor: \u81EA\u6108\u5B8C\u6210\uFF0C\u5171\u5904\u7406 {count} \u9879\u95EE\u9898\u3002\",\n \"packs.doctor.fixPrompt\": '\u53EF\u8FD0\u884C \"packs doctor --fix\" \u81EA\u52A8\u4FEE\u590D\u4E0A\u8FF0\u95EE\u9898\u3002',\n \"packs.doctor.experimentsStatus\": \"\u5B58\u6863\u5B9E\u9A8C\u6027\u5F00\u5173\u72B6\u6001 (\u4E16\u754C\u300C{level}\u300D):\",\n \"packs.doctor.experimentsFixed\": \"\u5DF2\u6210\u529F\u4E3A\u4E16\u754C\u300C{level}\u300D\u5F00\u542F\u5B9E\u9A8C\u6027\u5F00\u5173 ({list})\uFF0C\u539F\u5B58\u6863\u5DF2\u5907\u4EFD\u81F3: {backup}\",\n \"packs.doctor.experimentsAlreadyOn\": \"\u4E16\u754C\u300C{level}\u300D\u8BF7\u6C42\u7684\u5B9E\u9A8C\u6027\u5F00\u5173\u5DF2\u5904\u4E8E\u5F00\u542F\u72B6\u6001\",\n \"packs.doctor.experimentsFailed\": \"\u4E3A\u4E16\u754C\u300C{level}\u300D\u4FEE\u6539\u5B9E\u9A8C\u6027\u5F00\u5173\u5931\u8D25: {error}\",\n \"packs.doctor.experimentsFixPrompt\": '\u53EF\u8FD0\u884C \"packs doctor --fix --all-experiments\" \u4E00\u952E\u5F00\u542F\u5168\u90E8\u5DF2\u77E5\u5B9E\u9A8C\u6027\u73A9\u6CD5\u3002',\n \"packs.doctor.ok\": \"doctor: \u672A\u53D1\u73B0\u95EE\u9898\",\n \"packs.doctor.found\": \"doctor \u53D1\u73B0 {count} \u9879:\\n{list}\",\n \"packs.notFound\": \"\u672A\u627E\u5230\u5305: {id}\",\n \"packs.toggleDone\": \"{verb} {folder} \u5B8C\u6210\u3002{hint}\",\n \"packs.bump.usage\": \"\u7528\u6CD5: packs bump <uuid|folder> \uFF08\u4EC5 RP\uFF09\",\n \"packs.bump.rpOnly\": \"packs bump \u4EC5\u652F\u6301\u8D44\u6E90\u5305 (RP)\",\n \"packs.bumped\": \"\u5DF2 bump {folder} \u2192 v{version}\u3002{restart}\uFF1B{rejoin}\",\n \"packs.pathMissing\": \"\u8DEF\u5F84\u4E0D\u5B58\u5728: {path}\",\n \"packs.notArchive\": \"\u4E0D\u662F\u5305\u76EE\u5F55\u6216 .zip/.mcpack/.mcaddon\",\n \"packs.noManifestRoot\": \"\u672A\u53D1\u73B0\u542B manifest.json \u7684\u5305\u6839\",\n \"packs.installedLine\": \"\u5DF2\u5B89\u88C5\u5E76\u542F\u7528: {name} v{version} ({kind})\",\n \"packs.skipFailLine\": \"\u8DF3\u8FC7/\u5931\u8D25: {name} ({reason})\",\n \"packs.inboxEmpty\": \"\u6536\u4EF6\u7BB1\u4E3A\u7A7A\",\n \"packs.search.usage\": \"\u7528\u6CD5: packs search <query>\uFF08CurseForge \u8FDC\u7A0B\u641C\u7D22\uFF0C\u9700 API Key\uFF09\",\n \"packs.bind.usage\": \"\u7528\u6CD5: packs bind <uuid|folder> <projectId|slug|url>\",\n \"packs.unbind.usage\": \"\u7528\u6CD5: packs unbind <uuid|folder>\",\n \"packs.unbindOk\": \"\u5DF2\u89E3\u9664\u7ED1\u5B9A {uuid}\uFF08\u7F16\u8F91 {path} \u4EA6\u53EF\uFF09\",\n \"packs.unbindMiss\": \"\u672A\u627E\u5230\u7ED1\u5B9A: {id}\",\n \"packs.update.usage\": \"\u7528\u6CD5: packs update <uuid|folder|--all>\",\n \"packs.toggle.usage\": \"\u7528\u6CD5: packs {verb} <uuid|folder>\",\n \"packs.uninstall.usage\":\n \"\u7528\u6CD5: packs uninstall [uuid|folder...] [--purge] [--no-paired]\\n \u65E0\u53C2\u6570\u4E14\u4E3A TTY \u65F6\u8FDB\u5165\u591A\u9009\uFF1B\u53EF\u4E00\u6B21\u4F20\u591A\u4E2A id\",\n \"packs.uninstall.protected\": \"\u62D2\u7EDD\u5378\u8F7D\u5E73\u53F0\u805A\u5408\u5305: {folder}\uFF08\u8BF7\u7528 sfmc mod\uFF09\",\n \"packs.uninstall.trashed\": \"\u5DF2\u5378\u8F7D\u5E76\u79FB\u5165\u56DE\u6536\u7AD9: {folder}\\n \u2192 {dest}\",\n \"packs.uninstall.deleted\": \"\u5DF2\u5378\u8F7D\u5E76\u5220\u9664: {folder}\",\n \"packs.uninstall.dirMissing\": \"\u6E05\u5355\u5DF2\u79FB\u9664\uFF0C\u76EE\u5F55\u672C\u5C31\u4E0D\u5B58\u5728: {folder}\",\n \"packs.uninstall.bindingRemoved\": \"\u5DF2\u6E05\u9664\u66F4\u65B0\u6E90\u7ED1\u5B9A: {uuid}\",\n \"packs.uninstall.pick\": \"\u9009\u62E9\u8981\u5378\u8F7D\u7684\u8D44\u6E90\u5305\uFF08\u7A7A\u683C\u52FE\u9009\uFF0C\u56DE\u8F66\u786E\u8BA4\uFF09\",\n \"packs.uninstall.summary\": \"\u5C06\u5378\u8F7D\u4EE5\u4E0B {count} \u9879\uFF08\u542B\u914D\u5BF9 RP\uFF09\uFF1A\",\n \"packs.uninstall.confirm\": \"\u786E\u8BA4\u5378\u8F7D\u8FD9 {count} \u9879\uFF1F\",\n \"packs.uninstall.cancelled\": \"\u5DF2\u53D6\u6D88\u5378\u8F7D\",\n \"packs.uninstall.none\": \"\u6CA1\u6709\u53EF\u5378\u8F7D\u7684\u8D44\u6E90\u5305\",\n \"packs.uninstall.pairedOf\": \"\uFF08\u914D\u5BF9\u81EA {folder}\uFF09\",\n \"packs.install.usage\": \"\u7528\u6CD5: packs install [path|--inbox] [--force]\",\n \"packs.installInbox\": \"\u6536\u4EF6\u7BB1\u5B89\u88C5: \u6210\u529F={installed} \u8DF3\u8FC7={skipped} \u5931\u8D25={failed}\",\n \"packs.scanResult\": \"\u626B\u63CF: \u6210\u529F={installed} \u8DF3\u8FC7={skipped} \u5931\u8D25={failed}\",\n \"packs.unknownSub\": \"\u672A\u77E5 packs \u5B50\u547D\u4EE4: {verb}\\n\",\n \"packs.usage.title\": \"{cmd}\uFF08\u522B\u540D {alias}\uFF09\u2014 \u4E16\u754C\u4FA7\u4EFB\u610F BP/RP\",\n \"packs.usage.bump\": \"\u4EC5 RP\uFF0Cpatch \u7248\u672C +1\",\n \"packs.usage.cfSearch\": \"CurseForge \u641C\u7D22\uFF08\u9700 Key\uFF09\",\n \"packs.usage.inbox\": \"\u6536\u4EF6\u7BB1: {path}\",\n \"packs.usage.trash\": \"\u5378\u8F7D\u56DE\u6536\u7AD9: {path}\uFF08pack-update.json \u2192 uninstall.recycleBin\uFF09\",\n \"packs.usage.sources\": \"\u66F4\u65B0\u6E90\u7ED1\u5B9A: {path}\uFF08\u53EF\u624B\u6539 enabled/projectId\uFF09\",\n \"packs.usage.enableNote\": \"\u5B89\u88C5\u9ED8\u8BA4\u5199\u5165 world_*_packs.json \u542F\u7528\uFF1B{hint}\u3002\",\n \"packs.usage.moduleNote\": \"\u6A21\u5757\u805A\u5408\u8BF7\u7528 {cmd}\uFF08\u975E\u672C\u547D\u4EE4\uFF09\u3002\",\n\n \"packUpdate.needKey\":\n \"\u672A\u914D\u7F6E\u4EFB\u4F55 pack \u66F4\u65B0\u6E90\u3002\u8BF7\u7F16\u8F91 {path} \u7684 providers.*.apiKey\uFF08\u6216\u5BF9\u5E94\u73AF\u5883\u53D8\u91CF\uFF09\u3002CurseForge\uFF1Ahttps://console.curseforge.com/ \u7533\u8BF7 Studios Key \u2192 providers.curseforge.apiKey / CURSEFORGE_API_KEY\",\n \"packUpdate.probeNoName\": \"\u65E0\u6CD5\u4ECE manifest / \u6587\u4EF6\u5939\u540D\u6D3E\u751F\u53EF\u641C\u7D22\u540D\u79F0\",\n \"packUpdate.probeQueries\": \"\u63A2\u6D4B\u67E5\u8BE2\u6E90 header={header} folder={folder}\\n \u2192 {queries}\",\n \"packUpdate.probeFail\": \"\u63A2\u6D4B\u66F4\u65B0\u6E90\u5931\u8D25: {message}\",\n \"packUpdate.probeMiss\": \"\u672A\u5728 CurseForge \u627E\u5230\u5339\u914D: {name}\",\n \"packUpdate.probeLowScore\": \"\u5019\u9009\u76F8\u4F3C\u5EA6\u504F\u4F4E: {name} \u2192 {hit} ({score}) {url}\",\n \"packUpdate.probeHit\": \"\u627E\u5230\u53EF\u80FD\u7684\u66F4\u65B0\u6E90: {name} \u2192 {hit} ({score})\\n {url}\",\n \"packUpdate.editHint\": \"\u7A0D\u540E\u53EF\u7F16\u8F91 {path} \u4FEE\u6539/\u5173\u95ED\u5BF9\u5E94\u6E90\uFF08enabled: false\uFF09\",\n \"packUpdate.confirmBind\": \"\u5C06\u6B64 CurseForge \u9879\u76EE\u7ED1\u5B9A\u4E3A\u66F4\u65B0\u6E90\uFF1F {hit}\",\n \"packUpdate.probeAutoBind\": \"\u975E\u4EA4\u4E92\u73AF\u5883\uFF1A\u81EA\u52A8\u7ED1\u5B9A \u2192 {provider}:{slug}\\n {path}\",\n \"packUpdate.probeNoAutoBind\": \"\u975E\u4EA4\u4E92\u73AF\u5883\u4E0D\u81EA\u52A8\u7ED1\u5B9A\uFF1B\u53EF\u7528 packs bind \u624B\u52A8\u7ED1\u5B9A\",\n \"packUpdate.bindSkipped\": \"\u5DF2\u8DF3\u8FC7\u7ED1\u5B9A\",\n \"packUpdate.bindOk\": \"\u5DF2\u7ED1\u5B9A {uuid} \u2192 {provider}:{slug} [{enabled}]\\n \u6587\u4EF6: {path}\",\n \"packUpdate.bindBpOnly\": \"\u53EA\u80FD\u4E3A\u884C\u4E3A\u5305\uFF08BP\uFF09\u7ED1\u5B9A\u66F4\u65B0\u6E90\",\n \"packUpdate.resolveFail\": \"\u65E0\u6CD5\u89E3\u6790 CurseForge \u9879\u76EE: {ref}\",\n \"packUpdate.searchEmpty\": \"CurseForge \u65E0\u7ED3\u679C: {query}\",\n \"packUpdate.sourcesHeader\": \"\u914D\u7F6E: {config}\\n\u7ED1\u5B9A: {sources}\",\n \"packUpdate.sourcesEmpty\": \"\u5C1A\u65E0\u7ED1\u5B9A\u3002\u5B89\u88C5 BP \u540E\u4F1A\u5C1D\u8BD5\u63A2\u6D4B\uFF0C\u6216\u4F7F\u7528 packs bind\u3002\",\n \"packUpdate.disabled\": \"pack-update \u5DF2\u5728\u914D\u7F6E\u4E2D\u7981\u7528\",\n \"packUpdate.bindingDisabled\": \"\u7ED1\u5B9A\u5DF2\u5173\u95ED (enabled: false)\",\n \"packUpdate.noRemoteFile\": \"\u8FDC\u7A0B\u65E0\u53EF\u7528\u6587\u4EF6\",\n \"packUpdate.fileNewer\": \"\u8FDC\u7A0B\u6587\u4EF6\u66F4\u65B0: {file} (id={id})\",\n \"packUpdate.upToDate\": \"\u5DF2\u662F\u6700\u65B0\",\n \"packUpdate.needSync\": \"\u8FDC\u7A0B\u6587\u4EF6\u5C1A\u672A\u540C\u6B65\u5230\u4E16\u754C\u76EE\u5F55\uFF08\u7248\u672C {local} \u2261 {remote}\uFF0CfileId={id}\uFF09\",\n \"packUpdate.remoteNoBp\": \"\u8FDC\u7A0B\u5F52\u6863\u4E2D\u672A\u627E\u5230\u884C\u4E3A\u5305\",\n \"packUpdate.bpNewer\": \"BP \u6709\u66F4\u65B0 {local} \u2192 {remote}\",\n \"packUpdate.installFail\": \"\u5B89\u88C5\u5931\u8D25: {reason}\",\n \"packUpdate.installedBp\": \"\u5DF2\u5199\u5165 BP \u2192 {dir} (v{version})\",\n \"packUpdate.installedRp\": \"\u5DF2\u5199\u5165 RP \u2192 {dir} (v{version})\",\n \"packUpdate.rpInstallMiss\": \"\u5F52\u6863\u542B RP \u4F46\u672A\u80FD\u5B89\u88C5\u914D\u5BF9\u8D44\u6E90\u5305\uFF08\u68C0\u67E5 dependencies / pairedResourceUuid\uFF09\",\n \"packUpdate.applied\": \"\u5DF2\u66F4\u65B0 {name} BP={bp} RP={rp}\",\n \"packUpdate.noBinding\": \"\u672A\u627E\u5230\u66F4\u65B0\u6E90\u7ED1\u5B9A: {id}\",\n \"packUpdate.startupFail\": \"\u542F\u52A8\u65F6\u68C0\u67E5\u66F4\u65B0\u5931\u8D25: {message}\",\n};\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/module-update/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/module-update/index.ts"],"names":[],"mappings":"AA6HA,4BAA4B;AAC5B,wBAAsB,4BAA4B,IAAI,OAAO,CAAC,IAAI,CAAC,CAQlE;AAyGD;;;GAGG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAiCrE;AAED,yBAAyB;AACzB,wBAAsB,0BAA0B,IAAI,OAAO,CAAC,IAAI,CAAC,CAEhE;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CA4BlE"}
|
|
@@ -21,7 +21,8 @@ const REASON_KEYS = {
|
|
|
21
21
|
"github-manual": "mod.update.reason.githubManual",
|
|
22
22
|
"missing-module": "mod.update.reason.missingModule",
|
|
23
23
|
"missing-dependency": "mod.update.reason.missingDependency",
|
|
24
|
-
"bad-version": "mod.update.reason.badVersion"
|
|
24
|
+
"bad-version": "mod.update.reason.badVersion",
|
|
25
|
+
retired: "mod.update.reason.retired"
|
|
25
26
|
};
|
|
26
27
|
function fetchModuleUrl() {
|
|
27
28
|
const script = resolveFetchModule();
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/module-update/index.ts"],
|
|
4
|
-
"sourcesContent": ["/**\n * \u6A21\u5757\u66F4\u65B0\u7684 CLI \u5165\u53E3\u3002\n * \u8BA1\u5212\u4E0E\u6362\u5305\u5728 scripts/module-install/lib/module-update.mjs\uFF1B\n * \u8FD9\u91CC\u8D1F\u8D23\u786E\u8BA4\u4E0E\u6587\u6848\u3002\u5F00\u670D\u8DEF\u5F84\u5DF2\u5E9F\u5F03\uFF0C\u66F4\u65B0\u53EA\u80FD\u8D70\u663E\u5F0F\u547D\u4EE4\u3002\n */\nimport { confirm, isCancel } from \"@clack/prompts\";\nimport { stdin } from \"node:process\";\nimport path from \"node:path\";\nimport { pathToFileURL } from \"node:url\";\nimport { isCliTty } from \"../command-surface.js\";\nimport { t, type MessageKey } from \"../i18n/index.js\";\nimport { pushLog } from \"../logs.js\";\nimport { ROOT, resolveFetchModule } from \"../runtime.js\";\nimport { c } from \"../theme.js\";\n\n/** \u4E0E module-update.mjs \u7684\u5347\u7EA7\u5019\u9009\u4E00\u81F4\u3002 */\ninterface ModuleUpgrade {\n id: string;\n fromVersion: string | null;\n toVersion: string | null;\n spec: string;\n requires: string[];\n}\n\n/** \u4E0E module-update.mjs \u7684\u8DF3\u8FC7\u8BB0\u5F55\u4E00\u81F4\u3002 */\ninterface ModuleSkip {\n id: string;\n reason: string;\n fromVersion: string | null;\n toVersion: string | null;\n detail: string;\n}\n\n/** planModuleUpdates \u7684\u8FD4\u56DE\u3002 */\ninterface ModuleUpdatePlan {\n configSkipped: \"disabled\" | \"check-off\" | null;\n applyOnStart: boolean;\n failMode: \"continue\" | \"abort\";\n upgrades: ModuleUpgrade[];\n skipped: ModuleSkip[];\n}\n\n/** applyModuleUpgrades \u7684\u8FD4\u56DE\u3002 */\ninterface ModuleUpdateApplyResult {\n applied: ModuleUpgrade[];\n skipped: ModuleSkip[];\n failed: Array<{ id: string; message: string }>;\n}\n\n/** \u5B89\u88C5\u5668\u5BFC\u51FA\u7684\u4FDD\u7559\u542F\u505C\u5B89\u88C5\u53E3\u3002 */\ninterface FetchModuleApi {\n installPreservingLock: (id: string, spec: string) => Promise<void>;\n}\n\n/** module-update.mjs \u5BFC\u51FA\u9762\u3002\u663E\u5F0F\u66F4\u65B0\u547D\u4EE4\u4F9D\u8D56\u8FD9\u4E00\u5C42\u3002 */\ninterface ModuleUpdateApi {\n ensureModuleUpdateConfigFile: (root?: string) => string;\n planModuleUpdates: (options: {\n root?: string;\n startup?: boolean;\n allowMajor?: boolean;\n ids?: string[];\n }) => Promise<ModuleUpdatePlan>;\n applyModuleUpgrades: (\n upgrades: ModuleUpgrade[],\n deps: {\n root: string;\n failMode: \"continue\" | \"abort\";\n install: (id: string, spec: string) => Promise<void>;\n resync?: (id: string) => void;\n }\n ) => Promise<ModuleUpdateApplyResult>;\n resyncInstalledCatalog: (folder: string) => void;\n setModulePinAuto: (\n root: string,\n id: string,\n auto: boolean\n ) => { ok: true; code: \"ok\"; id: string; auto: boolean } | { ok: false; code: \"missing\" | \"locked\"; id?: string };\n QUIET_SKIP_REASONS: Set<string>;\n}\n\nconst REASON_KEYS: Record<string, MessageKey> = {\n \"auto-off\": \"mod.update.reason.autoOff\",\n \"local-source\": \"mod.update.reason.localSource\",\n \"registry-offline\": \"mod.update.reason.registryOffline\",\n \"no-target\": \"mod.update.reason.noTarget\",\n \"no-installed-version\": \"mod.update.reason.noInstalledVersion\",\n \"up-to-date\": \"mod.update.reason.upToDate\",\n \"installed-newer\": \"mod.update.reason.installedNewer\",\n major: \"mod.update.reason.major\",\n sdk: \"mod.update.reason.sdk\",\n \"dependency-failed\": \"mod.update.reason.dependencyFailed\",\n \"github-manual\": \"mod.update.reason.githubManual\",\n \"missing-module\": \"mod.update.reason.missingModule\",\n \"missing-dependency\": \"mod.update.reason.missingDependency\",\n \"bad-version\": \"mod.update.reason.badVersion\",\n};\n\n/** \u5B9A\u4F4D fetch-module.mjs\u3002\u627E\u4E0D\u5230\u65F6\u8FD4\u56DE null\uFF0C\u8C03\u7528\u65B9\u7ED9\u51FA\u5B89\u88C5\u63D0\u793A\u3002 */\nfunction fetchModuleUrl(): URL | null {\n const script = resolveFetchModule();\n if (!script) return null;\n return pathToFileURL(script);\n}\n\n/** \u4E0E fetch-module \u540C\u76EE\u5F55\u7684\u66F4\u65B0\u5E93\u3002\u4F7F\u7528\u6587\u4EF6\u7CFB\u7EDF\u8DEF\u5F84\u62FC\u63A5\uFF0C\u907F\u514D Windows \u4E0B file URL \u7684 pathname \u88AB dirname \u62C6\u574F\u3002 */\nfunction updateLibUrl(): URL | null {\n const script = resolveFetchModule();\n if (!script) return null;\n return pathToFileURL(path.join(path.dirname(script), \"lib\", \"module-update.mjs\"));\n}\n\nasync function loadUpdateApi(): Promise<ModuleUpdateApi | null> {\n const url = updateLibUrl();\n if (!url) return null;\n return (await import(url.href)) as ModuleUpdateApi;\n}\n\nasync function loadFetchApi(): Promise<FetchModuleApi | null> {\n const url = fetchModuleUrl();\n if (!url) return null;\n return (await import(url.href)) as FetchModuleApi;\n}\n\n/** \u7F3A\u6587\u4EF6\u65F6\u5199\u5165\u9ED8\u8BA4\u7B56\u7565\u3002\u5931\u8D25\u4E0D\u5F71\u54CD\u5176\u4ED6\u547D\u4EE4\u3002 */\nexport async function ensureModuleUpdateConfigFile(): Promise<void> {\n try {\n const api = await loadUpdateApi();\n api?.ensureModuleUpdateConfigFile(ROOT);\n } catch (error) {\n const message = error instanceof Error ? error.message : String(error);\n pushLog(message, \"module\", \"warn\");\n }\n}\n\n/**\n * REPL \u5904\u4E8E raw \u6A21\u5F0F\u65F6\uFF0C\u5148\u6682\u65F6\u5173\u6389\uFF0C\u8BA9\u786E\u8BA4\u63D0\u793A\u80FD\u8BFB\u5230\u6574\u884C\u3002\n */\nasync function withCookedStdin<T>(fn: () => Promise<T>): Promise<T> {\n const wasRaw = stdin.isRaw === true;\n if (wasRaw) stdin.setRawMode(false);\n try {\n return await fn();\n } finally {\n if (wasRaw) stdin.setRawMode(true);\n }\n}\n\n/** \u8DF3\u8FC7\u539F\u56E0\u7684\u53EF\u8BFB\u6587\u6848\u3002\u672A\u77E5\u539F\u56E0\u4FDD\u6301\u539F\u6837\u3002 */\nfunction reasonText(reason: string, detail: string): string {\n const key = REASON_KEYS[reason];\n const label = key ? t(key) : reason;\n return detail ? `${label} (${detail})` : label;\n}\n\nfunction versionText(value: string | null): string {\n return value || \"?\";\n}\n\n/**\n * \u628A\u8BA1\u5212\u683C\u5F0F\u5316\u6210\u591A\u884C\u3002\n * \u6CA1\u70B9\u540D\u6A21\u5757\u3001\u4E5F\u6CA1 --check \u65F6\uFF0C\u9690\u85CF auto-off / local-source / up-to-date\u3002\n * \u70B9\u540D\u4E86 id \u6216 --check \u65F6\u5C55\u5F00\u8FD9\u4E9B\u539F\u56E0\u548C\u7248\u672C\u3002quietEmpty \u4E3A true \u65F6\u4E0D\u8F93\u51FA\u7A7A\u7ED3\u679C\u3002\n */\nfunction formatPlan(\n plan: ModuleUpdatePlan,\n quiet: Set<string>,\n showAll: boolean,\n quietEmpty = false\n): string[] {\n if (plan.configSkipped === \"disabled\") return quietEmpty ? [] : [c.yellow(t(\"mod.update.disabled\"))];\n if (plan.configSkipped === \"check-off\") return quietEmpty ? [] : [c.dim(t(\"mod.update.checkOff\"))];\n const lines: string[] = [];\n for (const item of plan.skipped) {\n if (!showAll && quiet.has(item.reason)) continue;\n /** \u8DF3\u8FC7\u884C\u4E0A\u7684\u7248\u672C\u5BF9\u7167\u3002\u6709\u7D22\u5F15\u76EE\u6807\u65F6\u8BA9\u670D\u4E3B\u770B\u5230 1.0.0 -> 1.2.0\uFF0C\u800C\u4E0D\u662F\u53EA\u770B\u5230\u539F\u56E0\u3002 */\n const versions =\n item.fromVersion || item.toVersion ? ` ${versionText(item.fromVersion)} -> ${versionText(item.toVersion)}` : \"\";\n lines.push(c.dim(` ${item.id}${versions} ${reasonText(item.reason, item.detail)}`));\n }\n for (const item of plan.upgrades) {\n lines.push(\n c.green(\n ` ${t(\"mod.update.upgrade\", {\n id: item.id,\n from: versionText(item.fromVersion),\n to: versionText(item.toVersion),\n })}`\n )\n );\n }\n if (plan.upgrades.length === 0 && lines.length === 0 && !quietEmpty) lines.push(c.dim(t(\"mod.update.none\")));\n return lines;\n}\n\nfunction formatApply(result: ModuleUpdateApplyResult, hintReload: boolean): string[] {\n const lines: string[] = [];\n for (const item of result.applied) {\n lines.push(\n c.green(\n t(\"mod.update.applied\", {\n id: item.id,\n from: versionText(item.fromVersion),\n to: versionText(item.toVersion),\n })\n )\n );\n }\n for (const item of result.skipped) {\n lines.push(c.yellow(` ${item.id} ${reasonText(item.reason, item.detail)}`));\n }\n for (const item of result.failed) {\n lines.push(c.red(t(\"mod.update.failed\", { id: item.id, message: item.message })));\n }\n if (hintReload && result.applied.length > 0) lines.push(c.yellow(t(\"mod.update.reloadHint\")));\n return lines;\n}\n\ninterface UpdateFlags {\n check: boolean;\n yes: boolean;\n allowMajor: boolean;\n ids: string[];\n}\n\n/** \u89E3\u6790 mod update \u7684\u65D7\u6807\u3002\u672A\u77E5\u65D7\u6807\u8FD4\u56DE null\u3002 */\nfunction parseUpdateFlags(args: string[]): UpdateFlags | null {\n const flags: UpdateFlags = { check: false, yes: false, allowMajor: false, ids: [] };\n for (const arg of args) {\n if (arg === \"--check\") flags.check = true;\n else if (arg === \"--yes\") flags.yes = true;\n else if (arg === \"--allow-major\") flags.allowMajor = true;\n else if (arg.startsWith(\"--\")) return null;\n else flags.ids.push(arg);\n }\n return flags;\n}\n\n/**\n * mod update\uFF1A\u5148\u51FA\u8BA1\u5212\uFF0C\u4EA4\u4E92\u786E\u8BA4\u540E\u518D\u6362\u5305\u3002\n * --check \u53EA\u62A5\u544A\u3002\u6A21\u5757\u66F4\u65B0\u53EA\u5728\u6267\u884C\u672C\u547D\u4EE4\u65F6\u8FDB\u884C\u3002\n */\nexport async function cmdModuleUpdate(args: string[]): Promise<string> {\n const flags = parseUpdateFlags(args);\n if (!flags) return c.yellow(t(\"mod.update.usage\"));\n const api = await loadUpdateApi();\n if (!api) return c.red(t(\"mod.fetchMissing\"));\n const plan = await api.planModuleUpdates({\n root: ROOT,\n allowMajor: flags.allowMajor,\n ids: flags.ids,\n });\n /** \u70B9\u540D\u4E86\u6A21\u5757\u6216\u663E\u5F0F --check \u65F6\u5C55\u5F00\u5B89\u9759\u8DF3\u8FC7\uFF1B\u6CA1\u70B9\u540D\u65F6\u4ECD\u53EF\u6536\u6210\u300C\u6CA1\u6709\u53EF\u66F4\u65B0\u7684\u6A21\u5757\u300D\u3002 */\n const revealQuietSkips = flags.check || flags.ids.length > 0;\n const lines = formatPlan(plan, api.QUIET_SKIP_REASONS, revealQuietSkips);\n if (flags.check || plan.configSkipped || plan.upgrades.length === 0) return lines.join(\"\\n\");\n if (!flags.yes) {\n if (!isCliTty()) return [...lines, c.yellow(t(\"mod.update.needYes\"))].join(\"\\n\");\n const ans = await withCookedStdin(() =>\n confirm({\n message: t(\"mod.update.confirm\", { count: plan.upgrades.length }),\n initialValue: true,\n })\n );\n if (isCancel(ans) || !ans) return [...lines, c.dim(t(\"mod.update.cancelled\"))].join(\"\\n\");\n }\n const fetchApi = await loadFetchApi();\n if (!fetchApi) return c.red(t(\"mod.fetchMissing\"));\n const result = await api.applyModuleUpgrades(plan.upgrades, {\n root: ROOT,\n failMode: plan.failMode,\n install: fetchApi.installPreservingLock,\n resync: api.resyncInstalledCatalog,\n });\n return [...lines, ...formatApply(result, true)].join(\"\\n\");\n}\n\n/** \u5F00\u670D\u8DEF\u5F84\u5DF2\u5E9F\u5F03\uFF0C\u66F4\u65B0\u53EA\u80FD\u8D70\u663E\u5F0F\u547D\u4EE4\u3002 */\nexport async function runModuleUpdatesOnBdsStart(): Promise<void> {\n return;\n}\n\n/**\n * mod pin <id> --auto on|off\n * \u94FE\u63A5\u548C\u672C\u5730\u76EE\u5F55\u4E0D\u80FD\u6253\u5F00\u81EA\u52A8\u66F4\u65B0\u3002\n */\nexport async function cmdModulePin(args: string[]): Promise<string> {\n let id = \"\";\n let auto: boolean | null = null;\n for (let i = 0; i < args.length; i++) {\n const arg = args[i];\n if (arg === \"--auto\") {\n const value = args[++i];\n if (value === \"on\") auto = true;\n else if (value === \"off\") auto = false;\n else return c.yellow(t(\"mod.pin.usage\"));\n } else if (arg?.startsWith(\"--auto=\")) {\n const value = arg.slice(\"--auto=\".length);\n if (value === \"on\") auto = true;\n else if (value === \"off\") auto = false;\n else return c.yellow(t(\"mod.pin.usage\"));\n } else if (arg?.startsWith(\"--\")) {\n return c.yellow(t(\"mod.pin.usage\"));\n } else if (arg) {\n id = arg;\n }\n }\n if (!id || auto === null) return c.yellow(t(\"mod.pin.usage\"));\n const api = await loadUpdateApi();\n if (!api) return c.red(t(\"mod.fetchMissing\"));\n const result = api.setModulePinAuto(ROOT, id, auto);\n if (!result.ok && result.code === \"locked\") return c.yellow(t(\"mod.pin.locked\", { id: result.id || id }));\n if (!result.ok) return c.yellow(t(\"mod.pin.missing\", { id }));\n return c.green(t(\"mod.pin.ok\", { id: result.id, state: t(result.auto ? \"mod.pin.on\" : \"mod.pin.off\") }));\n}\n"],
|
|
5
|
-
"mappings": "AAKA,SAAS,SAAS,gBAAgB;AAClC,SAAS,aAAa;AACtB,OAAO,UAAU;AACjB,SAAS,qBAAqB;AAC9B,SAAS,gBAAgB;AACzB,SAAS,SAA0B;AACnC,SAAS,eAAe;AACxB,SAAS,MAAM,0BAA0B;AACzC,SAAS,SAAS;AAoElB,MAAM,cAA0C;AAAA,EAC9C,YAAY;AAAA,EACZ,gBAAgB;AAAA,EAChB,oBAAoB;AAAA,EACpB,aAAa;AAAA,EACb,wBAAwB;AAAA,EACxB,cAAc;AAAA,EACd,mBAAmB;AAAA,EACnB,OAAO;AAAA,EACP,KAAK;AAAA,EACL,qBAAqB;AAAA,EACrB,iBAAiB;AAAA,EACjB,kBAAkB;AAAA,EAClB,sBAAsB;AAAA,EACtB,eAAe;
|
|
4
|
+
"sourcesContent": ["/**\n * \u6A21\u5757\u66F4\u65B0\u7684 CLI \u5165\u53E3\u3002\n * \u8BA1\u5212\u4E0E\u6362\u5305\u5728 scripts/module-install/lib/module-update.mjs\uFF1B\n * \u8FD9\u91CC\u8D1F\u8D23\u786E\u8BA4\u4E0E\u6587\u6848\u3002\u5F00\u670D\u8DEF\u5F84\u5DF2\u5E9F\u5F03\uFF0C\u66F4\u65B0\u53EA\u80FD\u8D70\u663E\u5F0F\u547D\u4EE4\u3002\n */\nimport { confirm, isCancel } from \"@clack/prompts\";\nimport { stdin } from \"node:process\";\nimport path from \"node:path\";\nimport { pathToFileURL } from \"node:url\";\nimport { isCliTty } from \"../command-surface.js\";\nimport { t, type MessageKey } from \"../i18n/index.js\";\nimport { pushLog } from \"../logs.js\";\nimport { ROOT, resolveFetchModule } from \"../runtime.js\";\nimport { c } from \"../theme.js\";\n\n/** \u4E0E module-update.mjs \u7684\u5347\u7EA7\u5019\u9009\u4E00\u81F4\u3002 */\ninterface ModuleUpgrade {\n id: string;\n fromVersion: string | null;\n toVersion: string | null;\n spec: string;\n requires: string[];\n}\n\n/** \u4E0E module-update.mjs \u7684\u8DF3\u8FC7\u8BB0\u5F55\u4E00\u81F4\u3002 */\ninterface ModuleSkip {\n id: string;\n reason: string;\n fromVersion: string | null;\n toVersion: string | null;\n detail: string;\n}\n\n/** planModuleUpdates \u7684\u8FD4\u56DE\u3002 */\ninterface ModuleUpdatePlan {\n configSkipped: \"disabled\" | \"check-off\" | null;\n applyOnStart: boolean;\n failMode: \"continue\" | \"abort\";\n upgrades: ModuleUpgrade[];\n skipped: ModuleSkip[];\n}\n\n/** applyModuleUpgrades \u7684\u8FD4\u56DE\u3002 */\ninterface ModuleUpdateApplyResult {\n applied: ModuleUpgrade[];\n skipped: ModuleSkip[];\n failed: Array<{ id: string; message: string }>;\n}\n\n/** \u5B89\u88C5\u5668\u5BFC\u51FA\u7684\u4FDD\u7559\u542F\u505C\u5B89\u88C5\u53E3\u3002 */\ninterface FetchModuleApi {\n installPreservingLock: (id: string, spec: string) => Promise<void>;\n}\n\n/** module-update.mjs \u5BFC\u51FA\u9762\u3002\u663E\u5F0F\u66F4\u65B0\u547D\u4EE4\u4F9D\u8D56\u8FD9\u4E00\u5C42\u3002 */\ninterface ModuleUpdateApi {\n ensureModuleUpdateConfigFile: (root?: string) => string;\n planModuleUpdates: (options: {\n root?: string;\n startup?: boolean;\n allowMajor?: boolean;\n ids?: string[];\n }) => Promise<ModuleUpdatePlan>;\n applyModuleUpgrades: (\n upgrades: ModuleUpgrade[],\n deps: {\n root: string;\n failMode: \"continue\" | \"abort\";\n install: (id: string, spec: string) => Promise<void>;\n resync?: (id: string) => void;\n }\n ) => Promise<ModuleUpdateApplyResult>;\n resyncInstalledCatalog: (folder: string) => void;\n setModulePinAuto: (\n root: string,\n id: string,\n auto: boolean\n ) => { ok: true; code: \"ok\"; id: string; auto: boolean } | { ok: false; code: \"missing\" | \"locked\"; id?: string };\n QUIET_SKIP_REASONS: Set<string>;\n}\n\nconst REASON_KEYS: Record<string, MessageKey> = {\n \"auto-off\": \"mod.update.reason.autoOff\",\n \"local-source\": \"mod.update.reason.localSource\",\n \"registry-offline\": \"mod.update.reason.registryOffline\",\n \"no-target\": \"mod.update.reason.noTarget\",\n \"no-installed-version\": \"mod.update.reason.noInstalledVersion\",\n \"up-to-date\": \"mod.update.reason.upToDate\",\n \"installed-newer\": \"mod.update.reason.installedNewer\",\n major: \"mod.update.reason.major\",\n sdk: \"mod.update.reason.sdk\",\n \"dependency-failed\": \"mod.update.reason.dependencyFailed\",\n \"github-manual\": \"mod.update.reason.githubManual\",\n \"missing-module\": \"mod.update.reason.missingModule\",\n \"missing-dependency\": \"mod.update.reason.missingDependency\",\n \"bad-version\": \"mod.update.reason.badVersion\",\n retired: \"mod.update.reason.retired\",\n};\n\n/** \u5B9A\u4F4D fetch-module.mjs\u3002\u627E\u4E0D\u5230\u65F6\u8FD4\u56DE null\uFF0C\u8C03\u7528\u65B9\u7ED9\u51FA\u5B89\u88C5\u63D0\u793A\u3002 */\nfunction fetchModuleUrl(): URL | null {\n const script = resolveFetchModule();\n if (!script) return null;\n return pathToFileURL(script);\n}\n\n/** \u4E0E fetch-module \u540C\u76EE\u5F55\u7684\u66F4\u65B0\u5E93\u3002\u4F7F\u7528\u6587\u4EF6\u7CFB\u7EDF\u8DEF\u5F84\u62FC\u63A5\uFF0C\u907F\u514D Windows \u4E0B file URL \u7684 pathname \u88AB dirname \u62C6\u574F\u3002 */\nfunction updateLibUrl(): URL | null {\n const script = resolveFetchModule();\n if (!script) return null;\n return pathToFileURL(path.join(path.dirname(script), \"lib\", \"module-update.mjs\"));\n}\n\nasync function loadUpdateApi(): Promise<ModuleUpdateApi | null> {\n const url = updateLibUrl();\n if (!url) return null;\n return (await import(url.href)) as ModuleUpdateApi;\n}\n\nasync function loadFetchApi(): Promise<FetchModuleApi | null> {\n const url = fetchModuleUrl();\n if (!url) return null;\n return (await import(url.href)) as FetchModuleApi;\n}\n\n/** \u7F3A\u6587\u4EF6\u65F6\u5199\u5165\u9ED8\u8BA4\u7B56\u7565\u3002\u5931\u8D25\u4E0D\u5F71\u54CD\u5176\u4ED6\u547D\u4EE4\u3002 */\nexport async function ensureModuleUpdateConfigFile(): Promise<void> {\n try {\n const api = await loadUpdateApi();\n api?.ensureModuleUpdateConfigFile(ROOT);\n } catch (error) {\n const message = error instanceof Error ? error.message : String(error);\n pushLog(message, \"module\", \"warn\");\n }\n}\n\n/**\n * REPL \u5904\u4E8E raw \u6A21\u5F0F\u65F6\uFF0C\u5148\u6682\u65F6\u5173\u6389\uFF0C\u8BA9\u786E\u8BA4\u63D0\u793A\u80FD\u8BFB\u5230\u6574\u884C\u3002\n */\nasync function withCookedStdin<T>(fn: () => Promise<T>): Promise<T> {\n const wasRaw = stdin.isRaw === true;\n if (wasRaw) stdin.setRawMode(false);\n try {\n return await fn();\n } finally {\n if (wasRaw) stdin.setRawMode(true);\n }\n}\n\n/** \u8DF3\u8FC7\u539F\u56E0\u7684\u53EF\u8BFB\u6587\u6848\u3002\u672A\u77E5\u539F\u56E0\u4FDD\u6301\u539F\u6837\u3002 */\nfunction reasonText(reason: string, detail: string): string {\n const key = REASON_KEYS[reason];\n const label = key ? t(key) : reason;\n return detail ? `${label} (${detail})` : label;\n}\n\nfunction versionText(value: string | null): string {\n return value || \"?\";\n}\n\n/**\n * \u628A\u8BA1\u5212\u683C\u5F0F\u5316\u6210\u591A\u884C\u3002\n * \u6CA1\u70B9\u540D\u6A21\u5757\u3001\u4E5F\u6CA1 --check \u65F6\uFF0C\u9690\u85CF auto-off / local-source / up-to-date\u3002\n * \u70B9\u540D\u4E86 id \u6216 --check \u65F6\u5C55\u5F00\u8FD9\u4E9B\u539F\u56E0\u548C\u7248\u672C\u3002quietEmpty \u4E3A true \u65F6\u4E0D\u8F93\u51FA\u7A7A\u7ED3\u679C\u3002\n */\nfunction formatPlan(\n plan: ModuleUpdatePlan,\n quiet: Set<string>,\n showAll: boolean,\n quietEmpty = false\n): string[] {\n if (plan.configSkipped === \"disabled\") return quietEmpty ? [] : [c.yellow(t(\"mod.update.disabled\"))];\n if (plan.configSkipped === \"check-off\") return quietEmpty ? [] : [c.dim(t(\"mod.update.checkOff\"))];\n const lines: string[] = [];\n for (const item of plan.skipped) {\n if (!showAll && quiet.has(item.reason)) continue;\n /** \u8DF3\u8FC7\u884C\u4E0A\u7684\u7248\u672C\u5BF9\u7167\u3002\u6709\u7D22\u5F15\u76EE\u6807\u65F6\u8BA9\u670D\u4E3B\u770B\u5230 1.0.0 -> 1.2.0\uFF0C\u800C\u4E0D\u662F\u53EA\u770B\u5230\u539F\u56E0\u3002 */\n const versions =\n item.fromVersion || item.toVersion ? ` ${versionText(item.fromVersion)} -> ${versionText(item.toVersion)}` : \"\";\n lines.push(c.dim(` ${item.id}${versions} ${reasonText(item.reason, item.detail)}`));\n }\n for (const item of plan.upgrades) {\n lines.push(\n c.green(\n ` ${t(\"mod.update.upgrade\", {\n id: item.id,\n from: versionText(item.fromVersion),\n to: versionText(item.toVersion),\n })}`\n )\n );\n }\n if (plan.upgrades.length === 0 && lines.length === 0 && !quietEmpty) lines.push(c.dim(t(\"mod.update.none\")));\n return lines;\n}\n\nfunction formatApply(result: ModuleUpdateApplyResult, hintReload: boolean): string[] {\n const lines: string[] = [];\n for (const item of result.applied) {\n lines.push(\n c.green(\n t(\"mod.update.applied\", {\n id: item.id,\n from: versionText(item.fromVersion),\n to: versionText(item.toVersion),\n })\n )\n );\n }\n for (const item of result.skipped) {\n lines.push(c.yellow(` ${item.id} ${reasonText(item.reason, item.detail)}`));\n }\n for (const item of result.failed) {\n lines.push(c.red(t(\"mod.update.failed\", { id: item.id, message: item.message })));\n }\n if (hintReload && result.applied.length > 0) lines.push(c.yellow(t(\"mod.update.reloadHint\")));\n return lines;\n}\n\ninterface UpdateFlags {\n check: boolean;\n yes: boolean;\n allowMajor: boolean;\n ids: string[];\n}\n\n/** \u89E3\u6790 mod update \u7684\u65D7\u6807\u3002\u672A\u77E5\u65D7\u6807\u8FD4\u56DE null\u3002 */\nfunction parseUpdateFlags(args: string[]): UpdateFlags | null {\n const flags: UpdateFlags = { check: false, yes: false, allowMajor: false, ids: [] };\n for (const arg of args) {\n if (arg === \"--check\") flags.check = true;\n else if (arg === \"--yes\") flags.yes = true;\n else if (arg === \"--allow-major\") flags.allowMajor = true;\n else if (arg.startsWith(\"--\")) return null;\n else flags.ids.push(arg);\n }\n return flags;\n}\n\n/**\n * mod update\uFF1A\u5148\u51FA\u8BA1\u5212\uFF0C\u4EA4\u4E92\u786E\u8BA4\u540E\u518D\u6362\u5305\u3002\n * --check \u53EA\u62A5\u544A\u3002\u6A21\u5757\u66F4\u65B0\u53EA\u5728\u6267\u884C\u672C\u547D\u4EE4\u65F6\u8FDB\u884C\u3002\n */\nexport async function cmdModuleUpdate(args: string[]): Promise<string> {\n const flags = parseUpdateFlags(args);\n if (!flags) return c.yellow(t(\"mod.update.usage\"));\n const api = await loadUpdateApi();\n if (!api) return c.red(t(\"mod.fetchMissing\"));\n const plan = await api.planModuleUpdates({\n root: ROOT,\n allowMajor: flags.allowMajor,\n ids: flags.ids,\n });\n /** \u70B9\u540D\u4E86\u6A21\u5757\u6216\u663E\u5F0F --check \u65F6\u5C55\u5F00\u5B89\u9759\u8DF3\u8FC7\uFF1B\u6CA1\u70B9\u540D\u65F6\u4ECD\u53EF\u6536\u6210\u300C\u6CA1\u6709\u53EF\u66F4\u65B0\u7684\u6A21\u5757\u300D\u3002 */\n const revealQuietSkips = flags.check || flags.ids.length > 0;\n const lines = formatPlan(plan, api.QUIET_SKIP_REASONS, revealQuietSkips);\n if (flags.check || plan.configSkipped || plan.upgrades.length === 0) return lines.join(\"\\n\");\n if (!flags.yes) {\n if (!isCliTty()) return [...lines, c.yellow(t(\"mod.update.needYes\"))].join(\"\\n\");\n const ans = await withCookedStdin(() =>\n confirm({\n message: t(\"mod.update.confirm\", { count: plan.upgrades.length }),\n initialValue: true,\n })\n );\n if (isCancel(ans) || !ans) return [...lines, c.dim(t(\"mod.update.cancelled\"))].join(\"\\n\");\n }\n const fetchApi = await loadFetchApi();\n if (!fetchApi) return c.red(t(\"mod.fetchMissing\"));\n const result = await api.applyModuleUpgrades(plan.upgrades, {\n root: ROOT,\n failMode: plan.failMode,\n install: fetchApi.installPreservingLock,\n resync: api.resyncInstalledCatalog,\n });\n return [...lines, ...formatApply(result, true)].join(\"\\n\");\n}\n\n/** \u5F00\u670D\u8DEF\u5F84\u5DF2\u5E9F\u5F03\uFF0C\u66F4\u65B0\u53EA\u80FD\u8D70\u663E\u5F0F\u547D\u4EE4\u3002 */\nexport async function runModuleUpdatesOnBdsStart(): Promise<void> {\n return;\n}\n\n/**\n * mod pin <id> --auto on|off\n * \u94FE\u63A5\u548C\u672C\u5730\u76EE\u5F55\u4E0D\u80FD\u6253\u5F00\u81EA\u52A8\u66F4\u65B0\u3002\n */\nexport async function cmdModulePin(args: string[]): Promise<string> {\n let id = \"\";\n let auto: boolean | null = null;\n for (let i = 0; i < args.length; i++) {\n const arg = args[i];\n if (arg === \"--auto\") {\n const value = args[++i];\n if (value === \"on\") auto = true;\n else if (value === \"off\") auto = false;\n else return c.yellow(t(\"mod.pin.usage\"));\n } else if (arg?.startsWith(\"--auto=\")) {\n const value = arg.slice(\"--auto=\".length);\n if (value === \"on\") auto = true;\n else if (value === \"off\") auto = false;\n else return c.yellow(t(\"mod.pin.usage\"));\n } else if (arg?.startsWith(\"--\")) {\n return c.yellow(t(\"mod.pin.usage\"));\n } else if (arg) {\n id = arg;\n }\n }\n if (!id || auto === null) return c.yellow(t(\"mod.pin.usage\"));\n const api = await loadUpdateApi();\n if (!api) return c.red(t(\"mod.fetchMissing\"));\n const result = api.setModulePinAuto(ROOT, id, auto);\n if (!result.ok && result.code === \"locked\") return c.yellow(t(\"mod.pin.locked\", { id: result.id || id }));\n if (!result.ok) return c.yellow(t(\"mod.pin.missing\", { id }));\n return c.green(t(\"mod.pin.ok\", { id: result.id, state: t(result.auto ? \"mod.pin.on\" : \"mod.pin.off\") }));\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sfmc-bds/cli",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.4",
|
|
4
4
|
"description": "SFMC management CLI — REPL, service supervisor, module install, behavior-pack build/deploy",
|
|
5
5
|
"author": "Shiroha7z",
|
|
6
6
|
"license": "AGPL-3.0-only",
|
|
@@ -55,13 +55,13 @@
|
|
|
55
55
|
"esbuild": "^0.28.1",
|
|
56
56
|
"ajv": "8.20.0",
|
|
57
57
|
"jsonc-parser": "3.3.1",
|
|
58
|
-
"@sfmc-bds/bds-tools": "0.2.
|
|
59
|
-
"@sfmc-bds/devkit": "2.0.
|
|
60
|
-
"@sfmc-bds/sdk": "0.3.
|
|
61
|
-
"@sfmc-bds/management": "0.3.
|
|
58
|
+
"@sfmc-bds/bds-tools": "0.2.6",
|
|
59
|
+
"@sfmc-bds/devkit": "2.0.2",
|
|
60
|
+
"@sfmc-bds/sdk": "0.3.1",
|
|
61
|
+
"@sfmc-bds/management": "0.3.1"
|
|
62
62
|
},
|
|
63
63
|
"devDependencies": {
|
|
64
|
-
"@sfmc-bds/tools": "0.2.
|
|
64
|
+
"@sfmc-bds/tools": "0.2.6"
|
|
65
65
|
},
|
|
66
66
|
"publishConfig": {
|
|
67
67
|
"access": "public",
|
|
@@ -4,11 +4,12 @@
|
|
|
4
4
|
* 安装目录若是 symlink / junction,只记 local-source 跳过,不换包。
|
|
5
5
|
* 下载与落盘由调用方注入的 install,本文件不复制第二套安装逻辑。
|
|
6
6
|
*/
|
|
7
|
+
import { isRetiredPlatformModule, RETIRED_PLATFORM_MODULES } from "@sfmc-bds/sdk/contracts";
|
|
8
|
+
import { randomBytes } from "node:crypto";
|
|
7
9
|
import fs from "node:fs";
|
|
8
10
|
import fsp from "node:fs/promises";
|
|
9
|
-
import path from "node:path";
|
|
10
|
-
import { randomBytes } from "node:crypto";
|
|
11
11
|
import { createRequire } from "node:module";
|
|
12
|
+
import path from "node:path";
|
|
12
13
|
import { upsertCatalogEntry } from "./catalog.mjs";
|
|
13
14
|
import { readJson } from "./io.mjs";
|
|
14
15
|
import { loadModuleUpdateConfig } from "./module-update-config.mjs";
|
|
@@ -54,6 +55,15 @@ import { compareSemver, isMajorBump, satisfiesSdk } from "./semver.mjs";
|
|
|
54
55
|
/** 这些跳过原因在开服日志里不展开,避免每轮刷屏。 */
|
|
55
56
|
export const QUIET_SKIP_REASONS = new Set(["auto-off", "local-source", "up-to-date"]);
|
|
56
57
|
|
|
58
|
+
/**
|
|
59
|
+
* 目录名或 manifest.id 是否已收编至平台。
|
|
60
|
+
* @param {string | null | undefined} id
|
|
61
|
+
*/
|
|
62
|
+
function isRetiredModuleId(id) {
|
|
63
|
+
const raw = String(id ?? "");
|
|
64
|
+
return isRetiredPlatformModule(raw) || isRetiredPlatformModule(normalizeModuleId(raw));
|
|
65
|
+
}
|
|
66
|
+
|
|
57
67
|
/**
|
|
58
68
|
* 读取本机 @sfmc-bds/sdk 版本,用来对照索引里的 sdk 范围。
|
|
59
69
|
* @param {string} [cliPkgDir]
|
|
@@ -368,6 +378,7 @@ export async function planModuleUpdates(options = {}) {
|
|
|
368
378
|
installedNorm.add(normalizeModuleId(folder));
|
|
369
379
|
if (pin.manifestId) installedNorm.add(normalizeModuleId(pin.manifestId));
|
|
370
380
|
}
|
|
381
|
+
for (const id of RETIRED_PLATFORM_MODULES) installedNorm.add(normalizeModuleId(id));
|
|
371
382
|
|
|
372
383
|
/** @type {ModuleUpgrade[]} */
|
|
373
384
|
const upgrades = [];
|
|
@@ -390,6 +401,10 @@ export async function planModuleUpdates(options = {}) {
|
|
|
390
401
|
if (wanted.size > 0 && !keys.some((key) => wanted.has(key))) continue;
|
|
391
402
|
const dir = packageDirOf(root, folder);
|
|
392
403
|
const installedVersion = readPackageVersion(dir) ?? pin.installedVersion;
|
|
404
|
+
if ([folder, manifestId].some((id) => isRetiredModuleId(id))) {
|
|
405
|
+
skipped.push({ id: folder, reason: "retired", fromVersion: installedVersion, toVersion: null, detail: "" });
|
|
406
|
+
continue;
|
|
407
|
+
}
|
|
393
408
|
const indexEntry = index ? index[folder] || index[normalizeModuleId(manifestId || "")] || null : null;
|
|
394
409
|
/* 目录本身是开发链接时先跳过,避免 pin 写成 npm 后仍去查 dist-tag 并换包。 */
|
|
395
410
|
const linkSkip = skipWhenDevLink(
|
|
@@ -538,6 +553,10 @@ export async function applyModuleUpgrades(upgrades, deps) {
|
|
|
538
553
|
/** @type {{ id: string, message: string }[]} */
|
|
539
554
|
const failed = [];
|
|
540
555
|
for (const item of upgrades) {
|
|
556
|
+
if (isRetiredModuleId(item.id)) {
|
|
557
|
+
skipped.push({ id: item.id, reason: "retired", fromVersion: item.fromVersion, toVersion: item.toVersion, detail: "" });
|
|
558
|
+
continue;
|
|
559
|
+
}
|
|
541
560
|
const linkSkip = skipWhenDevLink(item.id, packageDirOf(deps.root, item.id), item.fromVersion, item.toVersion);
|
|
542
561
|
if (linkSkip) {
|
|
543
562
|
skipped.push(linkSkip);
|
|
@@ -529,3 +529,97 @@ test("新播种的更新配置在开服时不自动应用,已有文件保持
|
|
|
529
529
|
assert.equal(keptPlan.applyOnStart, true);
|
|
530
530
|
assert.equal(fs.readFileSync(keptFile, "utf8"), before);
|
|
531
531
|
});
|
|
532
|
+
|
|
533
|
+
test("弃用模块不进入升级,依赖它的模块仍可更新", async () => {
|
|
534
|
+
const root = fs.mkdtempSync(path.join(os.tmpdir(), "sfmc-mod-retired-"));
|
|
535
|
+
const monitor = path.join(root, "modules", "packages", "monitor");
|
|
536
|
+
fs.mkdirSync(path.join(monitor, "sapi"), { recursive: true });
|
|
537
|
+
fs.writeFileSync(path.join(monitor, "package.json"), JSON.stringify({ name: "@sfmc-bds/module-monitor", version: "0.2.1" }));
|
|
538
|
+
fs.writeFileSync(path.join(monitor, "sapi", "manifest.json"), JSON.stringify({ id: "monitor", configKey: "monitor", requires: [] }));
|
|
539
|
+
const chat = path.join(root, "modules", "packages", "chat");
|
|
540
|
+
fs.mkdirSync(path.join(chat, "sapi"), { recursive: true });
|
|
541
|
+
fs.writeFileSync(path.join(chat, "package.json"), JSON.stringify({ name: "@sfmc-bds/module-chat", version: "1.0.0" }));
|
|
542
|
+
fs.writeFileSync(
|
|
543
|
+
path.join(chat, "sapi", "manifest.json"),
|
|
544
|
+
JSON.stringify({ id: "chat", configKey: "chat", requires: ["monitor"] })
|
|
545
|
+
);
|
|
546
|
+
const plan = await planModuleUpdates({
|
|
547
|
+
root,
|
|
548
|
+
hostSdk: "0.2.5",
|
|
549
|
+
ids: ["monitor"],
|
|
550
|
+
fetchIndex: async () => ({
|
|
551
|
+
index: {
|
|
552
|
+
monitor: { npm: "@sfmc-bds/module-monitor", version: "0.5.0", sdk: ">=0.2.0" },
|
|
553
|
+
chat: { npm: "@sfmc-bds/module-chat", version: "1.1.0", sdk: ">=0.2.2" },
|
|
554
|
+
},
|
|
555
|
+
offline: false,
|
|
556
|
+
}),
|
|
557
|
+
fetchDistTag: async () => {
|
|
558
|
+
throw new Error("retired module should not query dist-tag");
|
|
559
|
+
},
|
|
560
|
+
});
|
|
561
|
+
assert.equal(plan.upgrades.length, 0);
|
|
562
|
+
const skipped = plan.skipped.find((item) => item.id === "monitor");
|
|
563
|
+
assert.equal(skipped?.reason, "retired");
|
|
564
|
+
assert.equal(skipped?.fromVersion, "0.2.1");
|
|
565
|
+
assert.equal(skipped?.toVersion, null);
|
|
566
|
+
|
|
567
|
+
const withChat = await planModuleUpdates({
|
|
568
|
+
root,
|
|
569
|
+
hostSdk: "0.2.5",
|
|
570
|
+
fetchIndex: async () => ({
|
|
571
|
+
index: {
|
|
572
|
+
monitor: { npm: "@sfmc-bds/module-monitor", version: "0.5.0", sdk: ">=0.2.0" },
|
|
573
|
+
chat: { npm: "@sfmc-bds/module-chat", version: "1.1.0", sdk: ">=0.2.2" },
|
|
574
|
+
},
|
|
575
|
+
offline: false,
|
|
576
|
+
}),
|
|
577
|
+
fetchDistTag: async () => {
|
|
578
|
+
throw new Error("indexed modules should not query dist-tag");
|
|
579
|
+
},
|
|
580
|
+
});
|
|
581
|
+
assert.deepEqual(withChat.upgrades.map((item) => item.id), ["chat"]);
|
|
582
|
+
assert.equal(withChat.skipped.some((item) => item.reason === "missing-dependency"), false);
|
|
583
|
+
assert.equal(withChat.skipped.find((item) => item.id === "monitor")?.reason, "retired");
|
|
584
|
+
|
|
585
|
+
const dependent = fs.mkdtempSync(path.join(os.tmpdir(), "sfmc-mod-retired-dep-"));
|
|
586
|
+
const onlyChat = path.join(dependent, "modules", "packages", "chat");
|
|
587
|
+
fs.mkdirSync(path.join(onlyChat, "sapi"), { recursive: true });
|
|
588
|
+
fs.writeFileSync(path.join(onlyChat, "package.json"), JSON.stringify({ name: "@sfmc-bds/module-chat", version: "1.0.0" }));
|
|
589
|
+
fs.writeFileSync(
|
|
590
|
+
path.join(onlyChat, "sapi", "manifest.json"),
|
|
591
|
+
JSON.stringify({ id: "chat", configKey: "chat", requires: ["monitor"] })
|
|
592
|
+
);
|
|
593
|
+
const dependentPlan = await planModuleUpdates({
|
|
594
|
+
root: dependent,
|
|
595
|
+
hostSdk: "0.2.5",
|
|
596
|
+
fetchIndex: async () => ({
|
|
597
|
+
index: { chat: { npm: "@sfmc-bds/module-chat", version: "1.1.0", sdk: ">=0.2.2" } },
|
|
598
|
+
offline: false,
|
|
599
|
+
}),
|
|
600
|
+
fetchDistTag: async () => null,
|
|
601
|
+
});
|
|
602
|
+
assert.deepEqual(dependentPlan.upgrades.map((item) => item.id), ["chat"]);
|
|
603
|
+
assert.equal(dependentPlan.skipped.some((item) => item.reason === "missing-dependency"), false);
|
|
604
|
+
});
|
|
605
|
+
|
|
606
|
+
test("换包阶段仍拒绝弃用模块", async () => {
|
|
607
|
+
const root = fs.mkdtempSync(path.join(os.tmpdir(), "sfmc-mod-retired-apply-"));
|
|
608
|
+
const pkg = path.join(root, "modules", "packages", "monitor");
|
|
609
|
+
fs.mkdirSync(pkg, { recursive: true });
|
|
610
|
+
fs.writeFileSync(path.join(pkg, "marker.txt"), "old");
|
|
611
|
+
const result = await applyModuleUpgrades(
|
|
612
|
+
[{ id: "monitor", fromVersion: "0.2.1", toVersion: "0.5.0", spec: "npm:@sfmc-bds/module-monitor@0.5.0", requires: [] }],
|
|
613
|
+
{
|
|
614
|
+
root,
|
|
615
|
+
failMode: "continue",
|
|
616
|
+
install: async () => {
|
|
617
|
+
throw new Error("retired module must not be installed");
|
|
618
|
+
},
|
|
619
|
+
}
|
|
620
|
+
);
|
|
621
|
+
assert.equal(result.applied.length, 0);
|
|
622
|
+
assert.equal(result.failed.length, 0);
|
|
623
|
+
assert.equal(result.skipped[0]?.reason, "retired");
|
|
624
|
+
assert.equal(fs.readFileSync(path.join(pkg, "marker.txt"), "utf8"), "old");
|
|
625
|
+
});
|