@dsh-workbench/core 0.2.6 → 0.2.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. package/README.md +11 -9
  2. package/bin/dsh-workbench +42 -4
  3. package/client.js +252 -36
  4. package/dist/client/client.body.js +252 -36
  5. package/dist/client/index.js +252 -36
  6. package/dist/host/index.js +1054 -737
  7. package/dist/types/app/client.d.ts +21 -15
  8. package/dist/types/app/layouts/rightbar/__tests__/market-order.test.d.ts +1 -0
  9. package/dist/types/app/layouts/rightbar/__tests__/market-running-display.test.d.ts +1 -0
  10. package/dist/types/app/layouts/rightbar/__tests__/market-workbench-act.test.d.ts +1 -0
  11. package/dist/types/app/layouts/rightbar/market-act.d.ts +2 -1
  12. package/dist/types/app/layouts/rightbar/market-rows.d.ts +3 -0
  13. package/dist/types/app/layouts/rightbar/market-settle-hold.d.ts +13 -0
  14. package/dist/types/app/layouts/rightbar/market-settle.d.ts +22 -0
  15. package/dist/types/app/layouts/rightbar/market-transient-state.d.ts +22 -0
  16. package/dist/types/app/layouts/rightbar/market-view-text.d.ts +26 -1
  17. package/dist/types/modules/panels/__tests__/market-tools-harness.d.ts +3 -0
  18. package/dist/types/modules/panels/model/market-workbench-update.d.ts +19 -0
  19. package/dist/types/modules/panels/model/market.d.ts +4 -0
  20. package/dist/types/shared/api/bundle-install.d.ts +1 -0
  21. package/dist/types/shared/api/config-sync.d.ts +0 -2
  22. package/dist/types/shared/api/host/__tests__/post-channels.test.d.ts +1 -0
  23. package/dist/types/shared/api/host/__tests__/self-update.test.d.ts +1 -0
  24. package/dist/types/shared/api/host/bundle-manager.d.ts +1 -0
  25. package/dist/types/shared/api/host/bundle-routes.d.ts +1 -1
  26. package/dist/types/shared/api/host/config-sync.d.ts +2 -2
  27. package/dist/types/shared/api/host/post-channels.d.ts +18 -0
  28. package/dist/types/shared/api/host/self-update.d.ts +45 -0
  29. package/docs/HANDOFF.md +12 -5
  30. package/docs/OPERATIONS.md +35 -4
  31. package/package.json +4 -4
  32. package/scripts/seed-profile.sh +61 -1
@@ -298,6 +298,7 @@ export declare const kit: {
298
298
  readonly "panels.market.lead": "\u88C5\u5728\u8FD9\u53F0\u673A\u5668\u4E0A\uFF0C\u6240\u6709\u9879\u76EE\u5171\u7528\u3002";
299
299
  readonly "panels.market.install": "\u5B89\u88C5";
300
300
  readonly "panels.market.update": "\u66F4\u65B0";
301
+ readonly "panels.market.swapSlow": "\u8FD8\u6CA1\u6362\u4E0A\uFF1A\u53EF\u80FD\u7F51\u6162\u6216\u6CA1\u88C5\u4E0A\u3002\u518D\u70B9\u4E00\u6B21\u300C\u66F4\u65B0\u300D\uFF1B\u4E00\u76F4\u8FD9\u6837\u5C31\u628A dsh \u91CD\u542F\u4E00\u904D\u3002";
301
302
  readonly "panels.market.uninstall": "\u5378\u8F7D";
302
303
  readonly "panels.market.uninstallLabel": "\u5378\u8F7D {name}";
303
304
  readonly "panels.market.installing": "\u6B63\u5728\u5B89\u88C5\u2026";
@@ -549,7 +550,7 @@ export declare const kit: {
549
550
  readonly "panel.conversation": "\u5BF9\u8BDD";
550
551
  readonly "panels.label": "\u5168\u5C40\u9762\u677F";
551
552
  readonly "configSync.nav": "\u914D\u7F6E\u540C\u6B65";
552
- readonly "configSync.lead": "\u628A\u53E6\u4E00\u4E2A profile \u91CC\u663E\u5F0F\u914D\u8FC7\u7684\u884C\u642C\u8FC7\u6765 \u2014\u2014 \u6765\u6E90\u968F\u4F60\u9009\u3002\u642C\u5B8C\u8981\u91CD\u542F\u5DE5\u4F5C\u53F0\u624D\u751F\u6548\u3002";
553
+ readonly "configSync.lead": "\u628A\u53E6\u4E00\u4E2A profile \u91CC\u663E\u5F0F\u914D\u8FC7\u7684\u884C\u642C\u8FC7\u6765 \u2014\u2014 \u6765\u6E90\u968F\u4F60\u9009\u3002";
553
554
  readonly "configSync.source": "\u6765\u6E90";
554
555
  readonly "configSync.sourceBroken": "\u8BFB\u4E0D\u5230\u5B83\u7684\u914D\u7F6E";
555
556
  readonly "configSync.sourceRows": "{name} \u8FD9\u4EFD\u91CC\u4F60\u6709 {count} \u884C\u53EF\u642C";
@@ -573,7 +574,7 @@ export declare const kit: {
573
574
  readonly "configSync.apply": "\u540C\u6B65\u9009\u4E2D\u7684 {count} \u884C";
574
575
  readonly "configSync.applyNone": "\u5148\u52FE\u51E0\u884C";
575
576
  readonly "configSync.applying": "\u6B63\u5728\u5199\u5165\u2026";
576
- readonly "configSync.applied": "\u5DF2\u5199\u5165\u5DE5\u4F5C\u53F0\u914D\u7F6E \u00B7 \u91CD\u542F\u5DE5\u4F5C\u53F0\u540E\u751F\u6548";
577
+ readonly "configSync.applied": "\u5DF2\u5199\u5165\u5DE5\u4F5C\u53F0\u914D\u7F6E \u00B7 \u5DF2\u751F\u6548";
577
578
  readonly "configSync.appliedIds": "\u8FD9\u6B21\u5199\u8FDB\u53BB\uFF1A{ids}";
578
579
  readonly "configSync.skippedIds": "\u8FD9\u51E0\u884C\u5DE5\u4F5C\u53F0\u81EA\u5DF1\u5DF2\u6709\uFF0C\u6CA1\u52A8\uFF1A{ids}";
579
580
  readonly "configSync.nothing": "\u6CA1\u6709\u9700\u8981\u540C\u6B65\u7684\u5185\u5BB9";
@@ -582,7 +583,7 @@ export declare const kit: {
582
583
  readonly "configSync.emptyProviders": "\u5DE5\u4F5C\u53F0\u8FD8\u6CA1\u6709\u4EFB\u4F55\u6A21\u578B\u4F9B\u5E94\u5546 \u2014\u2014 \u53BB\u300C\u914D\u7F6E\u540C\u6B65\u300D\u4ECE\u67D0\u4E2A profile \u628A llm- \u90A3\u51E0\u884C\u642C\u8FC7\u6765\uFF0C\u6216\u81EA\u5DF1\u53BB\u300C\u6A21\u578B\u300D\u91CC\u914D\u3002";
583
584
  readonly "configSync.failed": "\u540C\u6B65\u6CA1\u6210\u529F\uFF0C\u518D\u8BD5\u4E00\u6B21\u3002";
584
585
  };
585
- en: Record<"time.now" | "time.ago" | "time.minutes" | "time.hours" | "time.days" | "blocker.retry" | "blocker.copy" | "blocker.unknown.title" | "blocker.login.go" | "blocker.login.titleGeneric" | "blocker.login.title" | "blocker.login.manual" | "blocker.login.hint" | "blocker.forbidden.open" | "blocker.forbidden.titleGeneric" | "blocker.forbidden.title" | "blocker.forbidden.hint" | "blocker.timeout.hint" | "blocker.exec.hint" | "blocker.fix.install" | "blocker.fix.update" | "blocker.market.open" | "env.unit.failed" | "env.unit.failedHint" | "env.unit.missingPlugin" | "env.unit.hint" | "env.unit.missingCommands" | "env.unit.missingCommandsHint" | "env.unit.unchecked" | "env.unit.uncheckedHint" | "brand.name" | "toggle.open" | "toggle.collapse" | "project.label" | "workspace.section" | "project.none" | "project.empty" | "project.add" | "project.add.busy" | "project.add.failed" | "project.search.label" | "project.search.placeholder" | "project.search.empty" | "project.group.workspaces" | "project.group.defaultWorkspace" | "project.group.workshop" | "project.rename.row" | "project.rename.current" | "project.rename.title" | "project.rename.description" | "project.rename.field" | "project.rename.placeholder" | "project.rename.hint" | "project.rename.save" | "project.rename.saving" | "project.rename.cancel" | "project.rename.failed" | "session.new" | "session.new.label" | "session.empty" | "session.noProject" | "session.list.label" | "session.copy" | "session.pinned" | "session.actions" | "status.idle" | "status.running" | "status.waitingApproval" | "status.planReview" | "status.waitingAnswer" | "status.compact.approval" | "status.compact.planReview" | "status.compact.answer" | "status.completed" | "status.subagentsRunning.one" | "status.subagentsRunning.other" | "hover.copied" | "time.short.minutes" | "time.short.hours" | "time.short.days" | "time.short.months" | "time.short.years" | "panels.title" | "panels.groupBoardless" | "panels.groupPlugins" | "panels.market.defaultHint" | "panels.market.defaultLabel" | "panels.market.defaultLocked" | "panels.followAll" | "panels.followAllConfirmTitle" | "panels.followAllConfirmDetail" | "panels.followAllConfirmAck" | "panels.followAllConfirmYes" | "panels.followAllConfirmNo" | "panels.enabled" | "panels.disabled" | "panels.choose" | "panels.buildModule" | "panels.failed" | "panels.dragHint" | "panels.unknownStep" | "panels.labelWithHint" | "panels.dep.failed" | "panels.dep.missingPlugin" | "panels.dep.missingCommands" | "panels.dep.unchecked" | "panels.tab.modules" | "panels.tab.market" | "panels.browseMarket" | "panels.noneInstalled" | "panels.noneInstalledHint" | "panels.market.installed" | "panels.market.notActive" | "panels.market.notUsable" | "panels.market.broken" | "panels.market.hasNew" | "panels.market.missing" | "panels.market.unchecked" | "panels.market.checking" | "panels.market.sectionInstalled" | "panels.market.sectionPending" | "panels.market.sectionShared" | "panels.market.sharedUsedBy" | "panels.market.listSeparator" | "panels.market.sharedMissing" | "panels.market.sharedOutdated" | "panels.market.sharedUnsatisfied" | "panels.market.sharedOk" | "panels.market.versionArrow" | "panels.market.lead" | "panels.market.install" | "panels.market.update" | "panels.market.uninstall" | "panels.market.uninstallLabel" | "panels.market.installing" | "panels.market.updating" | "panels.market.uninstalling" | "panels.market.confirmUninstallTitle" | "panels.market.confirmUninstallDetail" | "panels.market.confirmUninstallAck" | "panels.market.confirmYes" | "panels.market.confirmNo" | "panels.market.failed" | "panels.market.needEnv" | "panels.market.needCommands" | "panels.market.localMark" | "panels.market.localHint" | "panels.market.noSource" | "panels.market.badSource" | "panels.market.empty" | "panels.market.sectionPlugins" | "panels.market.moduleOutdated" | "panels.market.moduleRefused" | "panels.market.moduleRefusedDetail" | "panels.market.moduleRestartHint" | "panels.market.workbenchName" | "panels.market.workbenchLocal" | "panels.market.pluginKeptInUse" | "panels.market.pluginKeptUnsure" | "panels.market.pluginKeptHeld" | "panels.market.pluginKeptUnnamed" | "panels.market.pluginBroken" | "panels.market.restartNeeded" | "panels.market.foot" | "panels.market.recheck" | "panels.market.checkUpdates" | "panels.market.checkedAt" | "panels.market.justNow" | "panels.market.minutesAgo" | "panels.market.hoursAgo" | "panels.market.add.description" | "panels.market.add.specPlaceholder" | "panels.market.add.guideToggle" | "panels.market.add.guideHide" | "panels.market.add.guideIdTitle" | "panels.market.add.guideIdExample" | "panels.market.add.guideIdHint" | "panels.market.add.guideGitTitle" | "panels.market.add.guideGitExample" | "panels.market.add.guideGitHint" | "panels.market.add.guidePathTitle" | "panels.market.add.guidePathExample" | "panels.market.add.guidePathHint" | "panels.market.add.guideExampleLabel" | "panels.market.add.guideFill" | "panels.market.add.guideSafety" | "panels.market.add.registryLegend" | "panels.market.add.registryOfficial" | "panels.market.add.registryMirror" | "panels.market.add.registryWithHost" | "panels.market.add.registryToggle" | "panels.market.add.installVersion" | "panels.market.add.registryDefault" | "panels.market.add.registryCustom" | "panels.market.add.registryCustomPlaceholder" | "panels.market.add.registryCustomHint" | "panels.market.add.registryCustomInvalid" | "panels.market.add.run" | "panels.market.add.edit" | "panels.market.add.changeRegistry" | "panels.market.add.installingTitle" | "panels.market.add.installedTitle" | "panels.market.add.failedTitle" | "panels.market.add.cancelledTitle" | "panels.market.add.failureNetworkHost" | "panels.market.add.problemInvalid" | "panels.market.add.problemInstalled" | "panels.market.add.problemNotFound" | "panels.market.add.problemNotPackage" | "panels.market.add.problemNotBundle" | "panels.market.add.problemNotWorkbenchModule" | "panels.market.add.problemNotModuleOrPlugin" | "panels.market.add.failureNotModuleOrPlugin" | "panels.market.add.installedPlugin" | "panels.market.add.pluginPreview" | "panels.market.add.pluginAlias" | "panels.market.add.problemNetwork" | "panels.market.add.problemUnknown" | "panels.market.add.failureNetwork" | "panels.market.add.failureNotFound" | "panels.market.add.failureNoMatchingVersion" | "panels.market.add.failureDiskFull" | "panels.market.add.failurePermission" | "panels.market.add.failureBuildBlocked" | "panels.market.add.failureIntegrity" | "panels.market.add.failureTimeout" | "panels.market.add.failurePnpmMissing" | "panels.market.add.failureInstalled" | "panels.market.add.failureGeneric" | "panels.market.add.approveTitle" | "panels.market.add.approveCaution" | "panels.market.add.approveRun" | "panels.market.add.restart" | "panels.market.add.tookEffect" | "panels.market.add.details" | "panels.market.add.open" | "panels.market.add.title" | "panels.market.add.intro" | "panels.market.add.specLabel" | "panels.market.add.specHint" | "panels.market.add.exampleTitle" | "panels.market.add.exampleFill" | "panels.market.add.registryLabel" | "panels.market.add.registryProfile" | "panels.market.add.registryPnpm" | "panels.market.add.check" | "panels.market.add.checking" | "panels.market.add.classifying" | "panels.market.add.change" | "panels.market.add.previewTitle" | "panels.market.add.fieldName" | "panels.market.add.fieldVersion" | "panels.market.add.fieldDescription" | "panels.market.add.fieldSource" | "panels.market.add.install" | "panels.market.add.installing" | "panels.market.add.cancel" | "panels.market.add.close" | "panels.market.add.retry" | "panels.market.add.changeSource" | "panels.market.add.approveBuilds" | "panels.market.add.approveHint" | "panels.market.add.doneApplied" | "panels.market.add.doneRestart" | "panels.market.add.cancelled" | "panels.market.add.failed" | "panels.market.add.removed" | "panels.market.add.supplyPending" | "panels.market.add.supplyFailed" | "panels.market.add.notModule" | "panels.market.add.removedRestart" | "panels.market.add.remove" | "panels.market.add.problem.invalidSpec" | "panels.market.add.problem.alreadyInstalled" | "panels.market.add.problem.notFound" | "panels.market.add.problem.notAPackage" | "panels.market.add.problem.notABundle" | "panels.market.add.problem.network" | "panels.market.add.problem.unknown" | "panels.market.add.reason.invalidSpec" | "panels.market.add.reason.incompatible" | "panels.market.add.reason.notBundle" | "panels.market.add.reason.notRemovable" | "panels.market.add.reason.bundleInUse" | "panels.market.add.reason.stopProfile" | "panels.market.add.reason.staleApproval" | "panels.market.add.reason.operationError" | "panels.market.add.reason.buildBlocked" | "panels.market.add.reason.pnpmMissing" | "panels.market.add.reason.noMatchingVersion" | "panels.market.add.reason.diskFull" | "panels.market.add.reason.permission" | "panels.market.add.reason.integrity" | "panels.market.add.reason.timeout" | "panels.market.add.reason.network" | "panels.market.add.reason.notFound" | "panels.market.add.reason.unknown" | "blocker.fix.running" | "blocker.fix.failed" | "blocker.retry.running" | "panels.reading" | "panels.cardBroken" | "panels.cardRetry" | "panels.empty" | "panels.emptyHint" | "env.title" | "env.checking" | "env.installing" | "env.failed" | "env.elapsed" | "env.stepFailed.install" | "env.stepFailed.path" | "env.stepFailed.shell" | "env.bridge.ok" | "env.bridge.short" | "env.bridge.why" | "env.bridge.daemon" | "env.bridge.extension" | "env.bridge.extensionLink" | "env.bridge.profile" | "env.bridge.stale" | "env.bridge.unknown" | "env.fix.title" | "env.fix.why" | "env.fix.whyPath" | "env.fix.whyShell" | "env.fix.step" | "env.fix.stepPath" | "env.fix.stepShell" | "env.fix.permission" | "env.fix.network" | "env.fix.details" | "env.retry" | "env.copyCommand" | "env.copied" | "env.step.opencli" | "env.step.codingPlugin" | "env.step.bridge" | "env.step.warm" | "env.warm.done" | "env.warm.short" | "rightbar.label" | "rightbar.expand" | "rightbar.collapse" | "rightbar.column.label" | "rightbar.column.workbench" | "rightbar.column.dsh" | "rightbar.refresh" | "rightbar.refreshing" | "rightbar.updatedAt" | "rightbar.noProject" | "rightbar.openPlatform" | "coding.notARepo.title" | "error.unknown" | "board.title" | "panel.conversation" | "panels.label" | "configSync.nav" | "configSync.lead" | "configSync.source" | "configSync.sourceBroken" | "configSync.sourceRows" | "configSync.sourceDead" | "configSync.refresh" | "configSync.loading" | "configSync.readHint" | "configSync.tag.new" | "configSync.tag.differs" | "configSync.conflictNote" | "configSync.code.lang" | "configSync.code.copy" | "configSync.code.copied" | "configSync.code.wrap" | "configSync.code.unwrap" | "configSync.code.collapse" | "configSync.code.collapseAria" | "configSync.code.expandAria" | "configSync.code.expand" | "configSync.missing" | "configSync.apply" | "configSync.applyNone" | "configSync.applying" | "configSync.applied" | "configSync.appliedIds" | "configSync.skippedIds" | "configSync.nothing" | "configSync.unreadable" | "configSync.noSource" | "configSync.emptyProviders" | "configSync.failed", string>;
586
+ en: Record<"time.now" | "time.ago" | "time.minutes" | "time.hours" | "time.days" | "blocker.retry" | "blocker.copy" | "blocker.unknown.title" | "blocker.login.go" | "blocker.login.titleGeneric" | "blocker.login.title" | "blocker.login.manual" | "blocker.login.hint" | "blocker.forbidden.open" | "blocker.forbidden.titleGeneric" | "blocker.forbidden.title" | "blocker.forbidden.hint" | "blocker.timeout.hint" | "blocker.exec.hint" | "blocker.fix.install" | "blocker.fix.update" | "blocker.market.open" | "env.unit.failed" | "env.unit.failedHint" | "env.unit.missingPlugin" | "env.unit.hint" | "env.unit.missingCommands" | "env.unit.missingCommandsHint" | "env.unit.unchecked" | "env.unit.uncheckedHint" | "brand.name" | "toggle.open" | "toggle.collapse" | "project.label" | "workspace.section" | "project.none" | "project.empty" | "project.add" | "project.add.busy" | "project.add.failed" | "project.search.label" | "project.search.placeholder" | "project.search.empty" | "project.group.workspaces" | "project.group.defaultWorkspace" | "project.group.workshop" | "project.rename.row" | "project.rename.current" | "project.rename.title" | "project.rename.description" | "project.rename.field" | "project.rename.placeholder" | "project.rename.hint" | "project.rename.save" | "project.rename.saving" | "project.rename.cancel" | "project.rename.failed" | "session.new" | "session.new.label" | "session.empty" | "session.noProject" | "session.list.label" | "session.copy" | "session.pinned" | "session.actions" | "status.idle" | "status.running" | "status.waitingApproval" | "status.planReview" | "status.waitingAnswer" | "status.compact.approval" | "status.compact.planReview" | "status.compact.answer" | "status.completed" | "status.subagentsRunning.one" | "status.subagentsRunning.other" | "hover.copied" | "time.short.minutes" | "time.short.hours" | "time.short.days" | "time.short.months" | "time.short.years" | "panels.title" | "panels.groupBoardless" | "panels.groupPlugins" | "panels.market.defaultHint" | "panels.market.defaultLabel" | "panels.market.defaultLocked" | "panels.followAll" | "panels.followAllConfirmTitle" | "panels.followAllConfirmDetail" | "panels.followAllConfirmAck" | "panels.followAllConfirmYes" | "panels.followAllConfirmNo" | "panels.enabled" | "panels.disabled" | "panels.choose" | "panels.buildModule" | "panels.failed" | "panels.dragHint" | "panels.unknownStep" | "panels.labelWithHint" | "panels.dep.failed" | "panels.dep.missingPlugin" | "panels.dep.missingCommands" | "panels.dep.unchecked" | "panels.tab.modules" | "panels.tab.market" | "panels.browseMarket" | "panels.noneInstalled" | "panels.noneInstalledHint" | "panels.market.installed" | "panels.market.notActive" | "panels.market.notUsable" | "panels.market.broken" | "panels.market.hasNew" | "panels.market.missing" | "panels.market.unchecked" | "panels.market.checking" | "panels.market.sectionInstalled" | "panels.market.sectionPending" | "panels.market.sectionShared" | "panels.market.sharedUsedBy" | "panels.market.listSeparator" | "panels.market.sharedMissing" | "panels.market.sharedOutdated" | "panels.market.sharedUnsatisfied" | "panels.market.sharedOk" | "panels.market.versionArrow" | "panels.market.lead" | "panels.market.install" | "panels.market.update" | "panels.market.swapSlow" | "panels.market.uninstall" | "panels.market.uninstallLabel" | "panels.market.installing" | "panels.market.updating" | "panels.market.uninstalling" | "panels.market.confirmUninstallTitle" | "panels.market.confirmUninstallDetail" | "panels.market.confirmUninstallAck" | "panels.market.confirmYes" | "panels.market.confirmNo" | "panels.market.failed" | "panels.market.needEnv" | "panels.market.needCommands" | "panels.market.localMark" | "panels.market.localHint" | "panels.market.noSource" | "panels.market.badSource" | "panels.market.empty" | "panels.market.sectionPlugins" | "panels.market.moduleOutdated" | "panels.market.moduleRefused" | "panels.market.moduleRefusedDetail" | "panels.market.moduleRestartHint" | "panels.market.workbenchName" | "panels.market.workbenchLocal" | "panels.market.pluginKeptInUse" | "panels.market.pluginKeptUnsure" | "panels.market.pluginKeptHeld" | "panels.market.pluginKeptUnnamed" | "panels.market.pluginBroken" | "panels.market.restartNeeded" | "panels.market.foot" | "panels.market.recheck" | "panels.market.checkUpdates" | "panels.market.checkedAt" | "panels.market.justNow" | "panels.market.minutesAgo" | "panels.market.hoursAgo" | "panels.market.add.description" | "panels.market.add.specPlaceholder" | "panels.market.add.guideToggle" | "panels.market.add.guideHide" | "panels.market.add.guideIdTitle" | "panels.market.add.guideIdExample" | "panels.market.add.guideIdHint" | "panels.market.add.guideGitTitle" | "panels.market.add.guideGitExample" | "panels.market.add.guideGitHint" | "panels.market.add.guidePathTitle" | "panels.market.add.guidePathExample" | "panels.market.add.guidePathHint" | "panels.market.add.guideExampleLabel" | "panels.market.add.guideFill" | "panels.market.add.guideSafety" | "panels.market.add.registryLegend" | "panels.market.add.registryOfficial" | "panels.market.add.registryMirror" | "panels.market.add.registryWithHost" | "panels.market.add.registryToggle" | "panels.market.add.installVersion" | "panels.market.add.registryDefault" | "panels.market.add.registryCustom" | "panels.market.add.registryCustomPlaceholder" | "panels.market.add.registryCustomHint" | "panels.market.add.registryCustomInvalid" | "panels.market.add.run" | "panels.market.add.edit" | "panels.market.add.changeRegistry" | "panels.market.add.installingTitle" | "panels.market.add.installedTitle" | "panels.market.add.failedTitle" | "panels.market.add.cancelledTitle" | "panels.market.add.failureNetworkHost" | "panels.market.add.problemInvalid" | "panels.market.add.problemInstalled" | "panels.market.add.problemNotFound" | "panels.market.add.problemNotPackage" | "panels.market.add.problemNotBundle" | "panels.market.add.problemNotWorkbenchModule" | "panels.market.add.problemNotModuleOrPlugin" | "panels.market.add.failureNotModuleOrPlugin" | "panels.market.add.installedPlugin" | "panels.market.add.pluginPreview" | "panels.market.add.pluginAlias" | "panels.market.add.problemNetwork" | "panels.market.add.problemUnknown" | "panels.market.add.failureNetwork" | "panels.market.add.failureNotFound" | "panels.market.add.failureNoMatchingVersion" | "panels.market.add.failureDiskFull" | "panels.market.add.failurePermission" | "panels.market.add.failureBuildBlocked" | "panels.market.add.failureIntegrity" | "panels.market.add.failureTimeout" | "panels.market.add.failurePnpmMissing" | "panels.market.add.failureInstalled" | "panels.market.add.failureGeneric" | "panels.market.add.approveTitle" | "panels.market.add.approveCaution" | "panels.market.add.approveRun" | "panels.market.add.restart" | "panels.market.add.tookEffect" | "panels.market.add.details" | "panels.market.add.open" | "panels.market.add.title" | "panels.market.add.intro" | "panels.market.add.specLabel" | "panels.market.add.specHint" | "panels.market.add.exampleTitle" | "panels.market.add.exampleFill" | "panels.market.add.registryLabel" | "panels.market.add.registryProfile" | "panels.market.add.registryPnpm" | "panels.market.add.check" | "panels.market.add.checking" | "panels.market.add.classifying" | "panels.market.add.change" | "panels.market.add.previewTitle" | "panels.market.add.fieldName" | "panels.market.add.fieldVersion" | "panels.market.add.fieldDescription" | "panels.market.add.fieldSource" | "panels.market.add.install" | "panels.market.add.installing" | "panels.market.add.cancel" | "panels.market.add.close" | "panels.market.add.retry" | "panels.market.add.changeSource" | "panels.market.add.approveBuilds" | "panels.market.add.approveHint" | "panels.market.add.doneApplied" | "panels.market.add.doneRestart" | "panels.market.add.cancelled" | "panels.market.add.failed" | "panels.market.add.removed" | "panels.market.add.supplyPending" | "panels.market.add.supplyFailed" | "panels.market.add.notModule" | "panels.market.add.removedRestart" | "panels.market.add.remove" | "panels.market.add.problem.invalidSpec" | "panels.market.add.problem.alreadyInstalled" | "panels.market.add.problem.notFound" | "panels.market.add.problem.notAPackage" | "panels.market.add.problem.notABundle" | "panels.market.add.problem.network" | "panels.market.add.problem.unknown" | "panels.market.add.reason.invalidSpec" | "panels.market.add.reason.incompatible" | "panels.market.add.reason.notBundle" | "panels.market.add.reason.notRemovable" | "panels.market.add.reason.bundleInUse" | "panels.market.add.reason.stopProfile" | "panels.market.add.reason.staleApproval" | "panels.market.add.reason.operationError" | "panels.market.add.reason.buildBlocked" | "panels.market.add.reason.pnpmMissing" | "panels.market.add.reason.noMatchingVersion" | "panels.market.add.reason.diskFull" | "panels.market.add.reason.permission" | "panels.market.add.reason.integrity" | "panels.market.add.reason.timeout" | "panels.market.add.reason.network" | "panels.market.add.reason.notFound" | "panels.market.add.reason.unknown" | "blocker.fix.running" | "blocker.fix.failed" | "blocker.retry.running" | "panels.reading" | "panels.cardBroken" | "panels.cardRetry" | "panels.empty" | "panels.emptyHint" | "env.title" | "env.checking" | "env.installing" | "env.failed" | "env.elapsed" | "env.stepFailed.install" | "env.stepFailed.path" | "env.stepFailed.shell" | "env.bridge.ok" | "env.bridge.short" | "env.bridge.why" | "env.bridge.daemon" | "env.bridge.extension" | "env.bridge.extensionLink" | "env.bridge.profile" | "env.bridge.stale" | "env.bridge.unknown" | "env.fix.title" | "env.fix.why" | "env.fix.whyPath" | "env.fix.whyShell" | "env.fix.step" | "env.fix.stepPath" | "env.fix.stepShell" | "env.fix.permission" | "env.fix.network" | "env.fix.details" | "env.retry" | "env.copyCommand" | "env.copied" | "env.step.opencli" | "env.step.codingPlugin" | "env.step.bridge" | "env.step.warm" | "env.warm.done" | "env.warm.short" | "rightbar.label" | "rightbar.expand" | "rightbar.collapse" | "rightbar.column.label" | "rightbar.column.workbench" | "rightbar.column.dsh" | "rightbar.refresh" | "rightbar.refreshing" | "rightbar.updatedAt" | "rightbar.noProject" | "rightbar.openPlatform" | "coding.notARepo.title" | "error.unknown" | "board.title" | "panel.conversation" | "panels.label" | "configSync.nav" | "configSync.lead" | "configSync.source" | "configSync.sourceBroken" | "configSync.sourceRows" | "configSync.sourceDead" | "configSync.refresh" | "configSync.loading" | "configSync.readHint" | "configSync.tag.new" | "configSync.tag.differs" | "configSync.conflictNote" | "configSync.code.lang" | "configSync.code.copy" | "configSync.code.copied" | "configSync.code.wrap" | "configSync.code.unwrap" | "configSync.code.collapse" | "configSync.code.collapseAria" | "configSync.code.expandAria" | "configSync.code.expand" | "configSync.missing" | "configSync.apply" | "configSync.applyNone" | "configSync.applying" | "configSync.applied" | "configSync.appliedIds" | "configSync.skippedIds" | "configSync.nothing" | "configSync.unreadable" | "configSync.noSource" | "configSync.emptyProviders" | "configSync.failed", string>;
586
587
  };
587
588
  mergeMessages(base: apiModule.Dictionaries, contributions: readonly MessagesContribution[]): apiModule.Dictionaries;
588
589
  mergeMessagesSkipping(base: apiModule.Dictionaries, contributions: readonly MessagesContribution[]): apiModule.MessagesMerge;
@@ -694,6 +695,7 @@ export declare const kit: {
694
695
  readonly "panels.market.lead": "\u88C5\u5728\u8FD9\u53F0\u673A\u5668\u4E0A\uFF0C\u6240\u6709\u9879\u76EE\u5171\u7528\u3002";
695
696
  readonly "panels.market.install": "\u5B89\u88C5";
696
697
  readonly "panels.market.update": "\u66F4\u65B0";
698
+ readonly "panels.market.swapSlow": "\u8FD8\u6CA1\u6362\u4E0A\uFF1A\u53EF\u80FD\u7F51\u6162\u6216\u6CA1\u88C5\u4E0A\u3002\u518D\u70B9\u4E00\u6B21\u300C\u66F4\u65B0\u300D\uFF1B\u4E00\u76F4\u8FD9\u6837\u5C31\u628A dsh \u91CD\u542F\u4E00\u904D\u3002";
697
699
  readonly "panels.market.uninstall": "\u5378\u8F7D";
698
700
  readonly "panels.market.uninstallLabel": "\u5378\u8F7D {name}";
699
701
  readonly "panels.market.installing": "\u6B63\u5728\u5B89\u88C5\u2026";
@@ -945,7 +947,7 @@ export declare const kit: {
945
947
  readonly "panel.conversation": "\u5BF9\u8BDD";
946
948
  readonly "panels.label": "\u5168\u5C40\u9762\u677F";
947
949
  readonly "configSync.nav": "\u914D\u7F6E\u540C\u6B65";
948
- readonly "configSync.lead": "\u628A\u53E6\u4E00\u4E2A profile \u91CC\u663E\u5F0F\u914D\u8FC7\u7684\u884C\u642C\u8FC7\u6765 \u2014\u2014 \u6765\u6E90\u968F\u4F60\u9009\u3002\u642C\u5B8C\u8981\u91CD\u542F\u5DE5\u4F5C\u53F0\u624D\u751F\u6548\u3002";
950
+ readonly "configSync.lead": "\u628A\u53E6\u4E00\u4E2A profile \u91CC\u663E\u5F0F\u914D\u8FC7\u7684\u884C\u642C\u8FC7\u6765 \u2014\u2014 \u6765\u6E90\u968F\u4F60\u9009\u3002";
949
951
  readonly "configSync.source": "\u6765\u6E90";
950
952
  readonly "configSync.sourceBroken": "\u8BFB\u4E0D\u5230\u5B83\u7684\u914D\u7F6E";
951
953
  readonly "configSync.sourceRows": "{name} \u8FD9\u4EFD\u91CC\u4F60\u6709 {count} \u884C\u53EF\u642C";
@@ -969,7 +971,7 @@ export declare const kit: {
969
971
  readonly "configSync.apply": "\u540C\u6B65\u9009\u4E2D\u7684 {count} \u884C";
970
972
  readonly "configSync.applyNone": "\u5148\u52FE\u51E0\u884C";
971
973
  readonly "configSync.applying": "\u6B63\u5728\u5199\u5165\u2026";
972
- readonly "configSync.applied": "\u5DF2\u5199\u5165\u5DE5\u4F5C\u53F0\u914D\u7F6E \u00B7 \u91CD\u542F\u5DE5\u4F5C\u53F0\u540E\u751F\u6548";
974
+ readonly "configSync.applied": "\u5DF2\u5199\u5165\u5DE5\u4F5C\u53F0\u914D\u7F6E \u00B7 \u5DF2\u751F\u6548";
973
975
  readonly "configSync.appliedIds": "\u8FD9\u6B21\u5199\u8FDB\u53BB\uFF1A{ids}";
974
976
  readonly "configSync.skippedIds": "\u8FD9\u51E0\u884C\u5DE5\u4F5C\u53F0\u81EA\u5DF1\u5DF2\u6709\uFF0C\u6CA1\u52A8\uFF1A{ids}";
975
977
  readonly "configSync.nothing": "\u6CA1\u6709\u9700\u8981\u540C\u6B65\u7684\u5185\u5BB9";
@@ -1257,6 +1259,7 @@ export declare const kit: {
1257
1259
  readonly "panels.market.lead": "\u88C5\u5728\u8FD9\u53F0\u673A\u5668\u4E0A\uFF0C\u6240\u6709\u9879\u76EE\u5171\u7528\u3002";
1258
1260
  readonly "panels.market.install": "\u5B89\u88C5";
1259
1261
  readonly "panels.market.update": "\u66F4\u65B0";
1262
+ readonly "panels.market.swapSlow": "\u8FD8\u6CA1\u6362\u4E0A\uFF1A\u53EF\u80FD\u7F51\u6162\u6216\u6CA1\u88C5\u4E0A\u3002\u518D\u70B9\u4E00\u6B21\u300C\u66F4\u65B0\u300D\uFF1B\u4E00\u76F4\u8FD9\u6837\u5C31\u628A dsh \u91CD\u542F\u4E00\u904D\u3002";
1260
1263
  readonly "panels.market.uninstall": "\u5378\u8F7D";
1261
1264
  readonly "panels.market.uninstallLabel": "\u5378\u8F7D {name}";
1262
1265
  readonly "panels.market.installing": "\u6B63\u5728\u5B89\u88C5\u2026";
@@ -1508,7 +1511,7 @@ export declare const kit: {
1508
1511
  readonly "panel.conversation": "\u5BF9\u8BDD";
1509
1512
  readonly "panels.label": "\u5168\u5C40\u9762\u677F";
1510
1513
  readonly "configSync.nav": "\u914D\u7F6E\u540C\u6B65";
1511
- readonly "configSync.lead": "\u628A\u53E6\u4E00\u4E2A profile \u91CC\u663E\u5F0F\u914D\u8FC7\u7684\u884C\u642C\u8FC7\u6765 \u2014\u2014 \u6765\u6E90\u968F\u4F60\u9009\u3002\u642C\u5B8C\u8981\u91CD\u542F\u5DE5\u4F5C\u53F0\u624D\u751F\u6548\u3002";
1514
+ readonly "configSync.lead": "\u628A\u53E6\u4E00\u4E2A profile \u91CC\u663E\u5F0F\u914D\u8FC7\u7684\u884C\u642C\u8FC7\u6765 \u2014\u2014 \u6765\u6E90\u968F\u4F60\u9009\u3002";
1512
1515
  readonly "configSync.source": "\u6765\u6E90";
1513
1516
  readonly "configSync.sourceBroken": "\u8BFB\u4E0D\u5230\u5B83\u7684\u914D\u7F6E";
1514
1517
  readonly "configSync.sourceRows": "{name} \u8FD9\u4EFD\u91CC\u4F60\u6709 {count} \u884C\u53EF\u642C";
@@ -1532,7 +1535,7 @@ export declare const kit: {
1532
1535
  readonly "configSync.apply": "\u540C\u6B65\u9009\u4E2D\u7684 {count} \u884C";
1533
1536
  readonly "configSync.applyNone": "\u5148\u52FE\u51E0\u884C";
1534
1537
  readonly "configSync.applying": "\u6B63\u5728\u5199\u5165\u2026";
1535
- readonly "configSync.applied": "\u5DF2\u5199\u5165\u5DE5\u4F5C\u53F0\u914D\u7F6E \u00B7 \u91CD\u542F\u5DE5\u4F5C\u53F0\u540E\u751F\u6548";
1538
+ readonly "configSync.applied": "\u5DF2\u5199\u5165\u5DE5\u4F5C\u53F0\u914D\u7F6E \u00B7 \u5DF2\u751F\u6548";
1536
1539
  readonly "configSync.appliedIds": "\u8FD9\u6B21\u5199\u8FDB\u53BB\uFF1A{ids}";
1537
1540
  readonly "configSync.skippedIds": "\u8FD9\u51E0\u884C\u5DE5\u4F5C\u53F0\u81EA\u5DF1\u5DF2\u6709\uFF0C\u6CA1\u52A8\uFF1A{ids}";
1538
1541
  readonly "configSync.nothing": "\u6CA1\u6709\u9700\u8981\u540C\u6B65\u7684\u5185\u5BB9";
@@ -1541,7 +1544,7 @@ export declare const kit: {
1541
1544
  readonly "configSync.emptyProviders": "\u5DE5\u4F5C\u53F0\u8FD8\u6CA1\u6709\u4EFB\u4F55\u6A21\u578B\u4F9B\u5E94\u5546 \u2014\u2014 \u53BB\u300C\u914D\u7F6E\u540C\u6B65\u300D\u4ECE\u67D0\u4E2A profile \u628A llm- \u90A3\u51E0\u884C\u642C\u8FC7\u6765\uFF0C\u6216\u81EA\u5DF1\u53BB\u300C\u6A21\u578B\u300D\u91CC\u914D\u3002";
1542
1545
  readonly "configSync.failed": "\u540C\u6B65\u6CA1\u6210\u529F\uFF0C\u518D\u8BD5\u4E00\u6B21\u3002";
1543
1546
  };
1544
- en: Record<"time.now" | "time.ago" | "time.minutes" | "time.hours" | "time.days" | "blocker.retry" | "blocker.copy" | "blocker.unknown.title" | "blocker.login.go" | "blocker.login.titleGeneric" | "blocker.login.title" | "blocker.login.manual" | "blocker.login.hint" | "blocker.forbidden.open" | "blocker.forbidden.titleGeneric" | "blocker.forbidden.title" | "blocker.forbidden.hint" | "blocker.timeout.hint" | "blocker.exec.hint" | "blocker.fix.install" | "blocker.fix.update" | "blocker.market.open" | "env.unit.failed" | "env.unit.failedHint" | "env.unit.missingPlugin" | "env.unit.hint" | "env.unit.missingCommands" | "env.unit.missingCommandsHint" | "env.unit.unchecked" | "env.unit.uncheckedHint" | "brand.name" | "toggle.open" | "toggle.collapse" | "project.label" | "workspace.section" | "project.none" | "project.empty" | "project.add" | "project.add.busy" | "project.add.failed" | "project.search.label" | "project.search.placeholder" | "project.search.empty" | "project.group.workspaces" | "project.group.defaultWorkspace" | "project.group.workshop" | "project.rename.row" | "project.rename.current" | "project.rename.title" | "project.rename.description" | "project.rename.field" | "project.rename.placeholder" | "project.rename.hint" | "project.rename.save" | "project.rename.saving" | "project.rename.cancel" | "project.rename.failed" | "session.new" | "session.new.label" | "session.empty" | "session.noProject" | "session.list.label" | "session.copy" | "session.pinned" | "session.actions" | "status.idle" | "status.running" | "status.waitingApproval" | "status.planReview" | "status.waitingAnswer" | "status.compact.approval" | "status.compact.planReview" | "status.compact.answer" | "status.completed" | "status.subagentsRunning.one" | "status.subagentsRunning.other" | "hover.copied" | "time.short.minutes" | "time.short.hours" | "time.short.days" | "time.short.months" | "time.short.years" | "panels.title" | "panels.groupBoardless" | "panels.groupPlugins" | "panels.market.defaultHint" | "panels.market.defaultLabel" | "panels.market.defaultLocked" | "panels.followAll" | "panels.followAllConfirmTitle" | "panels.followAllConfirmDetail" | "panels.followAllConfirmAck" | "panels.followAllConfirmYes" | "panels.followAllConfirmNo" | "panels.enabled" | "panels.disabled" | "panels.choose" | "panels.buildModule" | "panels.failed" | "panels.dragHint" | "panels.unknownStep" | "panels.labelWithHint" | "panels.dep.failed" | "panels.dep.missingPlugin" | "panels.dep.missingCommands" | "panels.dep.unchecked" | "panels.tab.modules" | "panels.tab.market" | "panels.browseMarket" | "panels.noneInstalled" | "panels.noneInstalledHint" | "panels.market.installed" | "panels.market.notActive" | "panels.market.notUsable" | "panels.market.broken" | "panels.market.hasNew" | "panels.market.missing" | "panels.market.unchecked" | "panels.market.checking" | "panels.market.sectionInstalled" | "panels.market.sectionPending" | "panels.market.sectionShared" | "panels.market.sharedUsedBy" | "panels.market.listSeparator" | "panels.market.sharedMissing" | "panels.market.sharedOutdated" | "panels.market.sharedUnsatisfied" | "panels.market.sharedOk" | "panels.market.versionArrow" | "panels.market.lead" | "panels.market.install" | "panels.market.update" | "panels.market.uninstall" | "panels.market.uninstallLabel" | "panels.market.installing" | "panels.market.updating" | "panels.market.uninstalling" | "panels.market.confirmUninstallTitle" | "panels.market.confirmUninstallDetail" | "panels.market.confirmUninstallAck" | "panels.market.confirmYes" | "panels.market.confirmNo" | "panels.market.failed" | "panels.market.needEnv" | "panels.market.needCommands" | "panels.market.localMark" | "panels.market.localHint" | "panels.market.noSource" | "panels.market.badSource" | "panels.market.empty" | "panels.market.sectionPlugins" | "panels.market.moduleOutdated" | "panels.market.moduleRefused" | "panels.market.moduleRefusedDetail" | "panels.market.moduleRestartHint" | "panels.market.workbenchName" | "panels.market.workbenchLocal" | "panels.market.pluginKeptInUse" | "panels.market.pluginKeptUnsure" | "panels.market.pluginKeptHeld" | "panels.market.pluginKeptUnnamed" | "panels.market.pluginBroken" | "panels.market.restartNeeded" | "panels.market.foot" | "panels.market.recheck" | "panels.market.checkUpdates" | "panels.market.checkedAt" | "panels.market.justNow" | "panels.market.minutesAgo" | "panels.market.hoursAgo" | "panels.market.add.description" | "panels.market.add.specPlaceholder" | "panels.market.add.guideToggle" | "panels.market.add.guideHide" | "panels.market.add.guideIdTitle" | "panels.market.add.guideIdExample" | "panels.market.add.guideIdHint" | "panels.market.add.guideGitTitle" | "panels.market.add.guideGitExample" | "panels.market.add.guideGitHint" | "panels.market.add.guidePathTitle" | "panels.market.add.guidePathExample" | "panels.market.add.guidePathHint" | "panels.market.add.guideExampleLabel" | "panels.market.add.guideFill" | "panels.market.add.guideSafety" | "panels.market.add.registryLegend" | "panels.market.add.registryOfficial" | "panels.market.add.registryMirror" | "panels.market.add.registryWithHost" | "panels.market.add.registryToggle" | "panels.market.add.installVersion" | "panels.market.add.registryDefault" | "panels.market.add.registryCustom" | "panels.market.add.registryCustomPlaceholder" | "panels.market.add.registryCustomHint" | "panels.market.add.registryCustomInvalid" | "panels.market.add.run" | "panels.market.add.edit" | "panels.market.add.changeRegistry" | "panels.market.add.installingTitle" | "panels.market.add.installedTitle" | "panels.market.add.failedTitle" | "panels.market.add.cancelledTitle" | "panels.market.add.failureNetworkHost" | "panels.market.add.problemInvalid" | "panels.market.add.problemInstalled" | "panels.market.add.problemNotFound" | "panels.market.add.problemNotPackage" | "panels.market.add.problemNotBundle" | "panels.market.add.problemNotWorkbenchModule" | "panels.market.add.problemNotModuleOrPlugin" | "panels.market.add.failureNotModuleOrPlugin" | "panels.market.add.installedPlugin" | "panels.market.add.pluginPreview" | "panels.market.add.pluginAlias" | "panels.market.add.problemNetwork" | "panels.market.add.problemUnknown" | "panels.market.add.failureNetwork" | "panels.market.add.failureNotFound" | "panels.market.add.failureNoMatchingVersion" | "panels.market.add.failureDiskFull" | "panels.market.add.failurePermission" | "panels.market.add.failureBuildBlocked" | "panels.market.add.failureIntegrity" | "panels.market.add.failureTimeout" | "panels.market.add.failurePnpmMissing" | "panels.market.add.failureInstalled" | "panels.market.add.failureGeneric" | "panels.market.add.approveTitle" | "panels.market.add.approveCaution" | "panels.market.add.approveRun" | "panels.market.add.restart" | "panels.market.add.tookEffect" | "panels.market.add.details" | "panels.market.add.open" | "panels.market.add.title" | "panels.market.add.intro" | "panels.market.add.specLabel" | "panels.market.add.specHint" | "panels.market.add.exampleTitle" | "panels.market.add.exampleFill" | "panels.market.add.registryLabel" | "panels.market.add.registryProfile" | "panels.market.add.registryPnpm" | "panels.market.add.check" | "panels.market.add.checking" | "panels.market.add.classifying" | "panels.market.add.change" | "panels.market.add.previewTitle" | "panels.market.add.fieldName" | "panels.market.add.fieldVersion" | "panels.market.add.fieldDescription" | "panels.market.add.fieldSource" | "panels.market.add.install" | "panels.market.add.installing" | "panels.market.add.cancel" | "panels.market.add.close" | "panels.market.add.retry" | "panels.market.add.changeSource" | "panels.market.add.approveBuilds" | "panels.market.add.approveHint" | "panels.market.add.doneApplied" | "panels.market.add.doneRestart" | "panels.market.add.cancelled" | "panels.market.add.failed" | "panels.market.add.removed" | "panels.market.add.supplyPending" | "panels.market.add.supplyFailed" | "panels.market.add.notModule" | "panels.market.add.removedRestart" | "panels.market.add.remove" | "panels.market.add.problem.invalidSpec" | "panels.market.add.problem.alreadyInstalled" | "panels.market.add.problem.notFound" | "panels.market.add.problem.notAPackage" | "panels.market.add.problem.notABundle" | "panels.market.add.problem.network" | "panels.market.add.problem.unknown" | "panels.market.add.reason.invalidSpec" | "panels.market.add.reason.incompatible" | "panels.market.add.reason.notBundle" | "panels.market.add.reason.notRemovable" | "panels.market.add.reason.bundleInUse" | "panels.market.add.reason.stopProfile" | "panels.market.add.reason.staleApproval" | "panels.market.add.reason.operationError" | "panels.market.add.reason.buildBlocked" | "panels.market.add.reason.pnpmMissing" | "panels.market.add.reason.noMatchingVersion" | "panels.market.add.reason.diskFull" | "panels.market.add.reason.permission" | "panels.market.add.reason.integrity" | "panels.market.add.reason.timeout" | "panels.market.add.reason.network" | "panels.market.add.reason.notFound" | "panels.market.add.reason.unknown" | "blocker.fix.running" | "blocker.fix.failed" | "blocker.retry.running" | "panels.reading" | "panels.cardBroken" | "panels.cardRetry" | "panels.empty" | "panels.emptyHint" | "env.title" | "env.checking" | "env.installing" | "env.failed" | "env.elapsed" | "env.stepFailed.install" | "env.stepFailed.path" | "env.stepFailed.shell" | "env.bridge.ok" | "env.bridge.short" | "env.bridge.why" | "env.bridge.daemon" | "env.bridge.extension" | "env.bridge.extensionLink" | "env.bridge.profile" | "env.bridge.stale" | "env.bridge.unknown" | "env.fix.title" | "env.fix.why" | "env.fix.whyPath" | "env.fix.whyShell" | "env.fix.step" | "env.fix.stepPath" | "env.fix.stepShell" | "env.fix.permission" | "env.fix.network" | "env.fix.details" | "env.retry" | "env.copyCommand" | "env.copied" | "env.step.opencli" | "env.step.codingPlugin" | "env.step.bridge" | "env.step.warm" | "env.warm.done" | "env.warm.short" | "rightbar.label" | "rightbar.expand" | "rightbar.collapse" | "rightbar.column.label" | "rightbar.column.workbench" | "rightbar.column.dsh" | "rightbar.refresh" | "rightbar.refreshing" | "rightbar.updatedAt" | "rightbar.noProject" | "rightbar.openPlatform" | "coding.notARepo.title" | "error.unknown" | "board.title" | "panel.conversation" | "panels.label" | "configSync.nav" | "configSync.lead" | "configSync.source" | "configSync.sourceBroken" | "configSync.sourceRows" | "configSync.sourceDead" | "configSync.refresh" | "configSync.loading" | "configSync.readHint" | "configSync.tag.new" | "configSync.tag.differs" | "configSync.conflictNote" | "configSync.code.lang" | "configSync.code.copy" | "configSync.code.copied" | "configSync.code.wrap" | "configSync.code.unwrap" | "configSync.code.collapse" | "configSync.code.collapseAria" | "configSync.code.expandAria" | "configSync.code.expand" | "configSync.missing" | "configSync.apply" | "configSync.applyNone" | "configSync.applying" | "configSync.applied" | "configSync.appliedIds" | "configSync.skippedIds" | "configSync.nothing" | "configSync.unreadable" | "configSync.noSource" | "configSync.emptyProviders" | "configSync.failed", string>;
1547
+ en: Record<"time.now" | "time.ago" | "time.minutes" | "time.hours" | "time.days" | "blocker.retry" | "blocker.copy" | "blocker.unknown.title" | "blocker.login.go" | "blocker.login.titleGeneric" | "blocker.login.title" | "blocker.login.manual" | "blocker.login.hint" | "blocker.forbidden.open" | "blocker.forbidden.titleGeneric" | "blocker.forbidden.title" | "blocker.forbidden.hint" | "blocker.timeout.hint" | "blocker.exec.hint" | "blocker.fix.install" | "blocker.fix.update" | "blocker.market.open" | "env.unit.failed" | "env.unit.failedHint" | "env.unit.missingPlugin" | "env.unit.hint" | "env.unit.missingCommands" | "env.unit.missingCommandsHint" | "env.unit.unchecked" | "env.unit.uncheckedHint" | "brand.name" | "toggle.open" | "toggle.collapse" | "project.label" | "workspace.section" | "project.none" | "project.empty" | "project.add" | "project.add.busy" | "project.add.failed" | "project.search.label" | "project.search.placeholder" | "project.search.empty" | "project.group.workspaces" | "project.group.defaultWorkspace" | "project.group.workshop" | "project.rename.row" | "project.rename.current" | "project.rename.title" | "project.rename.description" | "project.rename.field" | "project.rename.placeholder" | "project.rename.hint" | "project.rename.save" | "project.rename.saving" | "project.rename.cancel" | "project.rename.failed" | "session.new" | "session.new.label" | "session.empty" | "session.noProject" | "session.list.label" | "session.copy" | "session.pinned" | "session.actions" | "status.idle" | "status.running" | "status.waitingApproval" | "status.planReview" | "status.waitingAnswer" | "status.compact.approval" | "status.compact.planReview" | "status.compact.answer" | "status.completed" | "status.subagentsRunning.one" | "status.subagentsRunning.other" | "hover.copied" | "time.short.minutes" | "time.short.hours" | "time.short.days" | "time.short.months" | "time.short.years" | "panels.title" | "panels.groupBoardless" | "panels.groupPlugins" | "panels.market.defaultHint" | "panels.market.defaultLabel" | "panels.market.defaultLocked" | "panels.followAll" | "panels.followAllConfirmTitle" | "panels.followAllConfirmDetail" | "panels.followAllConfirmAck" | "panels.followAllConfirmYes" | "panels.followAllConfirmNo" | "panels.enabled" | "panels.disabled" | "panels.choose" | "panels.buildModule" | "panels.failed" | "panels.dragHint" | "panels.unknownStep" | "panels.labelWithHint" | "panels.dep.failed" | "panels.dep.missingPlugin" | "panels.dep.missingCommands" | "panels.dep.unchecked" | "panels.tab.modules" | "panels.tab.market" | "panels.browseMarket" | "panels.noneInstalled" | "panels.noneInstalledHint" | "panels.market.installed" | "panels.market.notActive" | "panels.market.notUsable" | "panels.market.broken" | "panels.market.hasNew" | "panels.market.missing" | "panels.market.unchecked" | "panels.market.checking" | "panels.market.sectionInstalled" | "panels.market.sectionPending" | "panels.market.sectionShared" | "panels.market.sharedUsedBy" | "panels.market.listSeparator" | "panels.market.sharedMissing" | "panels.market.sharedOutdated" | "panels.market.sharedUnsatisfied" | "panels.market.sharedOk" | "panels.market.versionArrow" | "panels.market.lead" | "panels.market.install" | "panels.market.update" | "panels.market.swapSlow" | "panels.market.uninstall" | "panels.market.uninstallLabel" | "panels.market.installing" | "panels.market.updating" | "panels.market.uninstalling" | "panels.market.confirmUninstallTitle" | "panels.market.confirmUninstallDetail" | "panels.market.confirmUninstallAck" | "panels.market.confirmYes" | "panels.market.confirmNo" | "panels.market.failed" | "panels.market.needEnv" | "panels.market.needCommands" | "panels.market.localMark" | "panels.market.localHint" | "panels.market.noSource" | "panels.market.badSource" | "panels.market.empty" | "panels.market.sectionPlugins" | "panels.market.moduleOutdated" | "panels.market.moduleRefused" | "panels.market.moduleRefusedDetail" | "panels.market.moduleRestartHint" | "panels.market.workbenchName" | "panels.market.workbenchLocal" | "panels.market.pluginKeptInUse" | "panels.market.pluginKeptUnsure" | "panels.market.pluginKeptHeld" | "panels.market.pluginKeptUnnamed" | "panels.market.pluginBroken" | "panels.market.restartNeeded" | "panels.market.foot" | "panels.market.recheck" | "panels.market.checkUpdates" | "panels.market.checkedAt" | "panels.market.justNow" | "panels.market.minutesAgo" | "panels.market.hoursAgo" | "panels.market.add.description" | "panels.market.add.specPlaceholder" | "panels.market.add.guideToggle" | "panels.market.add.guideHide" | "panels.market.add.guideIdTitle" | "panels.market.add.guideIdExample" | "panels.market.add.guideIdHint" | "panels.market.add.guideGitTitle" | "panels.market.add.guideGitExample" | "panels.market.add.guideGitHint" | "panels.market.add.guidePathTitle" | "panels.market.add.guidePathExample" | "panels.market.add.guidePathHint" | "panels.market.add.guideExampleLabel" | "panels.market.add.guideFill" | "panels.market.add.guideSafety" | "panels.market.add.registryLegend" | "panels.market.add.registryOfficial" | "panels.market.add.registryMirror" | "panels.market.add.registryWithHost" | "panels.market.add.registryToggle" | "panels.market.add.installVersion" | "panels.market.add.registryDefault" | "panels.market.add.registryCustom" | "panels.market.add.registryCustomPlaceholder" | "panels.market.add.registryCustomHint" | "panels.market.add.registryCustomInvalid" | "panels.market.add.run" | "panels.market.add.edit" | "panels.market.add.changeRegistry" | "panels.market.add.installingTitle" | "panels.market.add.installedTitle" | "panels.market.add.failedTitle" | "panels.market.add.cancelledTitle" | "panels.market.add.failureNetworkHost" | "panels.market.add.problemInvalid" | "panels.market.add.problemInstalled" | "panels.market.add.problemNotFound" | "panels.market.add.problemNotPackage" | "panels.market.add.problemNotBundle" | "panels.market.add.problemNotWorkbenchModule" | "panels.market.add.problemNotModuleOrPlugin" | "panels.market.add.failureNotModuleOrPlugin" | "panels.market.add.installedPlugin" | "panels.market.add.pluginPreview" | "panels.market.add.pluginAlias" | "panels.market.add.problemNetwork" | "panels.market.add.problemUnknown" | "panels.market.add.failureNetwork" | "panels.market.add.failureNotFound" | "panels.market.add.failureNoMatchingVersion" | "panels.market.add.failureDiskFull" | "panels.market.add.failurePermission" | "panels.market.add.failureBuildBlocked" | "panels.market.add.failureIntegrity" | "panels.market.add.failureTimeout" | "panels.market.add.failurePnpmMissing" | "panels.market.add.failureInstalled" | "panels.market.add.failureGeneric" | "panels.market.add.approveTitle" | "panels.market.add.approveCaution" | "panels.market.add.approveRun" | "panels.market.add.restart" | "panels.market.add.tookEffect" | "panels.market.add.details" | "panels.market.add.open" | "panels.market.add.title" | "panels.market.add.intro" | "panels.market.add.specLabel" | "panels.market.add.specHint" | "panels.market.add.exampleTitle" | "panels.market.add.exampleFill" | "panels.market.add.registryLabel" | "panels.market.add.registryProfile" | "panels.market.add.registryPnpm" | "panels.market.add.check" | "panels.market.add.checking" | "panels.market.add.classifying" | "panels.market.add.change" | "panels.market.add.previewTitle" | "panels.market.add.fieldName" | "panels.market.add.fieldVersion" | "panels.market.add.fieldDescription" | "panels.market.add.fieldSource" | "panels.market.add.install" | "panels.market.add.installing" | "panels.market.add.cancel" | "panels.market.add.close" | "panels.market.add.retry" | "panels.market.add.changeSource" | "panels.market.add.approveBuilds" | "panels.market.add.approveHint" | "panels.market.add.doneApplied" | "panels.market.add.doneRestart" | "panels.market.add.cancelled" | "panels.market.add.failed" | "panels.market.add.removed" | "panels.market.add.supplyPending" | "panels.market.add.supplyFailed" | "panels.market.add.notModule" | "panels.market.add.removedRestart" | "panels.market.add.remove" | "panels.market.add.problem.invalidSpec" | "panels.market.add.problem.alreadyInstalled" | "panels.market.add.problem.notFound" | "panels.market.add.problem.notAPackage" | "panels.market.add.problem.notABundle" | "panels.market.add.problem.network" | "panels.market.add.problem.unknown" | "panels.market.add.reason.invalidSpec" | "panels.market.add.reason.incompatible" | "panels.market.add.reason.notBundle" | "panels.market.add.reason.notRemovable" | "panels.market.add.reason.bundleInUse" | "panels.market.add.reason.stopProfile" | "panels.market.add.reason.staleApproval" | "panels.market.add.reason.operationError" | "panels.market.add.reason.buildBlocked" | "panels.market.add.reason.pnpmMissing" | "panels.market.add.reason.noMatchingVersion" | "panels.market.add.reason.diskFull" | "panels.market.add.reason.permission" | "panels.market.add.reason.integrity" | "panels.market.add.reason.timeout" | "panels.market.add.reason.network" | "panels.market.add.reason.notFound" | "panels.market.add.reason.unknown" | "blocker.fix.running" | "blocker.fix.failed" | "blocker.retry.running" | "panels.reading" | "panels.cardBroken" | "panels.cardRetry" | "panels.empty" | "panels.emptyHint" | "env.title" | "env.checking" | "env.installing" | "env.failed" | "env.elapsed" | "env.stepFailed.install" | "env.stepFailed.path" | "env.stepFailed.shell" | "env.bridge.ok" | "env.bridge.short" | "env.bridge.why" | "env.bridge.daemon" | "env.bridge.extension" | "env.bridge.extensionLink" | "env.bridge.profile" | "env.bridge.stale" | "env.bridge.unknown" | "env.fix.title" | "env.fix.why" | "env.fix.whyPath" | "env.fix.whyShell" | "env.fix.step" | "env.fix.stepPath" | "env.fix.stepShell" | "env.fix.permission" | "env.fix.network" | "env.fix.details" | "env.retry" | "env.copyCommand" | "env.copied" | "env.step.opencli" | "env.step.codingPlugin" | "env.step.bridge" | "env.step.warm" | "env.warm.done" | "env.warm.short" | "rightbar.label" | "rightbar.expand" | "rightbar.collapse" | "rightbar.column.label" | "rightbar.column.workbench" | "rightbar.column.dsh" | "rightbar.refresh" | "rightbar.refreshing" | "rightbar.updatedAt" | "rightbar.noProject" | "rightbar.openPlatform" | "coding.notARepo.title" | "error.unknown" | "board.title" | "panel.conversation" | "panels.label" | "configSync.nav" | "configSync.lead" | "configSync.source" | "configSync.sourceBroken" | "configSync.sourceRows" | "configSync.sourceDead" | "configSync.refresh" | "configSync.loading" | "configSync.readHint" | "configSync.tag.new" | "configSync.tag.differs" | "configSync.conflictNote" | "configSync.code.lang" | "configSync.code.copy" | "configSync.code.copied" | "configSync.code.wrap" | "configSync.code.unwrap" | "configSync.code.collapse" | "configSync.code.collapseAria" | "configSync.code.expandAria" | "configSync.code.expand" | "configSync.missing" | "configSync.apply" | "configSync.applyNone" | "configSync.applying" | "configSync.applied" | "configSync.appliedIds" | "configSync.skippedIds" | "configSync.nothing" | "configSync.unreadable" | "configSync.noSource" | "configSync.emptyProviders" | "configSync.failed", string>;
1545
1548
  };
1546
1549
  mergeMessages(base: apiModule.Dictionaries, contributions: readonly MessagesContribution[]): apiModule.Dictionaries;
1547
1550
  mergeMessagesSkipping(base: apiModule.Dictionaries, contributions: readonly MessagesContribution[]): apiModule.MessagesMerge;
@@ -1653,6 +1656,7 @@ export declare const kit: {
1653
1656
  readonly "panels.market.lead": "\u88C5\u5728\u8FD9\u53F0\u673A\u5668\u4E0A\uFF0C\u6240\u6709\u9879\u76EE\u5171\u7528\u3002";
1654
1657
  readonly "panels.market.install": "\u5B89\u88C5";
1655
1658
  readonly "panels.market.update": "\u66F4\u65B0";
1659
+ readonly "panels.market.swapSlow": "\u8FD8\u6CA1\u6362\u4E0A\uFF1A\u53EF\u80FD\u7F51\u6162\u6216\u6CA1\u88C5\u4E0A\u3002\u518D\u70B9\u4E00\u6B21\u300C\u66F4\u65B0\u300D\uFF1B\u4E00\u76F4\u8FD9\u6837\u5C31\u628A dsh \u91CD\u542F\u4E00\u904D\u3002";
1656
1660
  readonly "panels.market.uninstall": "\u5378\u8F7D";
1657
1661
  readonly "panels.market.uninstallLabel": "\u5378\u8F7D {name}";
1658
1662
  readonly "panels.market.installing": "\u6B63\u5728\u5B89\u88C5\u2026";
@@ -1904,7 +1908,7 @@ export declare const kit: {
1904
1908
  readonly "panel.conversation": "\u5BF9\u8BDD";
1905
1909
  readonly "panels.label": "\u5168\u5C40\u9762\u677F";
1906
1910
  readonly "configSync.nav": "\u914D\u7F6E\u540C\u6B65";
1907
- readonly "configSync.lead": "\u628A\u53E6\u4E00\u4E2A profile \u91CC\u663E\u5F0F\u914D\u8FC7\u7684\u884C\u642C\u8FC7\u6765 \u2014\u2014 \u6765\u6E90\u968F\u4F60\u9009\u3002\u642C\u5B8C\u8981\u91CD\u542F\u5DE5\u4F5C\u53F0\u624D\u751F\u6548\u3002";
1911
+ readonly "configSync.lead": "\u628A\u53E6\u4E00\u4E2A profile \u91CC\u663E\u5F0F\u914D\u8FC7\u7684\u884C\u642C\u8FC7\u6765 \u2014\u2014 \u6765\u6E90\u968F\u4F60\u9009\u3002";
1908
1912
  readonly "configSync.source": "\u6765\u6E90";
1909
1913
  readonly "configSync.sourceBroken": "\u8BFB\u4E0D\u5230\u5B83\u7684\u914D\u7F6E";
1910
1914
  readonly "configSync.sourceRows": "{name} \u8FD9\u4EFD\u91CC\u4F60\u6709 {count} \u884C\u53EF\u642C";
@@ -1928,7 +1932,7 @@ export declare const kit: {
1928
1932
  readonly "configSync.apply": "\u540C\u6B65\u9009\u4E2D\u7684 {count} \u884C";
1929
1933
  readonly "configSync.applyNone": "\u5148\u52FE\u51E0\u884C";
1930
1934
  readonly "configSync.applying": "\u6B63\u5728\u5199\u5165\u2026";
1931
- readonly "configSync.applied": "\u5DF2\u5199\u5165\u5DE5\u4F5C\u53F0\u914D\u7F6E \u00B7 \u91CD\u542F\u5DE5\u4F5C\u53F0\u540E\u751F\u6548";
1935
+ readonly "configSync.applied": "\u5DF2\u5199\u5165\u5DE5\u4F5C\u53F0\u914D\u7F6E \u00B7 \u5DF2\u751F\u6548";
1932
1936
  readonly "configSync.appliedIds": "\u8FD9\u6B21\u5199\u8FDB\u53BB\uFF1A{ids}";
1933
1937
  readonly "configSync.skippedIds": "\u8FD9\u51E0\u884C\u5DE5\u4F5C\u53F0\u81EA\u5DF1\u5DF2\u6709\uFF0C\u6CA1\u52A8\uFF1A{ids}";
1934
1938
  readonly "configSync.nothing": "\u6CA1\u6709\u9700\u8981\u540C\u6B65\u7684\u5185\u5BB9";
@@ -2211,6 +2215,7 @@ export declare const kit: {
2211
2215
  readonly "panels.market.lead": "\u88C5\u5728\u8FD9\u53F0\u673A\u5668\u4E0A\uFF0C\u6240\u6709\u9879\u76EE\u5171\u7528\u3002";
2212
2216
  readonly "panels.market.install": "\u5B89\u88C5";
2213
2217
  readonly "panels.market.update": "\u66F4\u65B0";
2218
+ readonly "panels.market.swapSlow": "\u8FD8\u6CA1\u6362\u4E0A\uFF1A\u53EF\u80FD\u7F51\u6162\u6216\u6CA1\u88C5\u4E0A\u3002\u518D\u70B9\u4E00\u6B21\u300C\u66F4\u65B0\u300D\uFF1B\u4E00\u76F4\u8FD9\u6837\u5C31\u628A dsh \u91CD\u542F\u4E00\u904D\u3002";
2214
2219
  readonly "panels.market.uninstall": "\u5378\u8F7D";
2215
2220
  readonly "panels.market.uninstallLabel": "\u5378\u8F7D {name}";
2216
2221
  readonly "panels.market.installing": "\u6B63\u5728\u5B89\u88C5\u2026";
@@ -2462,7 +2467,7 @@ export declare const kit: {
2462
2467
  readonly "panel.conversation": "\u5BF9\u8BDD";
2463
2468
  readonly "panels.label": "\u5168\u5C40\u9762\u677F";
2464
2469
  readonly "configSync.nav": "\u914D\u7F6E\u540C\u6B65";
2465
- readonly "configSync.lead": "\u628A\u53E6\u4E00\u4E2A profile \u91CC\u663E\u5F0F\u914D\u8FC7\u7684\u884C\u642C\u8FC7\u6765 \u2014\u2014 \u6765\u6E90\u968F\u4F60\u9009\u3002\u642C\u5B8C\u8981\u91CD\u542F\u5DE5\u4F5C\u53F0\u624D\u751F\u6548\u3002";
2470
+ readonly "configSync.lead": "\u628A\u53E6\u4E00\u4E2A profile \u91CC\u663E\u5F0F\u914D\u8FC7\u7684\u884C\u642C\u8FC7\u6765 \u2014\u2014 \u6765\u6E90\u968F\u4F60\u9009\u3002";
2466
2471
  readonly "configSync.source": "\u6765\u6E90";
2467
2472
  readonly "configSync.sourceBroken": "\u8BFB\u4E0D\u5230\u5B83\u7684\u914D\u7F6E";
2468
2473
  readonly "configSync.sourceRows": "{name} \u8FD9\u4EFD\u91CC\u4F60\u6709 {count} \u884C\u53EF\u642C";
@@ -2486,7 +2491,7 @@ export declare const kit: {
2486
2491
  readonly "configSync.apply": "\u540C\u6B65\u9009\u4E2D\u7684 {count} \u884C";
2487
2492
  readonly "configSync.applyNone": "\u5148\u52FE\u51E0\u884C";
2488
2493
  readonly "configSync.applying": "\u6B63\u5728\u5199\u5165\u2026";
2489
- readonly "configSync.applied": "\u5DF2\u5199\u5165\u5DE5\u4F5C\u53F0\u914D\u7F6E \u00B7 \u91CD\u542F\u5DE5\u4F5C\u53F0\u540E\u751F\u6548";
2494
+ readonly "configSync.applied": "\u5DF2\u5199\u5165\u5DE5\u4F5C\u53F0\u914D\u7F6E \u00B7 \u5DF2\u751F\u6548";
2490
2495
  readonly "configSync.appliedIds": "\u8FD9\u6B21\u5199\u8FDB\u53BB\uFF1A{ids}";
2491
2496
  readonly "configSync.skippedIds": "\u8FD9\u51E0\u884C\u5DE5\u4F5C\u53F0\u81EA\u5DF1\u5DF2\u6709\uFF0C\u6CA1\u52A8\uFF1A{ids}";
2492
2497
  readonly "configSync.nothing": "\u6CA1\u6709\u9700\u8981\u540C\u6B65\u7684\u5185\u5BB9";
@@ -2495,7 +2500,7 @@ export declare const kit: {
2495
2500
  readonly "configSync.emptyProviders": "\u5DE5\u4F5C\u53F0\u8FD8\u6CA1\u6709\u4EFB\u4F55\u6A21\u578B\u4F9B\u5E94\u5546 \u2014\u2014 \u53BB\u300C\u914D\u7F6E\u540C\u6B65\u300D\u4ECE\u67D0\u4E2A profile \u628A llm- \u90A3\u51E0\u884C\u642C\u8FC7\u6765\uFF0C\u6216\u81EA\u5DF1\u53BB\u300C\u6A21\u578B\u300D\u91CC\u914D\u3002";
2496
2501
  readonly "configSync.failed": "\u540C\u6B65\u6CA1\u6210\u529F\uFF0C\u518D\u8BD5\u4E00\u6B21\u3002";
2497
2502
  };
2498
- en: Record<"time.now" | "time.ago" | "time.minutes" | "time.hours" | "time.days" | "blocker.retry" | "blocker.copy" | "blocker.unknown.title" | "blocker.login.go" | "blocker.login.titleGeneric" | "blocker.login.title" | "blocker.login.manual" | "blocker.login.hint" | "blocker.forbidden.open" | "blocker.forbidden.titleGeneric" | "blocker.forbidden.title" | "blocker.forbidden.hint" | "blocker.timeout.hint" | "blocker.exec.hint" | "blocker.fix.install" | "blocker.fix.update" | "blocker.market.open" | "env.unit.failed" | "env.unit.failedHint" | "env.unit.missingPlugin" | "env.unit.hint" | "env.unit.missingCommands" | "env.unit.missingCommandsHint" | "env.unit.unchecked" | "env.unit.uncheckedHint" | "brand.name" | "toggle.open" | "toggle.collapse" | "project.label" | "workspace.section" | "project.none" | "project.empty" | "project.add" | "project.add.busy" | "project.add.failed" | "project.search.label" | "project.search.placeholder" | "project.search.empty" | "project.group.workspaces" | "project.group.defaultWorkspace" | "project.group.workshop" | "project.rename.row" | "project.rename.current" | "project.rename.title" | "project.rename.description" | "project.rename.field" | "project.rename.placeholder" | "project.rename.hint" | "project.rename.save" | "project.rename.saving" | "project.rename.cancel" | "project.rename.failed" | "session.new" | "session.new.label" | "session.empty" | "session.noProject" | "session.list.label" | "session.copy" | "session.pinned" | "session.actions" | "status.idle" | "status.running" | "status.waitingApproval" | "status.planReview" | "status.waitingAnswer" | "status.compact.approval" | "status.compact.planReview" | "status.compact.answer" | "status.completed" | "status.subagentsRunning.one" | "status.subagentsRunning.other" | "hover.copied" | "time.short.minutes" | "time.short.hours" | "time.short.days" | "time.short.months" | "time.short.years" | "panels.title" | "panels.groupBoardless" | "panels.groupPlugins" | "panels.market.defaultHint" | "panels.market.defaultLabel" | "panels.market.defaultLocked" | "panels.followAll" | "panels.followAllConfirmTitle" | "panels.followAllConfirmDetail" | "panels.followAllConfirmAck" | "panels.followAllConfirmYes" | "panels.followAllConfirmNo" | "panels.enabled" | "panels.disabled" | "panels.choose" | "panels.buildModule" | "panels.failed" | "panels.dragHint" | "panels.unknownStep" | "panels.labelWithHint" | "panels.dep.failed" | "panels.dep.missingPlugin" | "panels.dep.missingCommands" | "panels.dep.unchecked" | "panels.tab.modules" | "panels.tab.market" | "panels.browseMarket" | "panels.noneInstalled" | "panels.noneInstalledHint" | "panels.market.installed" | "panels.market.notActive" | "panels.market.notUsable" | "panels.market.broken" | "panels.market.hasNew" | "panels.market.missing" | "panels.market.unchecked" | "panels.market.checking" | "panels.market.sectionInstalled" | "panels.market.sectionPending" | "panels.market.sectionShared" | "panels.market.sharedUsedBy" | "panels.market.listSeparator" | "panels.market.sharedMissing" | "panels.market.sharedOutdated" | "panels.market.sharedUnsatisfied" | "panels.market.sharedOk" | "panels.market.versionArrow" | "panels.market.lead" | "panels.market.install" | "panels.market.update" | "panels.market.uninstall" | "panels.market.uninstallLabel" | "panels.market.installing" | "panels.market.updating" | "panels.market.uninstalling" | "panels.market.confirmUninstallTitle" | "panels.market.confirmUninstallDetail" | "panels.market.confirmUninstallAck" | "panels.market.confirmYes" | "panels.market.confirmNo" | "panels.market.failed" | "panels.market.needEnv" | "panels.market.needCommands" | "panels.market.localMark" | "panels.market.localHint" | "panels.market.noSource" | "panels.market.badSource" | "panels.market.empty" | "panels.market.sectionPlugins" | "panels.market.moduleOutdated" | "panels.market.moduleRefused" | "panels.market.moduleRefusedDetail" | "panels.market.moduleRestartHint" | "panels.market.workbenchName" | "panels.market.workbenchLocal" | "panels.market.pluginKeptInUse" | "panels.market.pluginKeptUnsure" | "panels.market.pluginKeptHeld" | "panels.market.pluginKeptUnnamed" | "panels.market.pluginBroken" | "panels.market.restartNeeded" | "panels.market.foot" | "panels.market.recheck" | "panels.market.checkUpdates" | "panels.market.checkedAt" | "panels.market.justNow" | "panels.market.minutesAgo" | "panels.market.hoursAgo" | "panels.market.add.description" | "panels.market.add.specPlaceholder" | "panels.market.add.guideToggle" | "panels.market.add.guideHide" | "panels.market.add.guideIdTitle" | "panels.market.add.guideIdExample" | "panels.market.add.guideIdHint" | "panels.market.add.guideGitTitle" | "panels.market.add.guideGitExample" | "panels.market.add.guideGitHint" | "panels.market.add.guidePathTitle" | "panels.market.add.guidePathExample" | "panels.market.add.guidePathHint" | "panels.market.add.guideExampleLabel" | "panels.market.add.guideFill" | "panels.market.add.guideSafety" | "panels.market.add.registryLegend" | "panels.market.add.registryOfficial" | "panels.market.add.registryMirror" | "panels.market.add.registryWithHost" | "panels.market.add.registryToggle" | "panels.market.add.installVersion" | "panels.market.add.registryDefault" | "panels.market.add.registryCustom" | "panels.market.add.registryCustomPlaceholder" | "panels.market.add.registryCustomHint" | "panels.market.add.registryCustomInvalid" | "panels.market.add.run" | "panels.market.add.edit" | "panels.market.add.changeRegistry" | "panels.market.add.installingTitle" | "panels.market.add.installedTitle" | "panels.market.add.failedTitle" | "panels.market.add.cancelledTitle" | "panels.market.add.failureNetworkHost" | "panels.market.add.problemInvalid" | "panels.market.add.problemInstalled" | "panels.market.add.problemNotFound" | "panels.market.add.problemNotPackage" | "panels.market.add.problemNotBundle" | "panels.market.add.problemNotWorkbenchModule" | "panels.market.add.problemNotModuleOrPlugin" | "panels.market.add.failureNotModuleOrPlugin" | "panels.market.add.installedPlugin" | "panels.market.add.pluginPreview" | "panels.market.add.pluginAlias" | "panels.market.add.problemNetwork" | "panels.market.add.problemUnknown" | "panels.market.add.failureNetwork" | "panels.market.add.failureNotFound" | "panels.market.add.failureNoMatchingVersion" | "panels.market.add.failureDiskFull" | "panels.market.add.failurePermission" | "panels.market.add.failureBuildBlocked" | "panels.market.add.failureIntegrity" | "panels.market.add.failureTimeout" | "panels.market.add.failurePnpmMissing" | "panels.market.add.failureInstalled" | "panels.market.add.failureGeneric" | "panels.market.add.approveTitle" | "panels.market.add.approveCaution" | "panels.market.add.approveRun" | "panels.market.add.restart" | "panels.market.add.tookEffect" | "panels.market.add.details" | "panels.market.add.open" | "panels.market.add.title" | "panels.market.add.intro" | "panels.market.add.specLabel" | "panels.market.add.specHint" | "panels.market.add.exampleTitle" | "panels.market.add.exampleFill" | "panels.market.add.registryLabel" | "panels.market.add.registryProfile" | "panels.market.add.registryPnpm" | "panels.market.add.check" | "panels.market.add.checking" | "panels.market.add.classifying" | "panels.market.add.change" | "panels.market.add.previewTitle" | "panels.market.add.fieldName" | "panels.market.add.fieldVersion" | "panels.market.add.fieldDescription" | "panels.market.add.fieldSource" | "panels.market.add.install" | "panels.market.add.installing" | "panels.market.add.cancel" | "panels.market.add.close" | "panels.market.add.retry" | "panels.market.add.changeSource" | "panels.market.add.approveBuilds" | "panels.market.add.approveHint" | "panels.market.add.doneApplied" | "panels.market.add.doneRestart" | "panels.market.add.cancelled" | "panels.market.add.failed" | "panels.market.add.removed" | "panels.market.add.supplyPending" | "panels.market.add.supplyFailed" | "panels.market.add.notModule" | "panels.market.add.removedRestart" | "panels.market.add.remove" | "panels.market.add.problem.invalidSpec" | "panels.market.add.problem.alreadyInstalled" | "panels.market.add.problem.notFound" | "panels.market.add.problem.notAPackage" | "panels.market.add.problem.notABundle" | "panels.market.add.problem.network" | "panels.market.add.problem.unknown" | "panels.market.add.reason.invalidSpec" | "panels.market.add.reason.incompatible" | "panels.market.add.reason.notBundle" | "panels.market.add.reason.notRemovable" | "panels.market.add.reason.bundleInUse" | "panels.market.add.reason.stopProfile" | "panels.market.add.reason.staleApproval" | "panels.market.add.reason.operationError" | "panels.market.add.reason.buildBlocked" | "panels.market.add.reason.pnpmMissing" | "panels.market.add.reason.noMatchingVersion" | "panels.market.add.reason.diskFull" | "panels.market.add.reason.permission" | "panels.market.add.reason.integrity" | "panels.market.add.reason.timeout" | "panels.market.add.reason.network" | "panels.market.add.reason.notFound" | "panels.market.add.reason.unknown" | "blocker.fix.running" | "blocker.fix.failed" | "blocker.retry.running" | "panels.reading" | "panels.cardBroken" | "panels.cardRetry" | "panels.empty" | "panels.emptyHint" | "env.title" | "env.checking" | "env.installing" | "env.failed" | "env.elapsed" | "env.stepFailed.install" | "env.stepFailed.path" | "env.stepFailed.shell" | "env.bridge.ok" | "env.bridge.short" | "env.bridge.why" | "env.bridge.daemon" | "env.bridge.extension" | "env.bridge.extensionLink" | "env.bridge.profile" | "env.bridge.stale" | "env.bridge.unknown" | "env.fix.title" | "env.fix.why" | "env.fix.whyPath" | "env.fix.whyShell" | "env.fix.step" | "env.fix.stepPath" | "env.fix.stepShell" | "env.fix.permission" | "env.fix.network" | "env.fix.details" | "env.retry" | "env.copyCommand" | "env.copied" | "env.step.opencli" | "env.step.codingPlugin" | "env.step.bridge" | "env.step.warm" | "env.warm.done" | "env.warm.short" | "rightbar.label" | "rightbar.expand" | "rightbar.collapse" | "rightbar.column.label" | "rightbar.column.workbench" | "rightbar.column.dsh" | "rightbar.refresh" | "rightbar.refreshing" | "rightbar.updatedAt" | "rightbar.noProject" | "rightbar.openPlatform" | "coding.notARepo.title" | "error.unknown" | "board.title" | "panel.conversation" | "panels.label" | "configSync.nav" | "configSync.lead" | "configSync.source" | "configSync.sourceBroken" | "configSync.sourceRows" | "configSync.sourceDead" | "configSync.refresh" | "configSync.loading" | "configSync.readHint" | "configSync.tag.new" | "configSync.tag.differs" | "configSync.conflictNote" | "configSync.code.lang" | "configSync.code.copy" | "configSync.code.copied" | "configSync.code.wrap" | "configSync.code.unwrap" | "configSync.code.collapse" | "configSync.code.collapseAria" | "configSync.code.expandAria" | "configSync.code.expand" | "configSync.missing" | "configSync.apply" | "configSync.applyNone" | "configSync.applying" | "configSync.applied" | "configSync.appliedIds" | "configSync.skippedIds" | "configSync.nothing" | "configSync.unreadable" | "configSync.noSource" | "configSync.emptyProviders" | "configSync.failed", string>;
2503
+ en: Record<"time.now" | "time.ago" | "time.minutes" | "time.hours" | "time.days" | "blocker.retry" | "blocker.copy" | "blocker.unknown.title" | "blocker.login.go" | "blocker.login.titleGeneric" | "blocker.login.title" | "blocker.login.manual" | "blocker.login.hint" | "blocker.forbidden.open" | "blocker.forbidden.titleGeneric" | "blocker.forbidden.title" | "blocker.forbidden.hint" | "blocker.timeout.hint" | "blocker.exec.hint" | "blocker.fix.install" | "blocker.fix.update" | "blocker.market.open" | "env.unit.failed" | "env.unit.failedHint" | "env.unit.missingPlugin" | "env.unit.hint" | "env.unit.missingCommands" | "env.unit.missingCommandsHint" | "env.unit.unchecked" | "env.unit.uncheckedHint" | "brand.name" | "toggle.open" | "toggle.collapse" | "project.label" | "workspace.section" | "project.none" | "project.empty" | "project.add" | "project.add.busy" | "project.add.failed" | "project.search.label" | "project.search.placeholder" | "project.search.empty" | "project.group.workspaces" | "project.group.defaultWorkspace" | "project.group.workshop" | "project.rename.row" | "project.rename.current" | "project.rename.title" | "project.rename.description" | "project.rename.field" | "project.rename.placeholder" | "project.rename.hint" | "project.rename.save" | "project.rename.saving" | "project.rename.cancel" | "project.rename.failed" | "session.new" | "session.new.label" | "session.empty" | "session.noProject" | "session.list.label" | "session.copy" | "session.pinned" | "session.actions" | "status.idle" | "status.running" | "status.waitingApproval" | "status.planReview" | "status.waitingAnswer" | "status.compact.approval" | "status.compact.planReview" | "status.compact.answer" | "status.completed" | "status.subagentsRunning.one" | "status.subagentsRunning.other" | "hover.copied" | "time.short.minutes" | "time.short.hours" | "time.short.days" | "time.short.months" | "time.short.years" | "panels.title" | "panels.groupBoardless" | "panels.groupPlugins" | "panels.market.defaultHint" | "panels.market.defaultLabel" | "panels.market.defaultLocked" | "panels.followAll" | "panels.followAllConfirmTitle" | "panels.followAllConfirmDetail" | "panels.followAllConfirmAck" | "panels.followAllConfirmYes" | "panels.followAllConfirmNo" | "panels.enabled" | "panels.disabled" | "panels.choose" | "panels.buildModule" | "panels.failed" | "panels.dragHint" | "panels.unknownStep" | "panels.labelWithHint" | "panels.dep.failed" | "panels.dep.missingPlugin" | "panels.dep.missingCommands" | "panels.dep.unchecked" | "panels.tab.modules" | "panels.tab.market" | "panels.browseMarket" | "panels.noneInstalled" | "panels.noneInstalledHint" | "panels.market.installed" | "panels.market.notActive" | "panels.market.notUsable" | "panels.market.broken" | "panels.market.hasNew" | "panels.market.missing" | "panels.market.unchecked" | "panels.market.checking" | "panels.market.sectionInstalled" | "panels.market.sectionPending" | "panels.market.sectionShared" | "panels.market.sharedUsedBy" | "panels.market.listSeparator" | "panels.market.sharedMissing" | "panels.market.sharedOutdated" | "panels.market.sharedUnsatisfied" | "panels.market.sharedOk" | "panels.market.versionArrow" | "panels.market.lead" | "panels.market.install" | "panels.market.update" | "panels.market.swapSlow" | "panels.market.uninstall" | "panels.market.uninstallLabel" | "panels.market.installing" | "panels.market.updating" | "panels.market.uninstalling" | "panels.market.confirmUninstallTitle" | "panels.market.confirmUninstallDetail" | "panels.market.confirmUninstallAck" | "panels.market.confirmYes" | "panels.market.confirmNo" | "panels.market.failed" | "panels.market.needEnv" | "panels.market.needCommands" | "panels.market.localMark" | "panels.market.localHint" | "panels.market.noSource" | "panels.market.badSource" | "panels.market.empty" | "panels.market.sectionPlugins" | "panels.market.moduleOutdated" | "panels.market.moduleRefused" | "panels.market.moduleRefusedDetail" | "panels.market.moduleRestartHint" | "panels.market.workbenchName" | "panels.market.workbenchLocal" | "panels.market.pluginKeptInUse" | "panels.market.pluginKeptUnsure" | "panels.market.pluginKeptHeld" | "panels.market.pluginKeptUnnamed" | "panels.market.pluginBroken" | "panels.market.restartNeeded" | "panels.market.foot" | "panels.market.recheck" | "panels.market.checkUpdates" | "panels.market.checkedAt" | "panels.market.justNow" | "panels.market.minutesAgo" | "panels.market.hoursAgo" | "panels.market.add.description" | "panels.market.add.specPlaceholder" | "panels.market.add.guideToggle" | "panels.market.add.guideHide" | "panels.market.add.guideIdTitle" | "panels.market.add.guideIdExample" | "panels.market.add.guideIdHint" | "panels.market.add.guideGitTitle" | "panels.market.add.guideGitExample" | "panels.market.add.guideGitHint" | "panels.market.add.guidePathTitle" | "panels.market.add.guidePathExample" | "panels.market.add.guidePathHint" | "panels.market.add.guideExampleLabel" | "panels.market.add.guideFill" | "panels.market.add.guideSafety" | "panels.market.add.registryLegend" | "panels.market.add.registryOfficial" | "panels.market.add.registryMirror" | "panels.market.add.registryWithHost" | "panels.market.add.registryToggle" | "panels.market.add.installVersion" | "panels.market.add.registryDefault" | "panels.market.add.registryCustom" | "panels.market.add.registryCustomPlaceholder" | "panels.market.add.registryCustomHint" | "panels.market.add.registryCustomInvalid" | "panels.market.add.run" | "panels.market.add.edit" | "panels.market.add.changeRegistry" | "panels.market.add.installingTitle" | "panels.market.add.installedTitle" | "panels.market.add.failedTitle" | "panels.market.add.cancelledTitle" | "panels.market.add.failureNetworkHost" | "panels.market.add.problemInvalid" | "panels.market.add.problemInstalled" | "panels.market.add.problemNotFound" | "panels.market.add.problemNotPackage" | "panels.market.add.problemNotBundle" | "panels.market.add.problemNotWorkbenchModule" | "panels.market.add.problemNotModuleOrPlugin" | "panels.market.add.failureNotModuleOrPlugin" | "panels.market.add.installedPlugin" | "panels.market.add.pluginPreview" | "panels.market.add.pluginAlias" | "panels.market.add.problemNetwork" | "panels.market.add.problemUnknown" | "panels.market.add.failureNetwork" | "panels.market.add.failureNotFound" | "panels.market.add.failureNoMatchingVersion" | "panels.market.add.failureDiskFull" | "panels.market.add.failurePermission" | "panels.market.add.failureBuildBlocked" | "panels.market.add.failureIntegrity" | "panels.market.add.failureTimeout" | "panels.market.add.failurePnpmMissing" | "panels.market.add.failureInstalled" | "panels.market.add.failureGeneric" | "panels.market.add.approveTitle" | "panels.market.add.approveCaution" | "panels.market.add.approveRun" | "panels.market.add.restart" | "panels.market.add.tookEffect" | "panels.market.add.details" | "panels.market.add.open" | "panels.market.add.title" | "panels.market.add.intro" | "panels.market.add.specLabel" | "panels.market.add.specHint" | "panels.market.add.exampleTitle" | "panels.market.add.exampleFill" | "panels.market.add.registryLabel" | "panels.market.add.registryProfile" | "panels.market.add.registryPnpm" | "panels.market.add.check" | "panels.market.add.checking" | "panels.market.add.classifying" | "panels.market.add.change" | "panels.market.add.previewTitle" | "panels.market.add.fieldName" | "panels.market.add.fieldVersion" | "panels.market.add.fieldDescription" | "panels.market.add.fieldSource" | "panels.market.add.install" | "panels.market.add.installing" | "panels.market.add.cancel" | "panels.market.add.close" | "panels.market.add.retry" | "panels.market.add.changeSource" | "panels.market.add.approveBuilds" | "panels.market.add.approveHint" | "panels.market.add.doneApplied" | "panels.market.add.doneRestart" | "panels.market.add.cancelled" | "panels.market.add.failed" | "panels.market.add.removed" | "panels.market.add.supplyPending" | "panels.market.add.supplyFailed" | "panels.market.add.notModule" | "panels.market.add.removedRestart" | "panels.market.add.remove" | "panels.market.add.problem.invalidSpec" | "panels.market.add.problem.alreadyInstalled" | "panels.market.add.problem.notFound" | "panels.market.add.problem.notAPackage" | "panels.market.add.problem.notABundle" | "panels.market.add.problem.network" | "panels.market.add.problem.unknown" | "panels.market.add.reason.invalidSpec" | "panels.market.add.reason.incompatible" | "panels.market.add.reason.notBundle" | "panels.market.add.reason.notRemovable" | "panels.market.add.reason.bundleInUse" | "panels.market.add.reason.stopProfile" | "panels.market.add.reason.staleApproval" | "panels.market.add.reason.operationError" | "panels.market.add.reason.buildBlocked" | "panels.market.add.reason.pnpmMissing" | "panels.market.add.reason.noMatchingVersion" | "panels.market.add.reason.diskFull" | "panels.market.add.reason.permission" | "panels.market.add.reason.integrity" | "panels.market.add.reason.timeout" | "panels.market.add.reason.network" | "panels.market.add.reason.notFound" | "panels.market.add.reason.unknown" | "blocker.fix.running" | "blocker.fix.failed" | "blocker.retry.running" | "panels.reading" | "panels.cardBroken" | "panels.cardRetry" | "panels.empty" | "panels.emptyHint" | "env.title" | "env.checking" | "env.installing" | "env.failed" | "env.elapsed" | "env.stepFailed.install" | "env.stepFailed.path" | "env.stepFailed.shell" | "env.bridge.ok" | "env.bridge.short" | "env.bridge.why" | "env.bridge.daemon" | "env.bridge.extension" | "env.bridge.extensionLink" | "env.bridge.profile" | "env.bridge.stale" | "env.bridge.unknown" | "env.fix.title" | "env.fix.why" | "env.fix.whyPath" | "env.fix.whyShell" | "env.fix.step" | "env.fix.stepPath" | "env.fix.stepShell" | "env.fix.permission" | "env.fix.network" | "env.fix.details" | "env.retry" | "env.copyCommand" | "env.copied" | "env.step.opencli" | "env.step.codingPlugin" | "env.step.bridge" | "env.step.warm" | "env.warm.done" | "env.warm.short" | "rightbar.label" | "rightbar.expand" | "rightbar.collapse" | "rightbar.column.label" | "rightbar.column.workbench" | "rightbar.column.dsh" | "rightbar.refresh" | "rightbar.refreshing" | "rightbar.updatedAt" | "rightbar.noProject" | "rightbar.openPlatform" | "coding.notARepo.title" | "error.unknown" | "board.title" | "panel.conversation" | "panels.label" | "configSync.nav" | "configSync.lead" | "configSync.source" | "configSync.sourceBroken" | "configSync.sourceRows" | "configSync.sourceDead" | "configSync.refresh" | "configSync.loading" | "configSync.readHint" | "configSync.tag.new" | "configSync.tag.differs" | "configSync.conflictNote" | "configSync.code.lang" | "configSync.code.copy" | "configSync.code.copied" | "configSync.code.wrap" | "configSync.code.unwrap" | "configSync.code.collapse" | "configSync.code.collapseAria" | "configSync.code.expandAria" | "configSync.code.expand" | "configSync.missing" | "configSync.apply" | "configSync.applyNone" | "configSync.applying" | "configSync.applied" | "configSync.appliedIds" | "configSync.skippedIds" | "configSync.nothing" | "configSync.unreadable" | "configSync.noSource" | "configSync.emptyProviders" | "configSync.failed", string>;
2499
2504
  };
2500
2505
  mergeMessages(base: apiModule.Dictionaries, contributions: readonly MessagesContribution[]): apiModule.Dictionaries;
2501
2506
  mergeMessagesSkipping(base: apiModule.Dictionaries, contributions: readonly MessagesContribution[]): apiModule.MessagesMerge;
@@ -2607,6 +2612,7 @@ export declare const kit: {
2607
2612
  readonly "panels.market.lead": "\u88C5\u5728\u8FD9\u53F0\u673A\u5668\u4E0A\uFF0C\u6240\u6709\u9879\u76EE\u5171\u7528\u3002";
2608
2613
  readonly "panels.market.install": "\u5B89\u88C5";
2609
2614
  readonly "panels.market.update": "\u66F4\u65B0";
2615
+ readonly "panels.market.swapSlow": "\u8FD8\u6CA1\u6362\u4E0A\uFF1A\u53EF\u80FD\u7F51\u6162\u6216\u6CA1\u88C5\u4E0A\u3002\u518D\u70B9\u4E00\u6B21\u300C\u66F4\u65B0\u300D\uFF1B\u4E00\u76F4\u8FD9\u6837\u5C31\u628A dsh \u91CD\u542F\u4E00\u904D\u3002";
2610
2616
  readonly "panels.market.uninstall": "\u5378\u8F7D";
2611
2617
  readonly "panels.market.uninstallLabel": "\u5378\u8F7D {name}";
2612
2618
  readonly "panels.market.installing": "\u6B63\u5728\u5B89\u88C5\u2026";
@@ -2858,7 +2864,7 @@ export declare const kit: {
2858
2864
  readonly "panel.conversation": "\u5BF9\u8BDD";
2859
2865
  readonly "panels.label": "\u5168\u5C40\u9762\u677F";
2860
2866
  readonly "configSync.nav": "\u914D\u7F6E\u540C\u6B65";
2861
- readonly "configSync.lead": "\u628A\u53E6\u4E00\u4E2A profile \u91CC\u663E\u5F0F\u914D\u8FC7\u7684\u884C\u642C\u8FC7\u6765 \u2014\u2014 \u6765\u6E90\u968F\u4F60\u9009\u3002\u642C\u5B8C\u8981\u91CD\u542F\u5DE5\u4F5C\u53F0\u624D\u751F\u6548\u3002";
2867
+ readonly "configSync.lead": "\u628A\u53E6\u4E00\u4E2A profile \u91CC\u663E\u5F0F\u914D\u8FC7\u7684\u884C\u642C\u8FC7\u6765 \u2014\u2014 \u6765\u6E90\u968F\u4F60\u9009\u3002";
2862
2868
  readonly "configSync.source": "\u6765\u6E90";
2863
2869
  readonly "configSync.sourceBroken": "\u8BFB\u4E0D\u5230\u5B83\u7684\u914D\u7F6E";
2864
2870
  readonly "configSync.sourceRows": "{name} \u8FD9\u4EFD\u91CC\u4F60\u6709 {count} \u884C\u53EF\u642C";
@@ -2882,7 +2888,7 @@ export declare const kit: {
2882
2888
  readonly "configSync.apply": "\u540C\u6B65\u9009\u4E2D\u7684 {count} \u884C";
2883
2889
  readonly "configSync.applyNone": "\u5148\u52FE\u51E0\u884C";
2884
2890
  readonly "configSync.applying": "\u6B63\u5728\u5199\u5165\u2026";
2885
- readonly "configSync.applied": "\u5DF2\u5199\u5165\u5DE5\u4F5C\u53F0\u914D\u7F6E \u00B7 \u91CD\u542F\u5DE5\u4F5C\u53F0\u540E\u751F\u6548";
2891
+ readonly "configSync.applied": "\u5DF2\u5199\u5165\u5DE5\u4F5C\u53F0\u914D\u7F6E \u00B7 \u5DF2\u751F\u6548";
2886
2892
  readonly "configSync.appliedIds": "\u8FD9\u6B21\u5199\u8FDB\u53BB\uFF1A{ids}";
2887
2893
  readonly "configSync.skippedIds": "\u8FD9\u51E0\u884C\u5DE5\u4F5C\u53F0\u81EA\u5DF1\u5DF2\u6709\uFF0C\u6CA1\u52A8\uFF1A{ids}";
2888
2894
  readonly "configSync.nothing": "\u6CA1\u6709\u9700\u8981\u540C\u6B65\u7684\u5185\u5BB9";
@@ -1,9 +1,10 @@
1
1
  import type { Translate, WriteOutcome } from '@dsh-workbench/shared';
2
2
  import type { MarketRow } from './market-row-types';
3
3
  import { type MarketRowAction } from './market-rows';
4
- import type { Pending } from './market-view-text';
4
+ import { type HeldRow, type Pending } from './market-view-text';
5
5
  export interface MarketActSeats {
6
6
  readonly setPending: (next: Pending | null) => void;
7
+ readonly setHeld: (next: HeldRow | undefined) => void;
7
8
  readonly setConfirming: (next: string | null) => void;
8
9
  readonly setFailed: (next: {
9
10
  readonly id: string;
@@ -26,9 +26,11 @@ export declare function withClientRefusals(modules: readonly InstalledWorkbenchM
26
26
  }[]): readonly InstalledWorkbenchModule[];
27
27
  export declare function refusalReasons(host: readonly string[] | undefined, client: readonly string[] | undefined): readonly string[];
28
28
  export declare function mergeTitles(known: ReadonlyMap<string, string>, manifests: readonly UnitManifest[]): ReadonlyMap<string, string>;
29
+ export declare function installedIdSet(installed: readonly InstalledWorkbenchModule[] | undefined): ReadonlySet<string> | null;
29
30
  export declare function installedRows(modules: readonly InstalledWorkbenchModule[], manifests: readonly UnitManifest[], listed: ReadonlySet<string>, known?: ReadonlyMap<string, string> | undefined, defaults?: ReadonlySet<string>, changed?: Readonly<Record<string, number>>): MarketRow[];
30
31
  export declare function marketSwitchLocked(row: MarketRow): boolean;
31
32
  export declare function marketActions(row: MarketRow): MarketRowAction[];
33
+ export declare function capabilityOutdated(capabilities: CapabilityMap | null, unit: string): boolean;
32
34
  export declare function marketCatalog(manifests: readonly UnitManifest[], installable: ReadonlySet<string> | null | undefined): readonly UnitManifest[];
33
35
  export declare function liveManifests(manifests: readonly UnitManifest[], capabilities: CapabilityMap | null, installed: ReadonlySet<string> | null): readonly UnitManifest[];
34
36
  export declare function marketHasUpdates(rows: readonly MarketRow[], shared?: readonly SharedRow[]): boolean;
@@ -39,5 +41,6 @@ export interface MarketSection {
39
41
  readonly titleKey: string;
40
42
  readonly rows: readonly MarketRow[];
41
43
  }
44
+ export declare function marketOrder(rows: readonly MarketRow[], titleOf: (row: MarketRow) => string): MarketRow[];
42
45
  export declare function marketSections(rows: readonly MarketRow[]): MarketSection[];
43
46
  export declare function marketRows(manifests: readonly UnitManifest[], capabilities: CapabilityMap | null, updates?: ModuleUpdateMap, defaults?: ReadonlySet<string>, changed?: Readonly<Record<string, number>>): MarketRow[];
@@ -0,0 +1,13 @@
1
+ import type { Translate } from '@dsh-workbench/shared';
2
+ import type { Pending } from './market-view-text';
3
+ export declare function useSettleHold(input: {
4
+ readonly pending: Pending | null;
5
+ readonly landed: boolean;
6
+ readonly t: Translate;
7
+ readonly onChanged: () => void;
8
+ readonly setPending: (next: Pending | null) => void;
9
+ readonly setFailed: (next: {
10
+ readonly id: string;
11
+ readonly message: string;
12
+ } | null) => void;
13
+ }): void;
@@ -1,2 +1,24 @@
1
+ import type { MarketRowAction, ModuleUpdate } from './market-row-types';
1
2
  export declare const MODULE_SETTLE_MS = 15000;
2
3
  export declare function holdBack(installed: readonly string[], roster: ReadonlySet<string>, active: ReadonlySet<string>, previous: ReadonlySet<string> | null): readonly string[];
4
+ export declare const WORKBENCH_SWAP_MS = 180000;
5
+ export declare const WORKBENCH_SWAP_POLL_MS = 800;
6
+ export declare function swapLanded(until: string | undefined, installed: string | undefined): boolean;
7
+ export declare function swapUntil(action: string, application: string | undefined, latest: string | undefined): string | undefined;
8
+ export declare function awaitsReadBack(action: MarketRowAction, application: string | undefined, version: string | undefined): boolean;
9
+ export declare function readBackDone(input: {
10
+ readonly action: MarketRowAction;
11
+ readonly entry: ModuleUpdate | undefined;
12
+ readonly clicked: string | undefined;
13
+ readonly outdated: boolean;
14
+ }): boolean;
15
+ export declare function settleLanded(input: {
16
+ readonly action: MarketRowAction;
17
+ readonly until: string | undefined;
18
+ readonly readBack: boolean | undefined;
19
+ readonly installed: string | undefined;
20
+ readonly entry: ModuleUpdate | undefined;
21
+ readonly clicked: string | undefined;
22
+ readonly outdated: boolean;
23
+ }): boolean;
24
+ export declare function holdWindowMs(until: string | undefined): number;
@@ -0,0 +1,22 @@
1
+ import type { MarketMock } from './market-mock';
2
+ import type { Pending } from './market-view-text';
3
+ export interface MarketTransient {
4
+ readonly pending: Pending | null;
5
+ readonly setPending: (next: Pending | null) => void;
6
+ readonly confirming: string | null;
7
+ readonly setConfirming: (next: string | null) => void;
8
+ readonly failed: {
9
+ readonly id: string;
10
+ readonly message: string;
11
+ } | null;
12
+ readonly setFailed: (next: {
13
+ readonly id: string;
14
+ readonly message: string;
15
+ } | null) => void;
16
+ readonly notice: string | null;
17
+ readonly setNotice: (next: string | null) => void;
18
+ }
19
+ export declare function useMarketTransient(input: {
20
+ readonly mock: MarketMock | undefined;
21
+ readonly onPending?: ((pending: boolean) => void) | undefined;
22
+ }): MarketTransient;
@@ -1,13 +1,38 @@
1
- import type { MarketRow, MarketRowAction } from './market-rows';
1
+ import type { UnitManifest } from '@dsh-workbench/shared';
2
+ import type { CapabilityMap } from '../../../shared/hooks/use-capabilities';
3
+ import type { MarketRow, MarketRowAction, ModuleUpdateMap } from './market-rows';
2
4
  export declare const PROGRESS_KEY: Readonly<Record<MarketRowAction, string>>;
3
5
  export declare const ACTION_LABEL_KEY: Readonly<Record<MarketRowAction, string>>;
6
+ export interface HeldRow {
7
+ readonly id: string;
8
+ readonly row: MarketRow;
9
+ }
4
10
  export interface Pending {
5
11
  readonly id: string;
6
12
  readonly action: MarketRowAction;
7
13
  readonly titleKey?: string | undefined;
8
14
  readonly pkg?: string | undefined;
9
15
  readonly version?: string | undefined;
16
+ readonly row?: MarketRow | undefined;
17
+ readonly until?: string | undefined;
18
+ readonly readBack?: boolean | undefined;
10
19
  }
20
+ export declare function holdOf(pending: Pending | null, application: string | undefined): HeldRow | undefined;
21
+ export declare function pendingLanded(pending: Pending | null, updates: ModuleUpdateMap, capabilities: CapabilityMap | null, installed: string | undefined): boolean;
22
+ export declare function holdExpired(held: HeldRow | undefined, backInRoster: boolean, elapsedMs: number): boolean;
23
+ export declare function heldIdOf(pending: Pending | null, held: HeldRow | undefined): string | null;
24
+ export declare function pinnedRowOf(pending: Pending | null, held: HeldRow | undefined): MarketRow | undefined;
25
+ export declare function withPinnedRow(rows: readonly MarketRow[], pinned: MarketRow | undefined): MarketRow[];
26
+ export declare function marketFootVisible(shown: readonly MarketRow[], installed: readonly MarketRow[]): boolean;
27
+ export declare function useMarketTitles(manifests: readonly UnitManifest[], mocked: boolean): ReadonlyMap<string, string>;
28
+ export interface HeldRowControl {
29
+ readonly held: HeldRow | undefined;
30
+ hold(next: HeldRow | undefined): void;
31
+ }
32
+ export declare function useHeldRow(pending: Pending | null, backInRoster: (id: string) => boolean): HeldRowControl;
33
+ export declare function removingIdOf(pending: Pending | null, failed: {
34
+ readonly id: string;
35
+ } | null): string | null;
11
36
  export declare function pendingRowOf(input: {
12
37
  readonly pending: Pending | null;
13
38
  readonly removing: string | null;
@@ -2,6 +2,7 @@ import type { UnitCapability } from '../../../shared/api/host/probe-units';
2
2
  import type { BundleManager } from '../../../shared/api/host/bundle-manager';
3
3
  import type { InstalledModule, ProfileModule, ProfilePackage } from '../../../shared/api/host/installed-module';
4
4
  import type { PluginSource, UnitManifest } from '@dsh-workbench/shared';
5
+ import { type SelfUpdateRequest } from '../../../shared/api/host/self-update';
5
6
  import { type PluginLedger } from '../model/plugin-ledger';
6
7
  export declare function unit(id: string, plugin: string, source?: PluginSource): UnitManifest;
7
8
  export declare function libUnit(id: string, libName: string): UnitManifest;
@@ -25,6 +26,7 @@ export declare function harness(options: {
25
26
  };
26
27
  npmLatest?: string;
27
28
  npmMissing?: readonly string[];
29
+ profileName?: string | null;
28
30
  }): {
29
31
  registered: {
30
32
  name: string;
@@ -37,6 +39,7 @@ export declare function harness(options: {
37
39
  commands: () => string[];
38
40
  };
39
41
  disposers: (() => void)[];
42
+ selfUpdates: SelfUpdateRequest[];
40
43
  };
41
44
  export declare function fakeBundles(over?: Partial<BundleManager>): BundleManager;
42
45
  export declare function call(h: ReturnType<typeof harness>, args: unknown): Promise<Record<string, unknown>>;
@@ -0,0 +1,19 @@
1
+ import type { DshShell } from '@dsh-workbench/shared';
2
+ import type { InstalledModule, ProfilePackage } from '../../../shared/api/host/installed-module';
3
+ import { type SelfUpdateRequest, type SelfUpdateStart } from '../../../shared/api/host/self-update';
4
+ import type { BundleInstallOutcome } from './market-types';
5
+ export interface WorkbenchUpdateDeps {
6
+ readonly asked: string;
7
+ readonly workbench?: ((pkg: string) => ProfilePackage | undefined) | undefined;
8
+ readonly shell?: DshShell | undefined;
9
+ readonly installed?: ((pkg: string) => InstalledModule) | undefined;
10
+ readonly dshHome?: (() => string) | undefined;
11
+ readonly profileRegistry?: (() => Promise<string | undefined>) | undefined;
12
+ readonly profileName?: (() => string | null) | undefined;
13
+ readonly selfUpdate?: ((request: SelfUpdateRequest, onError: (message: string) => void) => SelfUpdateStart) | undefined;
14
+ readonly logger?: {
15
+ info?(message: string): void;
16
+ warn?(message: string): void;
17
+ } | undefined;
18
+ }
19
+ export declare function updateWorkbenchOnce(deps: WorkbenchUpdateDeps): Promise<BundleInstallOutcome>;
@@ -4,6 +4,7 @@ import type { BundleManager } from '../../../shared/api/host/bundle-manager';
4
4
  import type { InstalledModule, ProfileModule, ProfilePackage } from '../../../shared/api/host/installed-module';
5
5
  import type { RegistryNotebook } from '../../../shared/api/host/profile-registries';
6
6
  import type { UnitMountDeps } from '@dsh-workbench/shared/host';
7
+ import type { SelfUpdateRequest, SelfUpdateStart } from '../../../shared/api/host/self-update';
7
8
  import { type PluginReferences } from './plugin-actions';
8
9
  import type { PluginLedger } from './plugin-ledger';
9
10
  import type { MarketService } from './market-types';
@@ -25,6 +26,9 @@ export declare function createMarketService(options: {
25
26
  registries?: RegistryNotebook | undefined;
26
27
  ledger?: PluginLedger | undefined;
27
28
  references?: (() => PluginReferences) | undefined;
29
+ dshHome?: (() => string) | undefined;
30
+ profileName?: (() => string | null) | undefined;
31
+ selfUpdate?: ((request: SelfUpdateRequest, onError: (message: string) => void) => SelfUpdateStart) | undefined;
28
32
  logger?: {
29
33
  info?(message: string): void;
30
34
  warn?(message: string): void;