Skip to main content

Msg

Enum Msg 

Source
pub enum Msg<'a> {
Show 391 variants WelcomeBannerLine1, WelcomeBannerLine2, WelcomeOptionCodingPlan, WelcomeOptionCodingPlanHint, WelcomeOptionConfigureManually, WelcomeOptionConfigureManuallyHint, WelcomeOptionSkip, WelcomeOptionSkipHint, CodingPlanSetupFailed { error: &'a str, }, CpReauthAfter401, ChatAuthExpired, CpSetupHeader, CpLoggedIn { who: &'a str, username: &'a str, email: &'a str, }, CpStepSkipped { reason: &'a str, }, CpLoginFailed { error: &'a str, }, CpClaimed { message: &'a str, plan_type: &'a str, }, CpClaimSuccessFallback, CpAlreadyClaimed { reason: &'a str, }, CpClaimFailed { error: &'a str, }, CpClaimTierSucceeded { tier: &'a str, }, CpClaimTierAlreadyHeld { tier: &'a str, }, CpClaimTierFailed { tier: &'a str, reason: &'a str, }, CpAddedProviders { count: usize, plural_s: &'a str, }, CpLocked { name: &'a str, }, CpProviderRow { provider: &'a str, model: &'a str, default_suffix: &'a str, }, CpDefaultSuffix, CpVisionAuto { kind: &'a str, }, CpVisionUserSupplied { kind: &'a str, }, CpVisionCleared, CpModelsSkipped { reason: &'a str, }, CpModelsFailed { error: &'a str, }, CpStatusHeader, CpPlanPending { plan: &'a str, }, CpPlanActive { plan: &'a str, expires_at: &'a str, remaining_days: i32, total_days: i32, }, CpUsageLine { usage: &'a str, reset_at: &'a str, duration: &'a str, }, CpWindowQuotaExhausted, CpWindowQuotaHint { hint: &'a str, }, CpStatusFetchSkipped { reason: &'a str, }, CpStatusFetchFailed { error: &'a str, }, CpOfficialBuildRequired, CpAuthRequired, CpSignStaleClockSkew, CpSignReplayPersisted, CpSignVersionTooOld, CpUpgradeRequired, ErrUnsupportedLocale { input: &'a str, }, StatusNoProvider, StatusUpgradeHint { version: &'a str, }, StatusModelNotConfigured, StatusClipboardImageHint, StatusClipboardImageHintSlash, StatusBody { model: &'a str, dir: &'a str, config: &'a str, tokens: usize, }, StatusCpNotSignedIn, StatusCpFetchFailed { error: &'a str, }, StatusCpNoActive, StatusCpLine { plan: &'a str, expires_at: &'a str, remaining_days: i32, total_days: i32, }, StatusCpUsage { usage: &'a str, reset_at: &'a str, seconds: i64, }, StatusCpWindowExhausted, StatusCpWindowHint { hint: &'a str, }, StatusInstructionFilesHeader, StatusInstructionPresent { path: &'a str, label: &'a str, }, StatusInstructionMissing { label: &'a str, }, LoginSignedInWithCpHint { name: &'a str, username: &'a str, }, HelpAvailableCommands, KeybindingsHelp, ProviderWizardHeader, ProviderWizardCancelled, ProviderMenuAdd, ProviderMenuAddDesc, ProviderMenuEdit, ProviderMenuEditDesc, ProviderMenuDelete, ProviderMenuDeleteDesc, ProviderMenuSetDefault, ProviderMenuSetDefaultDesc, ProviderNoProviders, ProviderDeleteConfirm { name: &'a str, }, ProviderDeleted { name: &'a str, }, ProviderDeleteKept, ProviderDefaultSet { name: &'a str, }, ProviderAdded { name: &'a str, model: &'a str, }, ProviderUpdated { name: &'a str, }, ProviderStepName, ProviderStepType, ProviderStepTypeWithHint { current: &'a str, }, ProviderStepBaseUrl, ProviderStepBaseUrlWithHint { current: &'a str, }, ProviderDefaultHint, ProviderStepApiKey, ProviderStepApiKeyWithHint { hint: &'a str, }, ProviderStepApiKeySet, ProviderStepApiKeyUnset, ProviderStepModel, ProviderStepModelWithHint { current: &'a str, }, ProviderNameEmpty, ProviderUnknownType, ProviderUnknownTypeEdit, ProviderModelEmpty, ProviderEditKeep, ModelSwitched { provider: &'a str, model: &'a str, }, SessionLoadFailed { error: &'a str, }, SessionResumedLabel { name: &'a str, }, SessionTimeJustNow, SessionTimeMinAgo { n: u64, }, SessionTimeHourAgo { n: u64, }, SessionTimeDayAgo { n: u64, }, SessionMsgCount { count: usize, }, SessionNameEmpty, SessionNameTooLong { max: usize, }, SessionNameControlChars, SessionListFailed { error: &'a str, }, SessionRenamed { old: &'a str, new: &'a str, }, SessionSaveFailed { error: &'a str, }, SessionNoneSelected, SessionRenameEditing { buffer: &'a str, }, DirCurrent, DirNotExists { path: &'a str, }, DirChanged { path: &'a str, }, DirNotADirectory { path: &'a str, }, IssueCancelled, IssueNewOn { owner: &'a str, repo: &'a str, }, IssueStep1, IssueStep2, IssueTitleConfirmed { title: &'a str, }, IssueRequiredField { field: &'a str, }, IssueCreated { number: u64, title: &'a str, url: &'a str, }, IssueCreateFailed { error: &'a str, }, LanguageSwitched { label: &'a str, locale: &'a str, }, IdleHintPrefix, IdleHintSlash, IdleHintSuffix, IdleHintFull, IdleHintProvider, IdleHintProviderSuffix, IdleHintProviderFull, IdleHintCodingplan, IdleHintCodingplanSuffix, IdleHintCodingplanFull, CmdSwitchedPlanMode, CmdSwitchedBuildMode, CmdNewSession, CmdNoProviders, CmdNoSessions, CmdUnknownCommand { name: &'a str, }, CmdLoginFailed { error: &'a str, }, CmdLogoutDone, CmdLogoutFailed { error: &'a str, }, CmdWhoamiNotSignedIn, CmdReloadDone { provider: &'a str, model: &'a str, }, CmdReloadFailed { error: &'a str, }, CmdUndoNotSupported, CmdNoChanges, CmdCheckingUpdate, CmdNoActiveProvider, ApprovalPromptAlt { tool: &'a str, detail: &'a str, }, ApprovalWaitingLabel, ApprovalAllow, ApprovalAlways, ApprovalDeny, Cancelled, ErrorPrefix { msg: &'a str, }, UpgradeSuccess { from: &'a str, to: &'a str, }, UpgradeManifestFetched { version: &'a str, }, UpgradeDownloading { pct: i32, bytes: u64, total: u64, }, UpgradeVerifying, UpgradeReplacing, UpgradeDone { version: &'a str, backup: &'a str, }, UpgradeAlreadyLatest { current: &'a str, latest: &'a str, }, UpgradeFailed { error: &'a str, }, UpgradeRolledBack { exe: &'a str, backup: &'a str, }, KbdHintMacos, KbdHintOther, JediTermFallback, LegacyConhostFallback, BackgroundComplete { turns: usize, }, BackgroundFailed { turns: usize, }, BackgroundFilesEdited, ConfigProviderLabel { provider: &'a str, path: &'a str, }, CostReport { prompt: usize, completion: usize, cached: usize, cache_rate: usize, total: usize, cost: &'a str, }, ThinkStatus { status: &'a str, budget: u32, provider: &'a str, }, ThinkEnabled { budget: u32, }, ThinkDisabled, ThinkBudgetSet { n: u32, }, ThinkBudgetTooSmall { n: u32, }, ThinkBudgetUsage, ThinkUsage, RememberUsage, ForgetUsage, BackgroundUsage, InitAlreadyExists { path: &'a str, }, InitWrote { path: &'a str, bytes: usize, }, InitFailed { error: &'a str, }, CdWorkingDir { cwd: &'a str, }, DiffFailed { error: &'a str, }, UpgradeUnknownArg { arg: &'a str, }, SkillsNone, SkillsAvailable, SkillUnknown { name: &'a str, }, McpReloading { count: usize, }, McpConnecting, McpConnectingServer { name: &'a str, }, McpNoServersConfigured, McpClearedReconnecting { removed: usize, }, McpClearedNoServers { removed: usize, }, McpToolsUsage, McpToolsListing { server: &'a str, }, McpNoRegistry, McpServersHeader, McpReloadFailed { error: &'a str, }, McpOAuthLoginUsage, McpOAuthLogoutUsage, McpOAuthLoadConfigFailed { error: &'a str, }, McpOAuthServerNotFound { server: &'a str, }, McpOAuthStarting { server: &'a str, }, McpOAuthSaved { provider: &'a str, server: &'a str, }, McpOAuthFailed { error: &'a str, }, McpOAuthTokenRemoved { server: &'a str, }, McpOAuthNoToken { server: &'a str, }, McpOAuthLogoutFailed { error: &'a str, }, McpServerConnected { name: &'a str, }, McpServerFailed { name: &'a str, error: &'a str, }, LspServerStarted { name: &'a str, ext: &'a str, }, LspServerFailed { name: &'a str, ext: &'a str, error: &'a str, }, WorktreeUsage, WorktreeCreateUsage, WorktreeCreated { branch: &'a str, base: &'a str, path: &'a str, }, WorktreeCreateFailed { error: &'a str, }, WorktreeNoActive, WorktreeListFailed { error: &'a str, }, WorktreeActiveHeader, WorktreeHasChanges, WorktreeClean, WorktreeCurrent, WorktreeDoneBack { path: &'a str, }, WorktreeDoneMergeHint { branch: &'a str, }, WorktreeNoSession, WorktreeCleanupUsage, WorktreeCleaned { branch: &'a str, }, WorktreeCleanedSwitched { path: &'a str, }, WorktreeCleanupUncommitted { branch: &'a str, }, WorktreeCleanupFailed { error: &'a str, }, HelpCustomCommandsHeader, HelpCustomNone, HelpCustomCreateHint, HelpSourceGlobal, HelpSourceProject, SetupHeader { installed: usize, skipped: usize, failed: usize, duration_ms: u64, }, SetupInstalledLabel, SetupSkippedLabel, SetupFailedLabel, SetupInstalledRow { kind: &'a str, slug: &'a str, path: &'a str, }, SetupSkippedRow { kind: &'a str, slug: &'a str, reason: &'a str, }, SetupFailedRow { kind: &'a str, slug: &'a str, error: &'a str, }, CmdSetupTip, CmdSetupRunning, CmdSetupSkillsReloaded { count: usize, }, CmdSetupError { error: &'a str, }, CmdSetupRunningSkill, CmdSetupSkillMissing, PluginUsage, PluginMarketplaceUsage, PluginInstallUsage, PluginUninstallUsage, PluginNoMarketplaces, PluginMarketplacesHeader, PluginNoInstalled, PluginInstalledHeader, PluginMarketplaceCloning { url: &'a str, }, PluginMarketplaceRemoved { name: &'a str, }, PluginMarketplaceRemoveFailed { error: &'a str, }, PluginMarketplaceUpdating { name: &'a str, }, PluginMarketplaceListFailed { error: &'a str, }, PluginInstalling { plugin: &'a str, marketplace: &'a str, }, PluginUninstalled { plugin: &'a str, marketplace: &'a str, }, PluginUninstallFailed { error: &'a str, }, PluginListFailed { error: &'a str, }, CmdDescSetup, CmdDescCodingplan, CmdDescResume, CmdDescRename, CmdDescLogin, CmdDescLogout, CmdDescWhoami, CmdDescModel, CmdDescProvider, CmdDescStatus, CmdDescConfig, CmdDescReload, CmdDescCd, CmdDescInit, CmdDescBg, CmdDescBackground, CmdDescDiff, CmdDescClear, CmdDescSession, CmdDescCost, CmdDescContext, CmdDescCompact, CmdDescRemember, CmdDescForget, CmdDescMemory, CmdDescMcp, CmdDescUndo, CmdDescWorktree, CmdDescUpgrade, CmdDescIssue, CmdDescPlan, CmdDescBuild, CmdDescThink, CmdDescHelp, CmdDescKeys, CmdDescLanguage, CmdDescQuit, CmdDescSkills, CmdDescPlugin, CmdDescPaste, CmdPasteNoImage, ConfigSaveFailed { error: &'a str, }, OnboardingStepHeaderWelcome, OnboardingStepHeaderLanguage, OnboardingStepHeaderSetup, OnboardingPanelTitle, OnboardingIntroVersionLine { v: &'a str, }, OnboardingIntroBullet1, OnboardingIntroBullet2, OnboardingIntroBullet3, OnboardingIntroPressEnter, OnboardingIntroCtrlC, OnboardingIntroCompactTagline, OnboardingLanguageTitleBilingual, OnboardingLanguagePrompt, OnboardingLanguageOptionAuto, OnboardingLanguageOptionEn, OnboardingLanguageOptionZhCn, OnboardingSetupTitle, OnboardingNavHint, OnboardingConfirmClear, CmdWelcomeDescription, VisionPreprocessSuccess { char_count: usize, }, TurnSummary { done: &'a str, turn_count: usize, tool_call_count: usize, duration: &'a str, total_tokens: usize, }, LoginQrHeader, LoginUrlAfterQr, LoginNoQrNoUrl, LoginUrlOnly, LoginCancelHint, CtxUsageHeader, CtxUsageNoTurns, CtxUsageWaiting, CtxProvider, CtxCtxName, CtxLabelSystemPrompt, CtxLabelToolDefs, CtxLabelColdZone, CtxLabelMessages, CtxLabelFree, CtxMessagesInWindow { n: usize, }, CtxSystemPromptHeader, CtxSystemPromptEmpty, CtxTokensSuffix, CompactNothingShort, CompactStarting, CompactNothingNoSavings { before: &'a str, after: &'a str, }, CompactDropped { messages: usize, before: &'a str, after: &'a str, }, ModelNoImageSupport { model: &'a str, }, CtrlCAgainToExit, HintMultiLineInput, BgHelp, BgListEmpty, BgListHeader, BgListRow { slot: usize, short_id: &'a str, state: &'a str, age: &'a str, summary: &'a str, }, BgStateRunning, BgStateIdle, BgStateDone, BgStateCancelled, BgStateError, BgAgeNow, BgAgeMinutes { n: u64, }, BgAgeHours { n: u64, }, BgAgeDays { n: u64, }, BgSlotLimitReached { max: usize, }, BgBackgroundCurrent { new_id: &'a str, slot: usize, old_id: &'a str, state: &'a str, }, BgInvalidSlot { slot: usize, available: usize, }, BgNoRuntimeClient, BgResumed { slot: usize, short_id: &'a str, }, BgPreviousForegroundMoved { slot: usize, }, BgDropped { slot: usize, short_id: &'a str, }, BgTaskStarted { slot: usize, short_id: &'a str, }, BgTaskTimedOut { secs: u64, }, BgTaskError { error: &'a str, }, BgTaskCancelled, BgTaskNoSummary,
}

Variants§

§

WelcomeBannerLine1

§

WelcomeBannerLine2

§

WelcomeOptionCodingPlan

§

WelcomeOptionCodingPlanHint

§

WelcomeOptionConfigureManually

§

WelcomeOptionConfigureManuallyHint

§

WelcomeOptionSkip

§

WelcomeOptionSkipHint

§

CodingPlanSetupFailed

Fields

§error: &'a str
§

CpReauthAfter401

Emitted inline by /codingplan and atomcode codingplan when the stored OAuth token comes back 401 from the CodingPlan API mid-flow. We re-run the same OAuth dance /login uses, save the fresh token, and retry the whole setup once — this line tells the user that’s what’s about to happen so the second “Open this URL in any browser…” block isn’t a surprise.

§

ChatAuthExpired

Emitted by the OpenAI provider when an AtomGit-gateway chat request returns 401 and our one automatic refresh_token attempt either failed or the retried request still came back 401. The raw server message (“Gitcode auth: token rejected”) is not useful to end users — this replaces it with an actionable hint pointing at /login. Non-atomgit gateways still surface the verbatim server error so user-supplied API keys (sk-…) get the diagnostic detail.

§

CpSetupHeader

§

CpLoggedIn

Fields

§who: &'a str
§username: &'a str
§email: &'a str
§

CpStepSkipped

Fields

§reason: &'a str
§

CpLoginFailed

Fields

§error: &'a str
§

CpClaimed

Fields

§message: &'a str
§plan_type: &'a str
§

CpClaimSuccessFallback

§

CpAlreadyClaimed

Fields

§reason: &'a str
§

CpClaimFailed

Fields

§error: &'a str
§

CpClaimTierSucceeded

Per-tier cascade row — winning tier, fresh claim. Example (zh-CN): ✓ CodingPlan Lite 领取成功

Fields

§tier: &'a str
§

CpClaimTierAlreadyHeld

Per-tier cascade row — winning tier, server reported the user already holds this tier or higher (duplicate=true).

Fields

§tier: &'a str
§

CpClaimTierFailed

Per-tier cascade row — tier was refused (2xx with success= false / 5xx / transport). reason is the server’s human- readable message (e.g. 额度已满, 暂无开放) or a short rendering of the transport error.

Fields

§tier: &'a str
§reason: &'a str
§

CpAddedProviders

Fields

§count: usize
§plural_s: &'a str
§

CpLocked

Locked-model row. name is expected to be pre-decorated with U+0336 combining strikethrough by the caller (see coding_plan::setup::strikethrough), so the template itself stays a plain format! and survives every renderer’s CSI scrubber without needing SGR escapes.

Fields

§name: &'a str
§

CpProviderRow

Fields

§provider: &'a str
§model: &'a str
§default_suffix: &'a str
§

CpDefaultSuffix

§

CpVisionAuto

Fields

§kind: &'a str
§

CpVisionUserSupplied

Fields

§kind: &'a str
§

CpVisionCleared

§

CpModelsSkipped

Fields

§reason: &'a str
§

CpModelsFailed

Fields

§error: &'a str
§

CpStatusHeader

§

CpPlanPending

Fields

§plan: &'a str
§

CpPlanActive

Fields

§plan: &'a str
§expires_at: &'a str
§remaining_days: i32
§total_days: i32
§

CpUsageLine

Fields

§usage: &'a str
§reset_at: &'a str
§duration: &'a str
§

CpWindowQuotaExhausted

§

CpWindowQuotaHint

Fields

§hint: &'a str
§

CpStatusFetchSkipped

Fields

§reason: &'a str
§

CpStatusFetchFailed

Fields

§error: &'a str
§

CpOfficialBuildRequired

Open-source build attempted to use a CodingPlan provider. The signing capability is not present in this build, so the request can’t reach the AtomGit LLM gateway. Surface a clear hint pointing to the official Releases page.

§

CpAuthRequired

Official build, but no stored auth (or auth has empty user.id / access_token). The signing path needs these fields to derive a per-user key; without them the request can’t be signed. Surface a “please run /codingplan to log in” hint instead of the misleading “official build required” message — the user IS on an official build.

§

CpSignStaleClockSkew

Server returned ATOMCODE_SIG_STALE — the request’s signed timestamp is outside the ±5min window the gateway accepts. Typically caused by an unsynced local clock.

§

CpSignReplayPersisted

Server returned ATOMCODE_SIG_REPLAY even after the client’s one automatic retry with a fresh nonce. Surface a “please retry the command” hint — usually self-heals on the next attempt.

§

CpSignVersionTooOld

Server returned ATOMCODE_SIG_INVALID AND the alg_version is no longer in the server’s accepted_versions set — the client binary is too old. Force-upgrade hint.

§

CpUpgradeRequired

Server returned 426 Upgrade Required — emergency rotation playbook in progress; this build cannot continue without upgrading.

§

ErrUnsupportedLocale

Fields

§input: &'a str
§

StatusNoProvider

§

StatusUpgradeHint

Fields

§version: &'a str
§

StatusModelNotConfigured

§

StatusClipboardImageHint

macOS / Linux variant: “Image in clipboard · ctrl+v to paste”. Ctrl+V is intercepted by Windows Terminal / conhost before reaching atomcode, so Windows builds emit StatusClipboardImageHintSlash instead.

§

StatusClipboardImageHintSlash

Windows variant: “Image in clipboard · /paste”. Tells the user to fall back on the /paste slash command, which works in every terminal regardless of host keybinds.

§

StatusBody

Fields

§model: &'a str
§dir: &'a str
§config: &'a str
§tokens: usize
§

StatusCpNotSignedIn

§

StatusCpFetchFailed

Fields

§error: &'a str
§

StatusCpNoActive

§

StatusCpLine

Fields

§plan: &'a str
§expires_at: &'a str
§remaining_days: i32
§total_days: i32
§

StatusCpUsage

Fields

§usage: &'a str
§reset_at: &'a str
§seconds: i64
§

StatusCpWindowExhausted

§

StatusCpWindowHint

Fields

§hint: &'a str
§

StatusInstructionFilesHeader

§

StatusInstructionPresent

Fields

§path: &'a str
§label: &'a str
§

StatusInstructionMissing

Fields

§label: &'a str
§

LoginSignedInWithCpHint

Fields

§name: &'a str
§username: &'a str
§

HelpAvailableCommands

§

KeybindingsHelp

Full keyboard-shortcuts reference dumped to scrollback by the /keys slash command. Carries every line of the panel as a single multi-line string so translators can adjust column alignment per locale without rebuilding rows in Rust.

§

ProviderWizardHeader

§

ProviderWizardCancelled

§

ProviderMenuAdd

§

ProviderMenuAddDesc

§

ProviderMenuEdit

§

ProviderMenuEditDesc

§

ProviderMenuDelete

§

ProviderMenuDeleteDesc

§

ProviderMenuSetDefault

§

ProviderMenuSetDefaultDesc

§

ProviderNoProviders

§

ProviderDeleteConfirm

Fields

§name: &'a str
§

ProviderDeleted

Fields

§name: &'a str
§

ProviderDeleteKept

§

ProviderDefaultSet

Fields

§name: &'a str
§

ProviderAdded

Fields

§name: &'a str
§model: &'a str
§

ProviderUpdated

Fields

§name: &'a str
§

ProviderStepName

§

ProviderStepType

§

ProviderStepTypeWithHint

Fields

§current: &'a str
§

ProviderStepBaseUrl

§

ProviderStepBaseUrlWithHint

Fields

§current: &'a str
§

ProviderDefaultHint

§

ProviderStepApiKey

§

ProviderStepApiKeyWithHint

Fields

§hint: &'a str
§

ProviderStepApiKeySet

§

ProviderStepApiKeyUnset

§

ProviderStepModel

§

ProviderStepModelWithHint

Fields

§current: &'a str
§

ProviderNameEmpty

§

ProviderUnknownType

§

ProviderUnknownTypeEdit

§

ProviderModelEmpty

§

ProviderEditKeep

§

ModelSwitched

Fields

§provider: &'a str
§model: &'a str
§

SessionLoadFailed

Fields

§error: &'a str
§

SessionResumedLabel

Fields

§name: &'a str
§

SessionTimeJustNow

§

SessionTimeMinAgo

Fields

§

SessionTimeHourAgo

Fields

§

SessionTimeDayAgo

Fields

§

SessionMsgCount

Fields

§count: usize
§

SessionNameEmpty

§

SessionNameTooLong

Fields

§max: usize
§

SessionNameControlChars

§

SessionListFailed

Fields

§error: &'a str
§

SessionRenamed

Fields

§old: &'a str
§new: &'a str
§

SessionSaveFailed

Fields

§error: &'a str
§

SessionNoneSelected

§

SessionRenameEditing

Fields

§buffer: &'a str
§

DirCurrent

§

DirNotExists

Fields

§path: &'a str
§

DirChanged

Fields

§path: &'a str
§

DirNotADirectory

Fields

§path: &'a str
§

IssueCancelled

§

IssueNewOn

Fields

§owner: &'a str
§repo: &'a str
§

IssueStep1

§

IssueStep2

§

IssueTitleConfirmed

Fields

§title: &'a str
§

IssueRequiredField

Fields

§field: &'a str
§

IssueCreated

Fields

§number: u64
§title: &'a str
§url: &'a str
§

IssueCreateFailed

Fields

§error: &'a str
§

LanguageSwitched

Confirmation rendered to scrollback after the user picks a locale via /language (modal or arg). Already includes the leading “ “ indent and trailing “\n” so the call site is just renderer.render(UiLine::CommandOutput(t(Msg::LanguageSwitched { ... }).into_owned())).

Fields

§label: &'a str
§locale: &'a str
§

IdleHintPrefix

“type something, or press “ (text before the slash)

§

IdleHintSlash

“/” (the slash shortcut itself — kept separate for accent styling)

§

IdleHintSuffix

“ to browse commands“ (text after the slash)

§

IdleHintFull

Complete plain-text version: “type something, or press / to browse commands”

§

IdleHintProvider

“/provider” command label

§

IdleHintProviderSuffix

“to add a custom model” (text after /provider)

§

IdleHintProviderFull

Complete plain-text version: “/provider to add a custom model”

§

IdleHintCodingplan

“/codingplan” command label

§

IdleHintCodingplanSuffix

“to claim a free token quota” (text after /codingplan)

§

IdleHintCodingplanFull

Complete plain-text version: “/codingplan to claim a free token quota”

§

CmdSwitchedPlanMode

§

CmdSwitchedBuildMode

§

CmdNewSession

§

CmdNoProviders

§

CmdNoSessions

§

CmdUnknownCommand

Fields

§name: &'a str
§

CmdLoginFailed

Fields

§error: &'a str
§

CmdLogoutDone

§

CmdLogoutFailed

Fields

§error: &'a str
§

CmdWhoamiNotSignedIn

§

CmdReloadDone

Fields

§provider: &'a str
§model: &'a str
§

CmdReloadFailed

Fields

§error: &'a str
§

CmdUndoNotSupported

§

CmdNoChanges

§

CmdCheckingUpdate

§

CmdNoActiveProvider

§

ApprovalPromptAlt

Fields

§tool: &'a str
§detail: &'a str
§

ApprovalWaitingLabel

§

ApprovalAllow

§

ApprovalAlways

§

ApprovalDeny

§

Cancelled

§

ErrorPrefix

Fields

§msg: &'a str
§

UpgradeSuccess

Fields

§from: &'a str
§to: &'a str
§

UpgradeManifestFetched

Fields

§version: &'a str
§

UpgradeDownloading

Fields

§pct: i32
§bytes: u64
§total: u64
§

UpgradeVerifying

§

UpgradeReplacing

§

UpgradeDone

Fields

§version: &'a str
§backup: &'a str
§

UpgradeAlreadyLatest

Fields

§current: &'a str
§latest: &'a str
§

UpgradeFailed

Fields

§error: &'a str
§

UpgradeRolledBack

Fields

§exe: &'a str
§backup: &'a str
§

KbdHintMacos

§

KbdHintOther

§

JediTermFallback

§

LegacyConhostFallback

§

BackgroundComplete

Fields

§turns: usize
§

BackgroundFailed

Fields

§turns: usize
§

BackgroundFilesEdited

§

ConfigProviderLabel

Fields

§provider: &'a str
§path: &'a str
§

CostReport

Fields

§prompt: usize
§completion: usize
§cached: usize
§cache_rate: usize
§total: usize
§cost: &'a str
§

ThinkStatus

Fields

§status: &'a str
§budget: u32
§provider: &'a str
§

ThinkEnabled

Fields

§budget: u32
§

ThinkDisabled

§

ThinkBudgetSet

Fields

§

ThinkBudgetTooSmall

Fields

§

ThinkBudgetUsage

§

ThinkUsage

§

RememberUsage

§

ForgetUsage

§

BackgroundUsage

§

InitAlreadyExists

Fields

§path: &'a str
§

InitWrote

Fields

§path: &'a str
§bytes: usize
§

InitFailed

Fields

§error: &'a str
§

CdWorkingDir

Fields

§cwd: &'a str
§

DiffFailed

Fields

§error: &'a str
§

UpgradeUnknownArg

Fields

§arg: &'a str
§

SkillsNone

§

SkillsAvailable

§

SkillUnknown

Fields

§name: &'a str
§

McpReloading

Fields

§count: usize
§

McpConnecting

§

McpConnectingServer

Fields

§name: &'a str
§

McpNoServersConfigured

§

McpClearedReconnecting

Fields

§removed: usize
§

McpClearedNoServers

Fields

§removed: usize
§

McpToolsUsage

§

McpToolsListing

Fields

§server: &'a str
§

McpNoRegistry

§

McpServersHeader

§

McpReloadFailed

Fields

§error: &'a str
§

McpOAuthLoginUsage

§

McpOAuthLogoutUsage

§

McpOAuthLoadConfigFailed

Fields

§error: &'a str
§

McpOAuthServerNotFound

Fields

§server: &'a str
§

McpOAuthStarting

Fields

§server: &'a str
§

McpOAuthSaved

Fields

§provider: &'a str
§server: &'a str
§

McpOAuthFailed

Fields

§error: &'a str
§

McpOAuthTokenRemoved

Fields

§server: &'a str
§

McpOAuthNoToken

Fields

§server: &'a str
§

McpOAuthLogoutFailed

Fields

§error: &'a str
§

McpServerConnected

Fields

§name: &'a str
§

McpServerFailed

Fields

§name: &'a str
§error: &'a str
§

LspServerStarted

Fields

§name: &'a str
§ext: &'a str
§

LspServerFailed

Fields

§name: &'a str
§ext: &'a str
§error: &'a str
§

WorktreeUsage

§

WorktreeCreateUsage

§

WorktreeCreated

Fields

§branch: &'a str
§base: &'a str
§path: &'a str
§

WorktreeCreateFailed

Fields

§error: &'a str
§

WorktreeNoActive

§

WorktreeListFailed

Fields

§error: &'a str
§

WorktreeActiveHeader

§

WorktreeHasChanges

§

WorktreeClean

§

WorktreeCurrent

§

WorktreeDoneBack

Fields

§path: &'a str
§

WorktreeDoneMergeHint

Fields

§branch: &'a str
§

WorktreeNoSession

§

WorktreeCleanupUsage

§

WorktreeCleaned

Fields

§branch: &'a str
§

WorktreeCleanedSwitched

Fields

§path: &'a str
§

WorktreeCleanupUncommitted

Fields

§branch: &'a str
§

WorktreeCleanupFailed

Fields

§error: &'a str
§

HelpCustomCommandsHeader

§

HelpCustomNone

§

HelpCustomCreateHint

§

HelpSourceGlobal

§

HelpSourceProject

§

SetupHeader

Header line: “✅ Setup complete — 3 installed, 1 skipped, 0 failed · 120ms”

Fields

§installed: usize
§skipped: usize
§failed: usize
§duration_ms: u64
§

SetupInstalledLabel

“Installed:” section label in setup report.

§

SetupSkippedLabel

“Skipped:” section label in setup report.

§

SetupFailedLabel

“Failed:” section label in setup report.

§

SetupInstalledRow

Per-item installed row: “ ✓ skill:atomcode-automation-recommender → /path“

Fields

§kind: &'a str
§slug: &'a str
§path: &'a str
§

SetupSkippedRow

Per-item skipped row: “ - skill:xyz (hash match)“

Fields

§kind: &'a str
§slug: &'a str
§reason: &'a str
§

SetupFailedRow

Per-item failed row: “ ✗ mcp:xyz — error message“

Fields

§kind: &'a str
§slug: &'a str
§error: &'a str
§

CmdSetupTip

“💡 Tip: Run /setup …” — first-run hint shown above the prompt when the project has no setup state yet.

§

CmdSetupRunning

“Running atomcode setup…” — shown while setup is in progress.

§

CmdSetupSkillsReloaded

“Skills reloaded — N available” — after setup completes and skills are reloaded.

Fields

§count: usize
§

CmdSetupError

“setup error: {e}” — when setup::run returns an error.

Fields

§error: &'a str
§

CmdSetupRunningSkill

“Running setup skill…” — after seeds installed and skill is auto-invoked.

§

CmdSetupSkillMissing

“Setup skill not found…” — when the setup skill cannot be resolved or expanded.

§

PluginUsage

§

PluginMarketplaceUsage

§

PluginInstallUsage

§

PluginUninstallUsage

§

PluginNoMarketplaces

§

PluginMarketplacesHeader

§

PluginNoInstalled

§

PluginInstalledHeader

§

PluginMarketplaceCloning

Fields

§url: &'a str
§

PluginMarketplaceRemoved

Fields

§name: &'a str
§

PluginMarketplaceRemoveFailed

Fields

§error: &'a str
§

PluginMarketplaceUpdating

Fields

§name: &'a str
§

PluginMarketplaceListFailed

Fields

§error: &'a str
§

PluginInstalling

Fields

§plugin: &'a str
§marketplace: &'a str
§

PluginUninstalled

Fields

§plugin: &'a str
§marketplace: &'a str
§

PluginUninstallFailed

Fields

§error: &'a str
§

PluginListFailed

Fields

§error: &'a str
§

CmdDescSetup

§

CmdDescCodingplan

§

CmdDescResume

§

CmdDescRename

§

CmdDescLogin

§

CmdDescLogout

§

CmdDescWhoami

§

CmdDescModel

§

CmdDescProvider

§

CmdDescStatus

§

CmdDescConfig

§

CmdDescReload

§

CmdDescCd

§

CmdDescInit

§

CmdDescBg

§

CmdDescBackground

§

CmdDescDiff

§

CmdDescClear

§

CmdDescSession

§

CmdDescCost

§

CmdDescContext

§

CmdDescCompact

§

CmdDescRemember

§

CmdDescForget

§

CmdDescMemory

§

CmdDescMcp

§

CmdDescUndo

§

CmdDescWorktree

§

CmdDescUpgrade

§

CmdDescIssue

§

CmdDescPlan

§

CmdDescBuild

§

CmdDescThink

§

CmdDescHelp

§

CmdDescKeys

§

CmdDescLanguage

§

CmdDescQuit

§

CmdDescSkills

§

CmdDescPlugin

§

CmdDescPaste

Description for the /paste slash command — pulls a clipboard image and attaches it as [Image #N]. Exists for Windows users whose Ctrl+V is swallowed by Windows Terminal / conhost before reaching the app, but works on every platform.

§

CmdPasteNoImage

/paste failed because the clipboard holds no image. Shown in scrollback as an error line so the user isn’t left wondering whether the command did anything.

§

ConfigSaveFailed

Fields

§error: &'a str
§

OnboardingStepHeaderWelcome

§

OnboardingStepHeaderLanguage

§

OnboardingStepHeaderSetup

§

OnboardingPanelTitle

§

OnboardingIntroVersionLine

Fields

§v: &'a str
§

OnboardingIntroBullet1

§

OnboardingIntroBullet2

§

OnboardingIntroBullet3

§

OnboardingIntroPressEnter

§

OnboardingIntroCtrlC

§

OnboardingIntroCompactTagline

§

OnboardingLanguageTitleBilingual

§

OnboardingLanguagePrompt

§

OnboardingLanguageOptionAuto

§

OnboardingLanguageOptionEn

§

OnboardingLanguageOptionZhCn

§

OnboardingSetupTitle

§

OnboardingNavHint

§

OnboardingConfirmClear

§

CmdWelcomeDescription

§

VisionPreprocessSuccess

Vision preprocessor success banner. Shown as a body line right after a VL turn finishes, in the form ✓ VL recognised image, returned N chars (English) / ✓ VL 识别图片成功,返回 N chars (zh-CN). The model key trails as a dim suffix in the renderer — kept out of this message so the wrapper styling stays renderer-side.

Fields

§char_count: usize
§

TurnSummary

TurnComplete separator summary, e.g. ✓ Shipped · 3 rounds · 2 tools · 6.8s · 285 tokens done is a playful English verb from DONE_LABELS — kept English in every locale because translated cute verbs read awkward; the structural words (rounds/tools/tokens) localise. duration is a pre-formatted human string (e.g. “6.8s”).

Fields

§done: &'a str
§turn_count: usize
§tool_call_count: usize
§duration: &'a str
§total_tokens: usize
§

LoginQrHeader

Header above the QR block when scanning with WeChat is the expected flow. Includes the leading “ “ indent and trailing “\n\n” paragraph break that the caller used to inline.

§

LoginUrlAfterQr

Separator + URL prelude shown below the QR block when both QR and URL fallback are available. Leading “\n\n “ and trailing “\n “ are part of the template.

§

LoginNoQrNoUrl

QR + URL both unavailable (Unicode-incapable terminal AND a platform where URL-based login doesn’t work, e.g. OHOS).

§

LoginUrlOnly

URL-only header when QR can’t render but URL login works. Leading “ “ indent and trailing “\n “ before the URL.

§

LoginCancelHint

Footer line: “Press ESC to cancel” with surrounding blank-line padding.

§

CtxUsageHeader

§

CtxUsageNoTurns

§

CtxUsageWaiting

§

CtxProvider

§

CtxCtxName

§

CtxLabelSystemPrompt

§

CtxLabelToolDefs

§

CtxLabelColdZone

§

CtxLabelMessages

§

CtxLabelFree

§

CtxMessagesInWindow

Fields

§

CtxSystemPromptHeader

§

CtxSystemPromptEmpty

§

CtxTokensSuffix

Used in the “used/window tokens (pct)” line below the bar.

§

CompactNothingShort

§

CompactStarting

§

CompactNothingNoSavings

Fields

§before: &'a str
§after: &'a str
§

CompactDropped

Fields

§messages: usize
§before: &'a str
§after: &'a str
§

ModelNoImageSupport

Surfaced when the user pastes/attaches an image but the active model can’t accept images AND no vision_preprocessor_provider is configured. model is the current model identifier.

Fields

§model: &'a str
§

CtrlCAgainToExit

Confirmation hint after the first Ctrl+C on an empty buffer. “ (press Ctrl+C again to exit)\n“ — leading indent + trailing newline are part of the template.

§

HintMultiLineInput

Startup hint shown on terminals where Kitty CSI-u keyboard disambiguation isn’t available, telling the user the guaranteed-works \<Enter> multi-line trick. Multi-line payload with leading indent + trailing paragraph break.

§

BgHelp

Help text for /bg help. Multi-line string with leading indent and trailing newlines baked in.

§

BgListEmpty

Empty state for /bg list.

§

BgListHeader

Table header for /bg list. Trailing newline baked in.

§

BgListRow

Row format for /bg list. state is the localised state label, age is the humanised age string, summary is the session name.

Fields

§slot: usize
§short_id: &'a str
§state: &'a str
§age: &'a str
§summary: &'a str
§

BgStateRunning

Localised label for RuntimeState::Running.

§

BgStateIdle

Localised label for RuntimeState::Idle.

§

BgStateDone

Localised label for RuntimeState::Done.

§

BgStateCancelled

Localised label for RuntimeState::Cancelled.

§

BgStateError

Localised label for RuntimeState::Error.

§

BgAgeNow

Age string: less than 60 seconds.

§

BgAgeMinutes

Age string: minutes. n is the number of minutes.

Fields

§

BgAgeHours

Age string: hours. n is the number of hours.

Fields

§

BgAgeDays

Age string: days. n is the number of days.

Fields

§

BgSlotLimitReached

Error: too many background slots. max is the slot limit.

Fields

§max: usize
§

BgBackgroundCurrent

Output after /bg sends the current session to background. new_id is the new foreground session short id, slot is the background slot number, old_id is the backgrounded session short id, state is the localised runtime state.

Fields

§new_id: &'a str
§slot: usize
§old_id: &'a str
§state: &'a str
§

BgInvalidSlot

Error: invalid slot number. slot is the requested slot, available is the number of available slots.

Fields

§slot: usize
§available: usize
§

BgNoRuntimeClient

Error: background slot has no runtime client.

§

BgResumed

Output after /bg <N> resumes a background session. slot is the resumed slot, short_id is the session short id.

Fields

§slot: usize
§short_id: &'a str
§

BgPreviousForegroundMoved

When resuming moves the previous foreground into a background slot. slot is the new background slot number.

Fields

§slot: usize
§

BgDropped

Output after /bg drop <N>. slot is the dropped slot, short_id is the session short id.

Fields

§slot: usize
§short_id: &'a str
§

BgTaskStarted

Output after /background <task> starts a one-shot task. slot is the background slot, short_id is the session short id.

Fields

§slot: usize
§short_id: &'a str
§

BgTaskTimedOut

Background task timed out. secs is the timeout in seconds.

Fields

§secs: u64
§

BgTaskError

Background task internal error. error is the error message.

Fields

§error: &'a str
§

BgTaskCancelled

Background task was cancelled.

§

BgTaskNoSummary

Background task finished but produced no summary text.

Auto Trait Implementations§

§

impl<'a> Freeze for Msg<'a>

§

impl<'a> RefUnwindSafe for Msg<'a>

§

impl<'a> Send for Msg<'a>

§

impl<'a> Sync for Msg<'a>

§

impl<'a> Unpin for Msg<'a>

§

impl<'a> UnsafeUnpin for Msg<'a>

§

impl<'a> UnwindSafe for Msg<'a>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more