2026-04-24 13:17:00 +01:00
{
"mention.missing_prompt" : [
2026-04-25 02:18:11 +01:00
"You mentioned the bot, but there was no actual question attached." ,
"I can help, but I need a real prompt after the mention."
2026-04-24 13:17:00 +01:00
] ,
"config.set_style.forbidden" : [
2026-04-25 02:18:11 +01:00
"Only admins are allowed to change the style pack." ,
"Tone control is restricted to admins."
2026-04-24 13:17:00 +01:00
] ,
"config.set_style.reloaded" : [
2026-04-25 02:18:11 +01:00
"Reloaded style pack `{stylePackName}` from `{stylePackPath}` and refreshed stock messages from `{systemMessagesPath}`." ,
"Updated the style pack to `{stylePackName}` from `{stylePackPath}` and reloaded messages from `{systemMessagesPath}`."
2026-04-24 13:17:00 +01:00
] ,
"config.set_style.style_missing" : [
2026-04-25 02:18:11 +01:00
"Reloaded stock messages from `{systemMessagesPath}`, but there was no style pack at `{stylePackPath}`." ,
"Message catalog refreshed from `{systemMessagesPath}`. The style pack at `{stylePackPath}` is missing."
2026-04-24 13:17:00 +01:00
] ,
"command.unimplemented" : [
2026-04-25 02:18:11 +01:00
"That command exists, but the implementation behind it does not." ,
"The command is present. The machinery behind it is not."
2026-04-24 13:17:00 +01:00
] ,
"error.with_message" : [
2026-04-25 02:18:11 +01:00
"Something failed: {errorMessage}" ,
"The machinery hit an error: {errorMessage}"
2026-04-24 13:17:00 +01:00
] ,
"error.generic" : [
2026-04-25 02:18:11 +01:00
"Something failed, and the error was annoyingly vague." ,
"Something broke, and I did not get a useful explanation."
2026-04-24 13:17:00 +01:00
] ,
"provider.none_available" : [
2026-04-25 02:18:11 +01:00
"No provider is available right now." ,
"There is no available provider for this request right now."
2026-04-24 13:17:00 +01:00
] ,
"provider.missing_registration" : [
2026-04-25 02:18:11 +01:00
"`{providerName}` is not registered." ,
"That provider name leads nowhere. `{providerName}` is not configured."
2026-04-24 13:17:00 +01:00
] ,
"provider.access_denied.generic" : [
2026-04-25 02:18:11 +01:00
"That provider is not available to you." ,
"Access denied for that provider."
2026-04-24 13:17:00 +01:00
] ,
2026-04-26 01:39:42 +01:00
"rate_limit.cooldown" : [
"Easy. Wait {retryAfter} before asking again." ,
"Not yet. Give it {retryAfter} before the next request."
] ,
"rate_limit.daily_limit" : [
"You hit today's cap of {dailyLimit} requests. It resets at {resetsAt}." ,
"Today's limit is spent: {dailyLimit} requests. Try again after {resetsAt}."
] ,
2026-04-24 13:17:00 +01:00
"permission.owner_codex.denied" : [
2026-04-25 02:18:11 +01:00
"The owner Codex provider is restricted to the configured owner account." ,
"That lane is reserved for the configured owner account."
2026-04-24 13:17:00 +01:00
] ,
"permission.local_llm.denied" : [
2026-04-25 02:18:11 +01:00
"The local model is currently limited to admins and the configured owner." ,
"Access to the local model is restricted right now."
2026-04-24 13:17:00 +01:00
] ,
"job.owner.awaiting_run_approval" : [
2026-04-25 02:18:11 +01:00
"Owner job `{jobId}` is waiting. Approve it with `/approve-job job-id:{jobId}` to prepare the manual bundle." ,
"Owner job `{jobId}` is queued for manual handling. Use `/approve-job job-id:{jobId}` when you want the bundle generated."
2026-04-24 13:17:00 +01:00
] ,
"job.owner.auto_queued" : [
2026-04-25 02:18:11 +01:00
"Owner job `{jobId}` is queued. If it stays short and read-only, the reply will come back here. If not, it will hand off to the fuller Codex flow." ,
"Owner job `{jobId}` is in motion. Small read-only work stays here. Bigger work gets handed off."
2026-04-24 13:17:00 +01:00
] ,
"job.owner.queue_failed_dm" : [
2026-04-25 02:18:11 +01:00
"I could not queue your request from `{channelName}`. Error: {errorMessage}" ,
"The queue step failed for your request in `{channelName}`. Error: {errorMessage}"
2026-04-24 13:17:00 +01:00
] ,
"job.owner.worker_failed_dm" : [
2026-04-25 02:18:11 +01:00
"Job `{jobId}` failed while `{providerName}` was handling `{command}`. Error: {errorMessage}" ,
"The worker hit a failure on job `{jobId}` during `{command}` with `{providerName}`. Error: {errorMessage}"
2026-04-24 13:17:00 +01:00
] ,
"job.not_found" : [
2026-04-25 02:18:11 +01:00
"I cannot find job `{jobId}`." ,
"There is no record of job `{jobId}`."
2026-04-24 13:17:00 +01:00
] ,
"job.approval_forbidden" : [
2026-04-25 02:18:11 +01:00
"You are not allowed to approve that job." ,
"Approval for that job is not available to you."
2026-04-24 13:17:00 +01:00
] ,
"job.run_approved" : [
2026-04-25 02:18:11 +01:00
"Job `{jobId}` is approved. The worker will pick it up on the next pass." ,
"Approval recorded for job `{jobId}`. The worker should handle it shortly."
2026-04-24 13:17:00 +01:00
] ,
"job.post_approval.needs_response" : [
2026-04-25 02:18:11 +01:00
"That job is waiting for post approval. Put the final response in the optional response field." ,
"I can post the result once you supply the final response in the optional response field."
2026-04-24 13:17:00 +01:00
] ,
"job.post_approved" : [
2026-04-25 02:18:11 +01:00
"Final reply posted for job `{jobId}`." ,
"Job `{jobId}` has been posted."
2026-04-24 13:17:00 +01:00
] ,
"job.no_action_for_state" : [
2026-04-25 02:18:11 +01:00
"Job `{jobId}` is in state `{jobState}`, so there is nothing to approve." ,
"No approval action is needed for job `{jobId}` while it is in `{jobState}`."
2026-04-24 13:17:00 +01:00
] ,
"job.rejection_forbidden" : [
2026-04-25 02:18:11 +01:00
"You are not allowed to reject that job." ,
"Rejection for that job is not available to you."
2026-04-24 13:17:00 +01:00
] ,
"job.rejected" : [
2026-04-25 02:18:11 +01:00
"Job `{jobId}` has been rejected." ,
"Dismissed job `{jobId}`."
2026-04-24 13:17:00 +01:00
] ,
"history.no_results" : [
2026-04-25 02:18:11 +01:00
"No indexed history matched that query." ,
"I searched the archive and found nothing for that query."
2026-04-24 13:17:00 +01:00
] ,
"history.results_intro" : [
2026-04-25 02:18:11 +01:00
"Here are the relevant history hits:" ,
"These are the archive results that looked useful:"
2026-04-24 13:17:00 +01:00
] ,
"summarize.no_messages" : [
2026-04-25 02:18:11 +01:00
"There are no recent messages here to summarize." ,
"This channel is too quiet to summarize right now."
2026-04-24 13:17:00 +01:00
] ,
"summarize.results_intro" : [
2026-04-25 02:18:11 +01:00
"Here is a quick summary of the recent conversation:" ,
"Brief summary of the recent messages:"
2026-04-24 13:17:00 +01:00
] ,
"reindex.forbidden" : [
2026-04-25 02:18:11 +01:00
"Only admins are allowed to reindex the archive." ,
"Reindexing is restricted to admins."
2026-04-24 13:17:00 +01:00
] ,
"reindex.excluded" : [
2026-04-25 02:18:11 +01:00
"This channel is excluded from indexing." ,
"This channel is not configured for ingestion."
2026-04-24 13:17:00 +01:00
] ,
"reindex.unsupported_channel" : [
2026-04-25 02:18:11 +01:00
"This channel does not expose message history, so there is nothing to reindex." ,
"Reindexing is not supported here because there is no message history to read."
2026-04-24 13:17:00 +01:00
] ,
"reindex.completed" : [
2026-04-25 02:18:11 +01:00
"Reindexing complete. I walked {archivedMessages} messages: created {createdMessages}, updated {updatedMessages}, left {unchangedMessages} untouched, and indexed {indexedChunks} chunks." ,
"Archive sweep finished. I reviewed {archivedMessages} messages, created {createdMessages}, updated {updatedMessages}, skipped {unchangedMessages}, and produced {indexedChunks} chunks."
2026-04-24 13:17:00 +01:00
] ,
"provider_status.intro" : [
2026-04-25 02:18:11 +01:00
"Current provider status:" ,
"Here is the current state of the configured providers:"
2026-04-24 13:17:00 +01:00
] ,
2026-05-02 21:22:56 +01:00
"profile.dm_sent" : [
"I sent your current profile read by DM." ,
"Your profile read is in your DMs."
] ,
"profile.dm_failed" : [
"I tried to DM your profile, but Discord would not let me through." ,
"I could not deliver the profile DM. Your privacy settings or DM permissions may be in the way."
] ,
2026-04-24 13:17:00 +01:00
"owner_codex.handoff_notice" : [
2026-04-25 02:18:11 +01:00
"This request needs the fuller Codex flow. Check `{handoffPath}` and `{debugPath}` in the local workspace." ,
"This request is leaving Discord. Continue from `{handoffPath}` and use `{debugPath}` for the trace."
2026-04-24 13:17:00 +01:00
]
}