diff --git a/hermes_cli/commands.py b/hermes_cli/commands.py index 60ce9ea13aa6..956880173617 100644 --- a/hermes_cli/commands.py +++ b/hermes_cli/commands.py @@ -1179,11 +1179,10 @@ _SLACK_PRIORITY_ALIASES = ("btw", "bg") # - init: repo-scan AGENTS.md bootstrap — a cwd-centric dev command that is # rare from Slack; reachable as /hermes init. Without this entry, adding # /init clamps /version off the native list and breaks Telegram parity. -_SLACK_VIA_HERMES_ONLY = frozenset({"topup", "moa", "debug", "egress", "init"}) # - version: low-frequency info command; reachable as /hermes version on # Slack. Demoted when /context claimed a native slot (context is a # recurring inspection surface; version is a one-off lookup). -_SLACK_VIA_HERMES_ONLY = frozenset({"topup", "moa", "debug", "egress", "version"}) +_SLACK_VIA_HERMES_ONLY = frozenset({"topup", "moa", "debug", "egress", "init", "version"}) def _sanitize_slack_name(raw: str) -> str: diff --git a/locales/ar.yaml b/locales/ar.yaml index eb53bcb3350f..cc4bd05c8174 100644 --- a/locales/ar.yaml +++ b/locales/ar.yaml @@ -25,6 +25,24 @@ approval: blocklist_message: "هذا الأمر مدرج في قائمة الحظر غير المشروطة ولا يمكن الموافقة عليه." gateway: + context: + header: "🧠 **Context Window**" + model: "Model: `{model}`" + window: "Window: {total} tokens" + in_use: "In use: {used} / {total} ({pct}%)" + bar: "{bar}" + headroom: "Headroom to limit: {headroom} tokens" + threshold: "Auto-compresses at: {threshold} ({threshold_pct}%) — {to_go} to go" + over_threshold: "⚠️ **Over auto-compression threshold ({threshold}, {threshold_pct}%)**" + compressions: "Compressions this session: {count}" + last_savings: "Last compression freed: {savings}% of context" + totals_header: "Session totals (cumulative across {calls} API calls)" + totals_line: "Input {input} · Output {output} · Reasoning {reasoning}" + total_billed: "Total billed: {total}" + throughput_note: "_Throughput, not context size — each call re-sends the window above._" + estimated: "Estimated context: ~{count} tokens across {messages} messages" + detail_after_first: "_(Full compression and throughput stats available after the first agent response)_" + no_data: "No context data available yet. Send a message to start a session." approval_expired: "⚠️ انتهت صلاحية الموافقة (لم يعد الوكيل ينتظر). اطلب من الوكيل المحاولة مرة أخرى." draining: "⏳ جارٍ إنهاء {count} وكيل نشط قبل إعادة التشغيل..." goal_cleared: "✓ تم مسح الهدف."