From ac9fcce0fb8f659565cc611e792a2cdca4291a9e Mon Sep 17 00:00:00 2001 From: cynarAI <155274210+cynarAI@users.noreply.github.com> Date: Mon, 19 Oct 2026 17:29:31 +0200 Subject: [PATCH] feat(web): show routines with quick toggle in project overview sidebar --- apps/web/src/locales/de/messages.po | 48 ++-- apps/web/src/locales/en/messages.po | 48 ++-- apps/web/src/locales/es/messages.po | 46 ++-- apps/web/src/locales/hi/messages.po | 46 ++-- apps/web/src/locales/ko/messages.po | 46 ++-- apps/web/src/locales/pt-BR/messages.po | 46 ++-- apps/web/src/locales/ru/messages.po | 46 ++-- apps/web/src/locales/tr/messages.po | 46 ++-- apps/web/src/locales/zh-CN/messages.po | 46 ++-- apps/web/src/pages/Shell.tsx | 228 +++++++++++++++--- .../src/pages/shell/project-overview.test.tsx | 142 +++++++++++ apps/web/src/pages/shell/project-overview.tsx | 66 ++++- 12 files changed, 680 insertions(+), 174 deletions(-) create mode 100644 apps/web/src/pages/shell/project-overview.test.tsx diff --git a/apps/web/src/locales/de/messages.po b/apps/web/src/locales/de/messages.po index c315583..48fbb68 100644 --- a/apps/web/src/locales/de/messages.po +++ b/apps/web/src/locales/de/messages.po @@ -386,10 +386,6 @@ msgstr "{title}, {label}" msgid "{toolCount, plural, one {# tool} other {# tools}}" msgstr "{toolCount, plural, one {# Tool} other {# Tools}}" -#: src/pages/shell/transcript.tsx -msgid "{workingBotName} is working" -msgstr "{workingBotName} arbeitet" - #: src/pages/shell/dialogs.tsx #: src/pages/shell/project-look-dialog.tsx msgid "/Users/you/projects/acme" @@ -549,6 +545,7 @@ msgid "Add Executor" msgstr "Executor hinzufügen" #: src/pages/ProjectSessionTimeline.tsx +#: src/pages/shell/project-overview.tsx msgid "Add goal" msgstr "Ziel hinzufügen" @@ -737,6 +734,14 @@ msgstr "Immer erlaubt" msgid "Analysiert die Aufgabe und führt Tools aus…" msgstr "Analysiert die Aufgabe und führt Tools aus…" +#: src/pages/Shell.tsx +msgid "Analyze the project and give me a brief overview." +msgstr "Analysiere das Projekt und gib mir einen kurzen Überblick." + +#: src/pages/shell/project-overview.tsx +msgid "Analyzing project…" +msgstr "Projekt wird analysiert…" + #: src/components/AskCard.tsx msgid "Answer" msgstr "Antwort" @@ -1031,10 +1036,6 @@ msgstr "Zu verknüpfender Bot" msgid "Bots act without asking by default. Add an exception only when you want to review a type of action first." msgstr "Bots handeln standardmäßig ohne Nachfrage. Füge nur dann eine Ausnahme hinzu, wenn du eine Aktionsart zuerst prüfen möchtest." -#: src/pages/shell/transcript.tsx -msgid "Bots are working" -msgstr "Bots arbeiten" - #: src/components/OoAtelier.tsx msgid "Bow" msgstr "Schleife" @@ -2983,10 +2984,11 @@ msgid "Here's what I see in the logs…" msgstr "Das sehe ich in den Logs…" #: src/pages/VoiceSettingsOverlay.tsx -msgid "Hi, this is how I'll sound when I read replies out loud." -msgstr "Hallo, so klinge ich, wenn ich Antworten vorlese." +msgid "Hi, this is how I'll sound when we talk." +msgstr "Hallo, so klinge ich, wenn wir miteinander sprechen." #: src/pages/Shell.tsx +#: src/pages/shell/sidebar-header.tsx msgid "Hide bots" msgstr "Bots ausblenden" @@ -3174,6 +3176,10 @@ msgstr "Zur neuesten Nachricht springen" msgid "Jump to replied message" msgstr "Zur beantworteten Nachricht springen" +#: src/pages/shell/project-overview.tsx +msgid "Just ask in the chat whenever something should happen regularly." +msgstr "Sag einfach im Chat Bescheid, wenn etwas regelmäßig erledigt werden soll." + #: src/pages/ActivityList.tsx #: src/pages/ProjectSessionTimeline.tsx msgid "just now" @@ -3899,6 +3905,7 @@ msgid "No results" msgstr "Keine Ergebnisse" #: src/pages/RoutineEditor.tsx +#: src/pages/shell/project-overview.tsx msgid "No runs yet" msgstr "Noch keine Ausführungen" @@ -3957,6 +3964,7 @@ msgid "Notifications" msgstr "Benachrichtigungen" #: src/pages/ActivityList.tsx +#: src/pages/shell/project-overview.tsx msgid "Now" msgstr "Jetzt" @@ -4288,10 +4296,6 @@ msgstr "Privater Arbeitsbereich mit eigenen Bots und Gruppen." msgid "Project" msgstr "Projekt" -#: src/pages/Shell.tsx -msgid "Project · sessions & folders" -msgstr "Projekt · Sessions & Ordner" - #: src/pages/shell/dialogs.tsx #: src/pages/shell/project-look-dialog.tsx msgid "Project folder" @@ -4399,6 +4403,10 @@ msgstr "Lese den Stacktrace…" msgid "Ready" msgstr "Bereit" +#: src/pages/shell/project-overview.tsx +msgid "Ready" +msgstr "Bereit" + #: src/pages/ModelSettingsOverlay.tsx msgid "Reasoning effort" msgstr "Denkaufwand" @@ -4412,6 +4420,7 @@ msgid "Recall only" msgstr "Nur abrufen" #: src/pages/ActivityList.tsx +#: src/pages/shell/project-overview.tsx msgid "Recent" msgstr "Kürzlich" @@ -4700,11 +4709,13 @@ msgstr "Rund" #: src/pages/RoutineEditor.tsx #: src/pages/Shell.tsx +#: src/pages/shell/project-overview.tsx #: src/pages/shell/routine-event-line.tsx msgid "Routine" msgstr "Routine" #: src/pages/RoutineEditor.tsx +#: src/pages/shell/project-overview.tsx msgid "Routines" msgstr "Routinen" @@ -4718,6 +4729,7 @@ msgid "Run at" msgstr "Ausführen um" #: src/pages/RoutineEditor.tsx +#: src/pages/shell/project-overview.tsx msgid "Run history" msgstr "Ausführungsverlauf" @@ -5037,6 +5049,7 @@ msgstr "Mehr anzeigen" msgid "Show password" msgstr "Passwort anzeigen" +#: src/pages/shell/project-overview.tsx #: src/pages/shell/side-panel-header.tsx msgid "Show settings" msgstr "Einstellungen anzeigen" @@ -5398,6 +5411,7 @@ msgstr "Aufgabe wird angelernt. Beende das Anlernen, bevor du eine neue Nachrich #: src/pages/ProjectSessionTimeline.tsx #: src/pages/shell/bot-panel.tsx +#: src/pages/shell/project-overview.tsx msgid "Team" msgstr "Team" @@ -5995,6 +6009,7 @@ msgid "Work channel open — go ahead." msgstr "Arbeitskanal offen — leg los." #: src/components/stage/OoStage.tsx +#: src/pages/shell/project-overview.tsx msgid "Working" msgstr "Arbeitet" @@ -6037,6 +6052,7 @@ msgstr "Gestern" #: src/components/UserProfileSettings.tsx #: src/components/voice/VoiceStage.tsx #: src/pages/Shell.tsx +#: src/pages/shell/transcript.tsx msgid "You" msgstr "Du" @@ -6077,8 +6093,8 @@ msgid "Your name" msgstr "Dein Name" #: src/pages/VoiceSettingsOverlay.tsx -msgid "Your Oo reads replies aloud when this is on." -msgstr "Wenn das an ist, liest dein Oo Antworten vor." +msgid "Your Oo talks with you naturally when this is on." +msgstr "Wenn das an ist, spricht dein Oo ganz natürlich mit dir." #: src/pages/Onboarding.tsx msgid "Your Oo will communicate in this language. You can change it later." diff --git a/apps/web/src/locales/en/messages.po b/apps/web/src/locales/en/messages.po index 60c0cdd..760afa8 100644 --- a/apps/web/src/locales/en/messages.po +++ b/apps/web/src/locales/en/messages.po @@ -386,10 +386,6 @@ msgstr "{title}, {label}" msgid "{toolCount, plural, one {# tool} other {# tools}}" msgstr "{toolCount, plural, one {# tool} other {# tools}}" -#: src/pages/shell/transcript.tsx -msgid "{workingBotName} is working" -msgstr "{workingBotName} is working" - #: src/pages/shell/dialogs.tsx #: src/pages/shell/project-look-dialog.tsx msgid "/Users/you/projects/acme" @@ -549,6 +545,7 @@ msgid "Add Executor" msgstr "Add Executor" #: src/pages/ProjectSessionTimeline.tsx +#: src/pages/shell/project-overview.tsx msgid "Add goal" msgstr "Add goal" @@ -737,6 +734,14 @@ msgstr "Always allowed" msgid "Analysiert die Aufgabe und führt Tools aus…" msgstr "Analysiert die Aufgabe und führt Tools aus…" +#: src/pages/Shell.tsx +msgid "Analyze the project and give me a brief overview." +msgstr "Analyze the project and give me a brief overview." + +#: src/pages/shell/project-overview.tsx +msgid "Analyzing project…" +msgstr "Analyzing project…" + #: src/components/AskCard.tsx msgid "Answer" msgstr "Answer" @@ -1031,10 +1036,6 @@ msgstr "Bot to link" msgid "Bots act without asking by default. Add an exception only when you want to review a type of action first." msgstr "Bots act without asking by default. Add an exception only when you want to review a type of action first." -#: src/pages/shell/transcript.tsx -msgid "Bots are working" -msgstr "Bots are working" - #: src/components/OoAtelier.tsx msgid "Bow" msgstr "Bow" @@ -2983,10 +2984,11 @@ msgid "Here's what I see in the logs…" msgstr "Here's what I see in the logs…" #: src/pages/VoiceSettingsOverlay.tsx -msgid "Hi, this is how I'll sound when I read replies out loud." -msgstr "Hi, this is how I'll sound when I read replies out loud." +msgid "Hi, this is how I'll sound when we talk." +msgstr "Hi, this is how I'll sound when we talk." #: src/pages/Shell.tsx +#: src/pages/shell/sidebar-header.tsx msgid "Hide bots" msgstr "Hide bots" @@ -3174,6 +3176,10 @@ msgstr "Jump to latest" msgid "Jump to replied message" msgstr "Jump to replied message" +#: src/pages/shell/project-overview.tsx +msgid "Just ask in the chat whenever something should happen regularly." +msgstr "Just ask in the chat whenever something should happen regularly." + #: src/pages/ActivityList.tsx #: src/pages/ProjectSessionTimeline.tsx msgid "just now" @@ -3899,6 +3905,7 @@ msgid "No results" msgstr "No results" #: src/pages/RoutineEditor.tsx +#: src/pages/shell/project-overview.tsx msgid "No runs yet" msgstr "No runs yet" @@ -3957,6 +3964,7 @@ msgid "Notifications" msgstr "Notifications" #: src/pages/ActivityList.tsx +#: src/pages/shell/project-overview.tsx msgid "Now" msgstr "Now" @@ -4288,10 +4296,6 @@ msgstr "Private workspace with its own bots and groups." msgid "Project" msgstr "Project" -#: src/pages/Shell.tsx -msgid "Project · sessions & folders" -msgstr "Project · sessions & folders" - #: src/pages/shell/dialogs.tsx #: src/pages/shell/project-look-dialog.tsx msgid "Project folder" @@ -4399,6 +4403,10 @@ msgstr "Reading the stack trace…" msgid "Ready" msgstr "Ready" +#: src/pages/shell/project-overview.tsx +msgid "Ready" +msgstr "Ready" + #: src/pages/ModelSettingsOverlay.tsx msgid "Reasoning effort" msgstr "Reasoning effort" @@ -4412,6 +4420,7 @@ msgid "Recall only" msgstr "Recall only" #: src/pages/ActivityList.tsx +#: src/pages/shell/project-overview.tsx msgid "Recent" msgstr "Recent" @@ -4700,11 +4709,13 @@ msgstr "Round" #: src/pages/RoutineEditor.tsx #: src/pages/Shell.tsx +#: src/pages/shell/project-overview.tsx #: src/pages/shell/routine-event-line.tsx msgid "Routine" msgstr "Routine" #: src/pages/RoutineEditor.tsx +#: src/pages/shell/project-overview.tsx msgid "Routines" msgstr "Routines" @@ -4718,6 +4729,7 @@ msgid "Run at" msgstr "Run at" #: src/pages/RoutineEditor.tsx +#: src/pages/shell/project-overview.tsx msgid "Run history" msgstr "Run history" @@ -5037,6 +5049,7 @@ msgstr "Show more" msgid "Show password" msgstr "Show password" +#: src/pages/shell/project-overview.tsx #: src/pages/shell/side-panel-header.tsx msgid "Show settings" msgstr "Show settings" @@ -5398,6 +5411,7 @@ msgstr "Teaching in progress. Stop teaching before sending a new message." #: src/pages/ProjectSessionTimeline.tsx #: src/pages/shell/bot-panel.tsx +#: src/pages/shell/project-overview.tsx msgid "Team" msgstr "Team" @@ -5995,6 +6009,7 @@ msgid "Work channel open — go ahead." msgstr "Work channel open — go ahead." #: src/components/stage/OoStage.tsx +#: src/pages/shell/project-overview.tsx msgid "Working" msgstr "Working" @@ -6037,6 +6052,7 @@ msgstr "Yesterday" #: src/components/UserProfileSettings.tsx #: src/components/voice/VoiceStage.tsx #: src/pages/Shell.tsx +#: src/pages/shell/transcript.tsx msgid "You" msgstr "You" @@ -6077,8 +6093,8 @@ msgid "Your name" msgstr "Your name" #: src/pages/VoiceSettingsOverlay.tsx -msgid "Your Oo reads replies aloud when this is on." -msgstr "Your Oo reads replies aloud when this is on." +msgid "Your Oo talks with you naturally when this is on." +msgstr "Your Oo talks with you naturally when this is on." #: src/pages/Onboarding.tsx msgid "Your Oo will communicate in this language. You can change it later." diff --git a/apps/web/src/locales/es/messages.po b/apps/web/src/locales/es/messages.po index 8c0fe44..7fb5ef1 100644 --- a/apps/web/src/locales/es/messages.po +++ b/apps/web/src/locales/es/messages.po @@ -386,10 +386,6 @@ msgstr "{title}, {label}" msgid "{toolCount, plural, one {# tool} other {# tools}}" msgstr "" -#: src/pages/shell/transcript.tsx -msgid "{workingBotName} is working" -msgstr "{workingBotName} está trabajando" - #: src/pages/shell/dialogs.tsx #: src/pages/shell/project-look-dialog.tsx msgid "/Users/you/projects/acme" @@ -549,6 +545,7 @@ msgid "Add Executor" msgstr "Agregar Executor" #: src/pages/ProjectSessionTimeline.tsx +#: src/pages/shell/project-overview.tsx msgid "Add goal" msgstr "" @@ -737,6 +734,14 @@ msgstr "Siempre permitido" msgid "Analysiert die Aufgabe und führt Tools aus…" msgstr "" +#: src/pages/Shell.tsx +msgid "Analyze the project and give me a brief overview." +msgstr "" + +#: src/pages/shell/project-overview.tsx +msgid "Analyzing project…" +msgstr "" + #: src/components/AskCard.tsx msgid "Answer" msgstr "Responder" @@ -1031,10 +1036,6 @@ msgstr "Bot a vincular" msgid "Bots act without asking by default. Add an exception only when you want to review a type of action first." msgstr "Los bots actúan sin preguntar de forma predeterminada. Agrega una excepción solo cuando quieras revisar primero un tipo de acción." -#: src/pages/shell/transcript.tsx -msgid "Bots are working" -msgstr "Los bots están trabajando" - #: src/components/OoAtelier.tsx msgid "Bow" msgstr "" @@ -2983,10 +2984,11 @@ msgid "Here's what I see in the logs…" msgstr "" #: src/pages/VoiceSettingsOverlay.tsx -msgid "Hi, this is how I'll sound when I read replies out loud." -msgstr "Hola, así sonaré cuando lea las respuestas en voz alta." +msgid "Hi, this is how I'll sound when we talk." +msgstr "" #: src/pages/Shell.tsx +#: src/pages/shell/sidebar-header.tsx msgid "Hide bots" msgstr "" @@ -3174,6 +3176,10 @@ msgstr "Ir al más reciente" msgid "Jump to replied message" msgstr "Ir al mensaje respondido" +#: src/pages/shell/project-overview.tsx +msgid "Just ask in the chat whenever something should happen regularly." +msgstr "" + #: src/pages/ActivityList.tsx #: src/pages/ProjectSessionTimeline.tsx msgid "just now" @@ -3899,6 +3905,7 @@ msgid "No results" msgstr "Sin resultados" #: src/pages/RoutineEditor.tsx +#: src/pages/shell/project-overview.tsx msgid "No runs yet" msgstr "Aún no hay ejecuciones" @@ -3957,6 +3964,7 @@ msgid "Notifications" msgstr "Notificaciones" #: src/pages/ActivityList.tsx +#: src/pages/shell/project-overview.tsx msgid "Now" msgstr "Ahora" @@ -4288,10 +4296,6 @@ msgstr "" msgid "Project" msgstr "" -#: src/pages/Shell.tsx -msgid "Project · sessions & folders" -msgstr "" - #: src/pages/shell/dialogs.tsx #: src/pages/shell/project-look-dialog.tsx msgid "Project folder" @@ -4399,6 +4403,10 @@ msgstr "" msgid "Ready" msgstr "" +#: src/pages/shell/project-overview.tsx +msgid "Ready" +msgstr "" + #: src/pages/ModelSettingsOverlay.tsx msgid "Reasoning effort" msgstr "Esfuerzo de razonamiento" @@ -4412,6 +4420,7 @@ msgid "Recall only" msgstr "" #: src/pages/ActivityList.tsx +#: src/pages/shell/project-overview.tsx msgid "Recent" msgstr "Recientes" @@ -4700,11 +4709,13 @@ msgstr "" #: src/pages/RoutineEditor.tsx #: src/pages/Shell.tsx +#: src/pages/shell/project-overview.tsx #: src/pages/shell/routine-event-line.tsx msgid "Routine" msgstr "Rutina" #: src/pages/RoutineEditor.tsx +#: src/pages/shell/project-overview.tsx msgid "Routines" msgstr "Rutinas" @@ -4718,6 +4729,7 @@ msgid "Run at" msgstr "Ejecutar a las" #: src/pages/RoutineEditor.tsx +#: src/pages/shell/project-overview.tsx msgid "Run history" msgstr "Historial de ejecuciones" @@ -5037,6 +5049,7 @@ msgstr "Mostrar más" msgid "Show password" msgstr "Mostrar contraseña" +#: src/pages/shell/project-overview.tsx #: src/pages/shell/side-panel-header.tsx msgid "Show settings" msgstr "Mostrar configuración" @@ -5398,6 +5411,7 @@ msgstr "Enseñanza en curso: detén la enseñanza antes de enviar un nuevo mensa #: src/pages/ProjectSessionTimeline.tsx #: src/pages/shell/bot-panel.tsx +#: src/pages/shell/project-overview.tsx msgid "Team" msgstr "Equipo" @@ -5995,6 +6009,7 @@ msgid "Work channel open — go ahead." msgstr "" #: src/components/stage/OoStage.tsx +#: src/pages/shell/project-overview.tsx msgid "Working" msgstr "" @@ -6037,6 +6052,7 @@ msgstr "Ayer" #: src/components/UserProfileSettings.tsx #: src/components/voice/VoiceStage.tsx #: src/pages/Shell.tsx +#: src/pages/shell/transcript.tsx msgid "You" msgstr "Tú" @@ -6077,7 +6093,7 @@ msgid "Your name" msgstr "Tu nombre" #: src/pages/VoiceSettingsOverlay.tsx -msgid "Your Oo reads replies aloud when this is on." +msgid "Your Oo talks with you naturally when this is on." msgstr "" #: src/pages/Onboarding.tsx diff --git a/apps/web/src/locales/hi/messages.po b/apps/web/src/locales/hi/messages.po index e195083..e08d23e 100644 --- a/apps/web/src/locales/hi/messages.po +++ b/apps/web/src/locales/hi/messages.po @@ -386,10 +386,6 @@ msgstr "{title}, {label}" msgid "{toolCount, plural, one {# tool} other {# tools}}" msgstr "" -#: src/pages/shell/transcript.tsx -msgid "{workingBotName} is working" -msgstr "{workingBotName} काम कर रहा है" - #: src/pages/shell/dialogs.tsx #: src/pages/shell/project-look-dialog.tsx msgid "/Users/you/projects/acme" @@ -549,6 +545,7 @@ msgid "Add Executor" msgstr "Executor जोड़ें" #: src/pages/ProjectSessionTimeline.tsx +#: src/pages/shell/project-overview.tsx msgid "Add goal" msgstr "" @@ -737,6 +734,14 @@ msgstr "हमेशा अनुमत" msgid "Analysiert die Aufgabe und führt Tools aus…" msgstr "" +#: src/pages/Shell.tsx +msgid "Analyze the project and give me a brief overview." +msgstr "" + +#: src/pages/shell/project-overview.tsx +msgid "Analyzing project…" +msgstr "" + #: src/components/AskCard.tsx msgid "Answer" msgstr "उत्तर" @@ -1031,10 +1036,6 @@ msgstr "" msgid "Bots act without asking by default. Add an exception only when you want to review a type of action first." msgstr "बॉट डिफ़ॉल्ट रूप से बिना पूछे कार्रवाई करते हैं। अपवाद तभी जोड़ें जब आप किसी प्रकार की कार्रवाई की पहले समीक्षा करना चाहते हों।" -#: src/pages/shell/transcript.tsx -msgid "Bots are working" -msgstr "बॉट काम कर रहे हैं" - #: src/components/OoAtelier.tsx msgid "Bow" msgstr "" @@ -2983,10 +2984,11 @@ msgid "Here's what I see in the logs…" msgstr "" #: src/pages/VoiceSettingsOverlay.tsx -msgid "Hi, this is how I'll sound when I read replies out loud." -msgstr "नमस्ते, उत्तर पढ़कर सुनाते समय मेरी आवाज़ ऐसी होगी।" +msgid "Hi, this is how I'll sound when we talk." +msgstr "" #: src/pages/Shell.tsx +#: src/pages/shell/sidebar-header.tsx msgid "Hide bots" msgstr "" @@ -3174,6 +3176,10 @@ msgstr "नवीनतम संदेश पर जाएँ" msgid "Jump to replied message" msgstr "जिस संदेश का उत्तर दिया गया उस पर जाएं" +#: src/pages/shell/project-overview.tsx +msgid "Just ask in the chat whenever something should happen regularly." +msgstr "" + #: src/pages/ActivityList.tsx #: src/pages/ProjectSessionTimeline.tsx msgid "just now" @@ -3899,6 +3905,7 @@ msgid "No results" msgstr "कोई परिणाम नहीं" #: src/pages/RoutineEditor.tsx +#: src/pages/shell/project-overview.tsx msgid "No runs yet" msgstr "" @@ -3957,6 +3964,7 @@ msgid "Notifications" msgstr "सूचनाएं" #: src/pages/ActivityList.tsx +#: src/pages/shell/project-overview.tsx msgid "Now" msgstr "अभी" @@ -4288,10 +4296,6 @@ msgstr "" msgid "Project" msgstr "" -#: src/pages/Shell.tsx -msgid "Project · sessions & folders" -msgstr "" - #: src/pages/shell/dialogs.tsx #: src/pages/shell/project-look-dialog.tsx msgid "Project folder" @@ -4399,6 +4403,10 @@ msgstr "" msgid "Ready" msgstr "" +#: src/pages/shell/project-overview.tsx +msgid "Ready" +msgstr "" + #: src/pages/ModelSettingsOverlay.tsx msgid "Reasoning effort" msgstr "रीज़निंग प्रयास" @@ -4412,6 +4420,7 @@ msgid "Recall only" msgstr "" #: src/pages/ActivityList.tsx +#: src/pages/shell/project-overview.tsx msgid "Recent" msgstr "हाल के" @@ -4700,11 +4709,13 @@ msgstr "" #: src/pages/RoutineEditor.tsx #: src/pages/Shell.tsx +#: src/pages/shell/project-overview.tsx #: src/pages/shell/routine-event-line.tsx msgid "Routine" msgstr "रूटीन" #: src/pages/RoutineEditor.tsx +#: src/pages/shell/project-overview.tsx msgid "Routines" msgstr "रूटीन्स" @@ -4718,6 +4729,7 @@ msgid "Run at" msgstr "" #: src/pages/RoutineEditor.tsx +#: src/pages/shell/project-overview.tsx msgid "Run history" msgstr "" @@ -5037,6 +5049,7 @@ msgstr "और दिखाएँ" msgid "Show password" msgstr "" +#: src/pages/shell/project-overview.tsx #: src/pages/shell/side-panel-header.tsx msgid "Show settings" msgstr "सेटिंग्स दिखाएं" @@ -5398,6 +5411,7 @@ msgstr "सिखाना जारी है। नया संदेश भ #: src/pages/ProjectSessionTimeline.tsx #: src/pages/shell/bot-panel.tsx +#: src/pages/shell/project-overview.tsx msgid "Team" msgstr "टीम" @@ -5995,6 +6009,7 @@ msgid "Work channel open — go ahead." msgstr "" #: src/components/stage/OoStage.tsx +#: src/pages/shell/project-overview.tsx msgid "Working" msgstr "" @@ -6037,6 +6052,7 @@ msgstr "कल" #: src/components/UserProfileSettings.tsx #: src/components/voice/VoiceStage.tsx #: src/pages/Shell.tsx +#: src/pages/shell/transcript.tsx msgid "You" msgstr "आप" @@ -6077,7 +6093,7 @@ msgid "Your name" msgstr "आपका नाम" #: src/pages/VoiceSettingsOverlay.tsx -msgid "Your Oo reads replies aloud when this is on." +msgid "Your Oo talks with you naturally when this is on." msgstr "" #: src/pages/Onboarding.tsx diff --git a/apps/web/src/locales/ko/messages.po b/apps/web/src/locales/ko/messages.po index 512f3d4..3f2ad9d 100644 --- a/apps/web/src/locales/ko/messages.po +++ b/apps/web/src/locales/ko/messages.po @@ -386,10 +386,6 @@ msgstr "{title}, {label}" msgid "{toolCount, plural, one {# tool} other {# tools}}" msgstr "" -#: src/pages/shell/transcript.tsx -msgid "{workingBotName} is working" -msgstr "{workingBotName} 작업 중" - #: src/pages/shell/dialogs.tsx #: src/pages/shell/project-look-dialog.tsx msgid "/Users/you/projects/acme" @@ -549,6 +545,7 @@ msgid "Add Executor" msgstr "Executor 추가" #: src/pages/ProjectSessionTimeline.tsx +#: src/pages/shell/project-overview.tsx msgid "Add goal" msgstr "" @@ -737,6 +734,14 @@ msgstr "항상 허용됨" msgid "Analysiert die Aufgabe und führt Tools aus…" msgstr "" +#: src/pages/Shell.tsx +msgid "Analyze the project and give me a brief overview." +msgstr "" + +#: src/pages/shell/project-overview.tsx +msgid "Analyzing project…" +msgstr "" + #: src/components/AskCard.tsx msgid "Answer" msgstr "답변" @@ -1031,10 +1036,6 @@ msgstr "연결할 Bot" msgid "Bots act without asking by default. Add an exception only when you want to review a type of action first." msgstr "Bot은 기본적으로 묻지 않고 작업합니다. 먼저 확인하고 싶은 작업만 예외로 추가하세요." -#: src/pages/shell/transcript.tsx -msgid "Bots are working" -msgstr "봇 작업 중" - #: src/components/OoAtelier.tsx msgid "Bow" msgstr "" @@ -2983,10 +2984,11 @@ msgid "Here's what I see in the logs…" msgstr "" #: src/pages/VoiceSettingsOverlay.tsx -msgid "Hi, this is how I'll sound when I read replies out loud." -msgstr "안녕하세요. 답변을 소리 내어 읽을 때 이런 목소리로 들립니다." +msgid "Hi, this is how I'll sound when we talk." +msgstr "" #: src/pages/Shell.tsx +#: src/pages/shell/sidebar-header.tsx msgid "Hide bots" msgstr "" @@ -3174,6 +3176,10 @@ msgstr "최신 메시지로 이동" msgid "Jump to replied message" msgstr "답장한 메시지로 이동" +#: src/pages/shell/project-overview.tsx +msgid "Just ask in the chat whenever something should happen regularly." +msgstr "" + #: src/pages/ActivityList.tsx #: src/pages/ProjectSessionTimeline.tsx msgid "just now" @@ -3899,6 +3905,7 @@ msgid "No results" msgstr "검색 결과가 없습니다" #: src/pages/RoutineEditor.tsx +#: src/pages/shell/project-overview.tsx msgid "No runs yet" msgstr "아직 실행 기록이 없습니다" @@ -3957,6 +3964,7 @@ msgid "Notifications" msgstr "알림" #: src/pages/ActivityList.tsx +#: src/pages/shell/project-overview.tsx msgid "Now" msgstr "지금" @@ -4288,10 +4296,6 @@ msgstr "" msgid "Project" msgstr "" -#: src/pages/Shell.tsx -msgid "Project · sessions & folders" -msgstr "" - #: src/pages/shell/dialogs.tsx #: src/pages/shell/project-look-dialog.tsx msgid "Project folder" @@ -4399,6 +4403,10 @@ msgstr "" msgid "Ready" msgstr "" +#: src/pages/shell/project-overview.tsx +msgid "Ready" +msgstr "" + #: src/pages/ModelSettingsOverlay.tsx msgid "Reasoning effort" msgstr "추론 강도" @@ -4412,6 +4420,7 @@ msgid "Recall only" msgstr "" #: src/pages/ActivityList.tsx +#: src/pages/shell/project-overview.tsx msgid "Recent" msgstr "최근" @@ -4700,11 +4709,13 @@ msgstr "" #: src/pages/RoutineEditor.tsx #: src/pages/Shell.tsx +#: src/pages/shell/project-overview.tsx #: src/pages/shell/routine-event-line.tsx msgid "Routine" msgstr "자동 실행" #: src/pages/RoutineEditor.tsx +#: src/pages/shell/project-overview.tsx msgid "Routines" msgstr "자동 실행" @@ -4718,6 +4729,7 @@ msgid "Run at" msgstr "실행 시간" #: src/pages/RoutineEditor.tsx +#: src/pages/shell/project-overview.tsx msgid "Run history" msgstr "실행 기록" @@ -5037,6 +5049,7 @@ msgstr "더 보기" msgid "Show password" msgstr "비밀번호 표시" +#: src/pages/shell/project-overview.tsx #: src/pages/shell/side-panel-header.tsx msgid "Show settings" msgstr "설정 보기" @@ -5398,6 +5411,7 @@ msgstr "작업을 가르치는 중입니다. 새 메시지를 보내려면 먼 #: src/pages/ProjectSessionTimeline.tsx #: src/pages/shell/bot-panel.tsx +#: src/pages/shell/project-overview.tsx msgid "Team" msgstr "팀 공용" @@ -5995,6 +6009,7 @@ msgid "Work channel open — go ahead." msgstr "" #: src/components/stage/OoStage.tsx +#: src/pages/shell/project-overview.tsx msgid "Working" msgstr "" @@ -6037,6 +6052,7 @@ msgstr "어제" #: src/components/UserProfileSettings.tsx #: src/components/voice/VoiceStage.tsx #: src/pages/Shell.tsx +#: src/pages/shell/transcript.tsx msgid "You" msgstr "나" @@ -6077,7 +6093,7 @@ msgid "Your name" msgstr "이름" #: src/pages/VoiceSettingsOverlay.tsx -msgid "Your Oo reads replies aloud when this is on." +msgid "Your Oo talks with you naturally when this is on." msgstr "" #: src/pages/Onboarding.tsx diff --git a/apps/web/src/locales/pt-BR/messages.po b/apps/web/src/locales/pt-BR/messages.po index c828b0a..12d0927 100644 --- a/apps/web/src/locales/pt-BR/messages.po +++ b/apps/web/src/locales/pt-BR/messages.po @@ -386,10 +386,6 @@ msgstr "{title}, {label}" msgid "{toolCount, plural, one {# tool} other {# tools}}" msgstr "" -#: src/pages/shell/transcript.tsx -msgid "{workingBotName} is working" -msgstr "{workingBotName} está trabalhando" - #: src/pages/shell/dialogs.tsx #: src/pages/shell/project-look-dialog.tsx msgid "/Users/you/projects/acme" @@ -549,6 +545,7 @@ msgid "Add Executor" msgstr "Adicionar Executor" #: src/pages/ProjectSessionTimeline.tsx +#: src/pages/shell/project-overview.tsx msgid "Add goal" msgstr "" @@ -737,6 +734,14 @@ msgstr "Sempre permitido" msgid "Analysiert die Aufgabe und führt Tools aus…" msgstr "" +#: src/pages/Shell.tsx +msgid "Analyze the project and give me a brief overview." +msgstr "" + +#: src/pages/shell/project-overview.tsx +msgid "Analyzing project…" +msgstr "" + #: src/components/AskCard.tsx msgid "Answer" msgstr "Resposta" @@ -1031,10 +1036,6 @@ msgstr "" msgid "Bots act without asking by default. Add an exception only when you want to review a type of action first." msgstr "Os bots agem sem perguntar por padrão. Adicione uma exceção apenas quando quiser analisar um tipo de ação primeiro." -#: src/pages/shell/transcript.tsx -msgid "Bots are working" -msgstr "Bots estão trabalhando" - #: src/components/OoAtelier.tsx msgid "Bow" msgstr "" @@ -2983,10 +2984,11 @@ msgid "Here's what I see in the logs…" msgstr "" #: src/pages/VoiceSettingsOverlay.tsx -msgid "Hi, this is how I'll sound when I read replies out loud." -msgstr "Olá, é assim que vou soar quando ler as respostas em voz alta." +msgid "Hi, this is how I'll sound when we talk." +msgstr "" #: src/pages/Shell.tsx +#: src/pages/shell/sidebar-header.tsx msgid "Hide bots" msgstr "" @@ -3174,6 +3176,10 @@ msgstr "Ir para a mensagem mais recente" msgid "Jump to replied message" msgstr "Ir para a mensagem respondida" +#: src/pages/shell/project-overview.tsx +msgid "Just ask in the chat whenever something should happen regularly." +msgstr "" + #: src/pages/ActivityList.tsx #: src/pages/ProjectSessionTimeline.tsx msgid "just now" @@ -3899,6 +3905,7 @@ msgid "No results" msgstr "Nenhum resultado" #: src/pages/RoutineEditor.tsx +#: src/pages/shell/project-overview.tsx msgid "No runs yet" msgstr "" @@ -3957,6 +3964,7 @@ msgid "Notifications" msgstr "Notificações" #: src/pages/ActivityList.tsx +#: src/pages/shell/project-overview.tsx msgid "Now" msgstr "Agora" @@ -4288,10 +4296,6 @@ msgstr "" msgid "Project" msgstr "" -#: src/pages/Shell.tsx -msgid "Project · sessions & folders" -msgstr "" - #: src/pages/shell/dialogs.tsx #: src/pages/shell/project-look-dialog.tsx msgid "Project folder" @@ -4399,6 +4403,10 @@ msgstr "" msgid "Ready" msgstr "" +#: src/pages/shell/project-overview.tsx +msgid "Ready" +msgstr "" + #: src/pages/ModelSettingsOverlay.tsx msgid "Reasoning effort" msgstr "Esforço de raciocínio" @@ -4412,6 +4420,7 @@ msgid "Recall only" msgstr "" #: src/pages/ActivityList.tsx +#: src/pages/shell/project-overview.tsx msgid "Recent" msgstr "Recente" @@ -4700,11 +4709,13 @@ msgstr "" #: src/pages/RoutineEditor.tsx #: src/pages/Shell.tsx +#: src/pages/shell/project-overview.tsx #: src/pages/shell/routine-event-line.tsx msgid "Routine" msgstr "Rotina" #: src/pages/RoutineEditor.tsx +#: src/pages/shell/project-overview.tsx msgid "Routines" msgstr "Rotinas" @@ -4718,6 +4729,7 @@ msgid "Run at" msgstr "" #: src/pages/RoutineEditor.tsx +#: src/pages/shell/project-overview.tsx msgid "Run history" msgstr "" @@ -5037,6 +5049,7 @@ msgstr "Mostrar mais" msgid "Show password" msgstr "" +#: src/pages/shell/project-overview.tsx #: src/pages/shell/side-panel-header.tsx msgid "Show settings" msgstr "Mostrar configurações" @@ -5398,6 +5411,7 @@ msgstr "Ensino em andamento. Pare de ensinar antes de enviar uma nova mensagem." #: src/pages/ProjectSessionTimeline.tsx #: src/pages/shell/bot-panel.tsx +#: src/pages/shell/project-overview.tsx msgid "Team" msgstr "Equipe" @@ -5995,6 +6009,7 @@ msgid "Work channel open — go ahead." msgstr "" #: src/components/stage/OoStage.tsx +#: src/pages/shell/project-overview.tsx msgid "Working" msgstr "" @@ -6037,6 +6052,7 @@ msgstr "Ontem" #: src/components/UserProfileSettings.tsx #: src/components/voice/VoiceStage.tsx #: src/pages/Shell.tsx +#: src/pages/shell/transcript.tsx msgid "You" msgstr "Você" @@ -6077,7 +6093,7 @@ msgid "Your name" msgstr "O seu nome" #: src/pages/VoiceSettingsOverlay.tsx -msgid "Your Oo reads replies aloud when this is on." +msgid "Your Oo talks with you naturally when this is on." msgstr "" #: src/pages/Onboarding.tsx diff --git a/apps/web/src/locales/ru/messages.po b/apps/web/src/locales/ru/messages.po index 60ca017..26eea64 100644 --- a/apps/web/src/locales/ru/messages.po +++ b/apps/web/src/locales/ru/messages.po @@ -386,10 +386,6 @@ msgstr "{title}, {label}" msgid "{toolCount, plural, one {# tool} other {# tools}}" msgstr "{toolCount, plural, one {# инструмент} few {# инструмента} many {# инструментов} other {# инструмента}}" -#: src/pages/shell/transcript.tsx -msgid "{workingBotName} is working" -msgstr "{workingBotName} работает" - #: src/pages/shell/dialogs.tsx #: src/pages/shell/project-look-dialog.tsx msgid "/Users/you/projects/acme" @@ -549,6 +545,7 @@ msgid "Add Executor" msgstr "Добавить Executor" #: src/pages/ProjectSessionTimeline.tsx +#: src/pages/shell/project-overview.tsx msgid "Add goal" msgstr "" @@ -737,6 +734,14 @@ msgstr "Всегда разрешено" msgid "Analysiert die Aufgabe und führt Tools aus…" msgstr "" +#: src/pages/Shell.tsx +msgid "Analyze the project and give me a brief overview." +msgstr "" + +#: src/pages/shell/project-overview.tsx +msgid "Analyzing project…" +msgstr "" + #: src/components/AskCard.tsx msgid "Answer" msgstr "Ответ" @@ -1031,10 +1036,6 @@ msgstr "Бот для ссылки" msgid "Bots act without asking by default. Add an exception only when you want to review a type of action first." msgstr "По умолчанию боты действуют, не спрашивая. Добавляйте исключение только в том случае, если вы хотите сначала просмотреть тип действия." -#: src/pages/shell/transcript.tsx -msgid "Bots are working" -msgstr "Боты работают" - #: src/components/OoAtelier.tsx msgid "Bow" msgstr "" @@ -2983,10 +2984,11 @@ msgid "Here's what I see in the logs…" msgstr "" #: src/pages/VoiceSettingsOverlay.tsx -msgid "Hi, this is how I'll sound when I read replies out loud." -msgstr "Привет, вот как я буду звучать, когда буду читать ответы вслух." +msgid "Hi, this is how I'll sound when we talk." +msgstr "" #: src/pages/Shell.tsx +#: src/pages/shell/sidebar-header.tsx msgid "Hide bots" msgstr "Скрыть ботов" @@ -3174,6 +3176,10 @@ msgstr "Перейти к последнему" msgid "Jump to replied message" msgstr "Перейти к ответному сообщению" +#: src/pages/shell/project-overview.tsx +msgid "Just ask in the chat whenever something should happen regularly." +msgstr "" + #: src/pages/ActivityList.tsx #: src/pages/ProjectSessionTimeline.tsx msgid "just now" @@ -3899,6 +3905,7 @@ msgid "No results" msgstr "Нет результатов" #: src/pages/RoutineEditor.tsx +#: src/pages/shell/project-overview.tsx msgid "No runs yet" msgstr "Запусков пока нет" @@ -3957,6 +3964,7 @@ msgid "Notifications" msgstr "Уведомления" #: src/pages/ActivityList.tsx +#: src/pages/shell/project-overview.tsx msgid "Now" msgstr "Сейчас" @@ -4288,10 +4296,6 @@ msgstr "Приватное пространство со своими ботам msgid "Project" msgstr "" -#: src/pages/Shell.tsx -msgid "Project · sessions & folders" -msgstr "" - #: src/pages/shell/dialogs.tsx #: src/pages/shell/project-look-dialog.tsx msgid "Project folder" @@ -4399,6 +4403,10 @@ msgstr "" msgid "Ready" msgstr "" +#: src/pages/shell/project-overview.tsx +msgid "Ready" +msgstr "" + #: src/pages/ModelSettingsOverlay.tsx msgid "Reasoning effort" msgstr "" @@ -4412,6 +4420,7 @@ msgid "Recall only" msgstr "" #: src/pages/ActivityList.tsx +#: src/pages/shell/project-overview.tsx msgid "Recent" msgstr "Недавние" @@ -4700,11 +4709,13 @@ msgstr "" #: src/pages/RoutineEditor.tsx #: src/pages/Shell.tsx +#: src/pages/shell/project-overview.tsx #: src/pages/shell/routine-event-line.tsx msgid "Routine" msgstr "Задача" #: src/pages/RoutineEditor.tsx +#: src/pages/shell/project-overview.tsx msgid "Routines" msgstr "Задачи" @@ -4718,6 +4729,7 @@ msgid "Run at" msgstr "Запустить в" #: src/pages/RoutineEditor.tsx +#: src/pages/shell/project-overview.tsx msgid "Run history" msgstr "История запуска" @@ -5037,6 +5049,7 @@ msgstr "Показать ещё" msgid "Show password" msgstr "Показать пароль" +#: src/pages/shell/project-overview.tsx #: src/pages/shell/side-panel-header.tsx msgid "Show settings" msgstr "Показать настройки" @@ -5398,6 +5411,7 @@ msgstr "Обучение в процессе. Прекратите обучен #: src/pages/ProjectSessionTimeline.tsx #: src/pages/shell/bot-panel.tsx +#: src/pages/shell/project-overview.tsx msgid "Team" msgstr "Команда" @@ -5995,6 +6009,7 @@ msgid "Work channel open — go ahead." msgstr "" #: src/components/stage/OoStage.tsx +#: src/pages/shell/project-overview.tsx msgid "Working" msgstr "" @@ -6037,6 +6052,7 @@ msgstr "Вчера" #: src/components/UserProfileSettings.tsx #: src/components/voice/VoiceStage.tsx #: src/pages/Shell.tsx +#: src/pages/shell/transcript.tsx msgid "You" msgstr "Вы" @@ -6077,7 +6093,7 @@ msgid "Your name" msgstr "Ваше имя" #: src/pages/VoiceSettingsOverlay.tsx -msgid "Your Oo reads replies aloud when this is on." +msgid "Your Oo talks with you naturally when this is on." msgstr "" #: src/pages/Onboarding.tsx diff --git a/apps/web/src/locales/tr/messages.po b/apps/web/src/locales/tr/messages.po index e3ccf9d..5cf6374 100644 --- a/apps/web/src/locales/tr/messages.po +++ b/apps/web/src/locales/tr/messages.po @@ -386,10 +386,6 @@ msgstr "{title}, {label}" msgid "{toolCount, plural, one {# tool} other {# tools}}" msgstr "" -#: src/pages/shell/transcript.tsx -msgid "{workingBotName} is working" -msgstr "{workingBotName} çalışıyor" - #: src/pages/shell/dialogs.tsx #: src/pages/shell/project-look-dialog.tsx msgid "/Users/you/projects/acme" @@ -549,6 +545,7 @@ msgid "Add Executor" msgstr "Executor ekle" #: src/pages/ProjectSessionTimeline.tsx +#: src/pages/shell/project-overview.tsx msgid "Add goal" msgstr "" @@ -737,6 +734,14 @@ msgstr "Her zaman izinli" msgid "Analysiert die Aufgabe und führt Tools aus…" msgstr "" +#: src/pages/Shell.tsx +msgid "Analyze the project and give me a brief overview." +msgstr "" + +#: src/pages/shell/project-overview.tsx +msgid "Analyzing project…" +msgstr "" + #: src/components/AskCard.tsx msgid "Answer" msgstr "Yanıtla" @@ -1031,10 +1036,6 @@ msgstr "" msgid "Bots act without asking by default. Add an exception only when you want to review a type of action first." msgstr "Botlar varsayılan olarak sormadan hareket eder. Yalnızca belirli bir işlem türünü önce incelemek istediğinde istisna ekle." -#: src/pages/shell/transcript.tsx -msgid "Bots are working" -msgstr "Botlar çalışıyor" - #: src/components/OoAtelier.tsx msgid "Bow" msgstr "" @@ -2983,10 +2984,11 @@ msgid "Here's what I see in the logs…" msgstr "" #: src/pages/VoiceSettingsOverlay.tsx -msgid "Hi, this is how I'll sound when I read replies out loud." -msgstr "Merhaba, yanıtları sesli okuduğumda böyle duyulacağım." +msgid "Hi, this is how I'll sound when we talk." +msgstr "" #: src/pages/Shell.tsx +#: src/pages/shell/sidebar-header.tsx msgid "Hide bots" msgstr "" @@ -3174,6 +3176,10 @@ msgstr "En son mesaja git" msgid "Jump to replied message" msgstr "Yanıtlanan mesaja git" +#: src/pages/shell/project-overview.tsx +msgid "Just ask in the chat whenever something should happen regularly." +msgstr "" + #: src/pages/ActivityList.tsx #: src/pages/ProjectSessionTimeline.tsx msgid "just now" @@ -3899,6 +3905,7 @@ msgid "No results" msgstr "Sonuç yok" #: src/pages/RoutineEditor.tsx +#: src/pages/shell/project-overview.tsx msgid "No runs yet" msgstr "" @@ -3957,6 +3964,7 @@ msgid "Notifications" msgstr "Bildirimler" #: src/pages/ActivityList.tsx +#: src/pages/shell/project-overview.tsx msgid "Now" msgstr "Şimdi" @@ -4288,10 +4296,6 @@ msgstr "" msgid "Project" msgstr "" -#: src/pages/Shell.tsx -msgid "Project · sessions & folders" -msgstr "" - #: src/pages/shell/dialogs.tsx #: src/pages/shell/project-look-dialog.tsx msgid "Project folder" @@ -4399,6 +4403,10 @@ msgstr "" msgid "Ready" msgstr "" +#: src/pages/shell/project-overview.tsx +msgid "Ready" +msgstr "" + #: src/pages/ModelSettingsOverlay.tsx msgid "Reasoning effort" msgstr "Akıl yürütme düzeyi" @@ -4412,6 +4420,7 @@ msgid "Recall only" msgstr "" #: src/pages/ActivityList.tsx +#: src/pages/shell/project-overview.tsx msgid "Recent" msgstr "Son" @@ -4700,11 +4709,13 @@ msgstr "" #: src/pages/RoutineEditor.tsx #: src/pages/Shell.tsx +#: src/pages/shell/project-overview.tsx #: src/pages/shell/routine-event-line.tsx msgid "Routine" msgstr "Rutin" #: src/pages/RoutineEditor.tsx +#: src/pages/shell/project-overview.tsx msgid "Routines" msgstr "Rutinler" @@ -4718,6 +4729,7 @@ msgid "Run at" msgstr "" #: src/pages/RoutineEditor.tsx +#: src/pages/shell/project-overview.tsx msgid "Run history" msgstr "" @@ -5037,6 +5049,7 @@ msgstr "Daha fazla göster" msgid "Show password" msgstr "" +#: src/pages/shell/project-overview.tsx #: src/pages/shell/side-panel-header.tsx msgid "Show settings" msgstr "Ayarları göster" @@ -5398,6 +5411,7 @@ msgstr "Öğretme sürüyor. Yeni mesaj göndermeden önce öğretmeyi durdur." #: src/pages/ProjectSessionTimeline.tsx #: src/pages/shell/bot-panel.tsx +#: src/pages/shell/project-overview.tsx msgid "Team" msgstr "Takım" @@ -5995,6 +6009,7 @@ msgid "Work channel open — go ahead." msgstr "" #: src/components/stage/OoStage.tsx +#: src/pages/shell/project-overview.tsx msgid "Working" msgstr "" @@ -6037,6 +6052,7 @@ msgstr "Dün" #: src/components/UserProfileSettings.tsx #: src/components/voice/VoiceStage.tsx #: src/pages/Shell.tsx +#: src/pages/shell/transcript.tsx msgid "You" msgstr "Sen" @@ -6077,7 +6093,7 @@ msgid "Your name" msgstr "Adın" #: src/pages/VoiceSettingsOverlay.tsx -msgid "Your Oo reads replies aloud when this is on." +msgid "Your Oo talks with you naturally when this is on." msgstr "" #: src/pages/Onboarding.tsx diff --git a/apps/web/src/locales/zh-CN/messages.po b/apps/web/src/locales/zh-CN/messages.po index 42d5df8..7463a5e 100644 --- a/apps/web/src/locales/zh-CN/messages.po +++ b/apps/web/src/locales/zh-CN/messages.po @@ -386,10 +386,6 @@ msgstr "{title},{label}" msgid "{toolCount, plural, one {# tool} other {# tools}}" msgstr "" -#: src/pages/shell/transcript.tsx -msgid "{workingBotName} is working" -msgstr "{workingBotName} 正在工作" - #: src/pages/shell/dialogs.tsx #: src/pages/shell/project-look-dialog.tsx msgid "/Users/you/projects/acme" @@ -549,6 +545,7 @@ msgid "Add Executor" msgstr "添加 Executor" #: src/pages/ProjectSessionTimeline.tsx +#: src/pages/shell/project-overview.tsx msgid "Add goal" msgstr "" @@ -737,6 +734,14 @@ msgstr "始终允许" msgid "Analysiert die Aufgabe und führt Tools aus…" msgstr "" +#: src/pages/Shell.tsx +msgid "Analyze the project and give me a brief overview." +msgstr "" + +#: src/pages/shell/project-overview.tsx +msgid "Analyzing project…" +msgstr "" + #: src/components/AskCard.tsx msgid "Answer" msgstr "回答" @@ -1031,10 +1036,6 @@ msgstr "要关联的 Bot" msgid "Bots act without asking by default. Add an exception only when you want to review a type of action first." msgstr "默认情况下 Bot 会直接执行。只有当你想先审核某类操作时,才添加例外。" -#: src/pages/shell/transcript.tsx -msgid "Bots are working" -msgstr "Bot 正在工作" - #: src/components/OoAtelier.tsx msgid "Bow" msgstr "" @@ -2983,10 +2984,11 @@ msgid "Here's what I see in the logs…" msgstr "" #: src/pages/VoiceSettingsOverlay.tsx -msgid "Hi, this is how I'll sound when I read replies out loud." -msgstr "你好,这是我朗读回复时的声音。" +msgid "Hi, this is how I'll sound when we talk." +msgstr "" #: src/pages/Shell.tsx +#: src/pages/shell/sidebar-header.tsx msgid "Hide bots" msgstr "" @@ -3174,6 +3176,10 @@ msgstr "跳到最新" msgid "Jump to replied message" msgstr "跳到被回复的消息" +#: src/pages/shell/project-overview.tsx +msgid "Just ask in the chat whenever something should happen regularly." +msgstr "" + #: src/pages/ActivityList.tsx #: src/pages/ProjectSessionTimeline.tsx msgid "just now" @@ -3899,6 +3905,7 @@ msgid "No results" msgstr "无结果" #: src/pages/RoutineEditor.tsx +#: src/pages/shell/project-overview.tsx msgid "No runs yet" msgstr "还没有运行记录" @@ -3957,6 +3964,7 @@ msgid "Notifications" msgstr "通知" #: src/pages/ActivityList.tsx +#: src/pages/shell/project-overview.tsx msgid "Now" msgstr "现在" @@ -4288,10 +4296,6 @@ msgstr "" msgid "Project" msgstr "" -#: src/pages/Shell.tsx -msgid "Project · sessions & folders" -msgstr "" - #: src/pages/shell/dialogs.tsx #: src/pages/shell/project-look-dialog.tsx msgid "Project folder" @@ -4399,6 +4403,10 @@ msgstr "" msgid "Ready" msgstr "" +#: src/pages/shell/project-overview.tsx +msgid "Ready" +msgstr "" + #: src/pages/ModelSettingsOverlay.tsx msgid "Reasoning effort" msgstr "推理强度" @@ -4412,6 +4420,7 @@ msgid "Recall only" msgstr "" #: src/pages/ActivityList.tsx +#: src/pages/shell/project-overview.tsx msgid "Recent" msgstr "最近" @@ -4700,11 +4709,13 @@ msgstr "" #: src/pages/RoutineEditor.tsx #: src/pages/Shell.tsx +#: src/pages/shell/project-overview.tsx #: src/pages/shell/routine-event-line.tsx msgid "Routine" msgstr "例行任务" #: src/pages/RoutineEditor.tsx +#: src/pages/shell/project-overview.tsx msgid "Routines" msgstr "例行任务" @@ -4718,6 +4729,7 @@ msgid "Run at" msgstr "运行时间" #: src/pages/RoutineEditor.tsx +#: src/pages/shell/project-overview.tsx msgid "Run history" msgstr "运行记录" @@ -5037,6 +5049,7 @@ msgstr "显示更多" msgid "Show password" msgstr "显示密码" +#: src/pages/shell/project-overview.tsx #: src/pages/shell/side-panel-header.tsx msgid "Show settings" msgstr "显示设置" @@ -5398,6 +5411,7 @@ msgstr "正在示范,发送新消息前请先停止示范。" #: src/pages/ProjectSessionTimeline.tsx #: src/pages/shell/bot-panel.tsx +#: src/pages/shell/project-overview.tsx msgid "Team" msgstr "团队" @@ -5995,6 +6009,7 @@ msgid "Work channel open — go ahead." msgstr "" #: src/components/stage/OoStage.tsx +#: src/pages/shell/project-overview.tsx msgid "Working" msgstr "" @@ -6037,6 +6052,7 @@ msgstr "昨天" #: src/components/UserProfileSettings.tsx #: src/components/voice/VoiceStage.tsx #: src/pages/Shell.tsx +#: src/pages/shell/transcript.tsx msgid "You" msgstr "你" @@ -6077,7 +6093,7 @@ msgid "Your name" msgstr "你的名字" #: src/pages/VoiceSettingsOverlay.tsx -msgid "Your Oo reads replies aloud when this is on." +msgid "Your Oo talks with you naturally when this is on." msgstr "" #: src/pages/Onboarding.tsx diff --git a/apps/web/src/pages/Shell.tsx b/apps/web/src/pages/Shell.tsx index 45291fa..678bf75 100644 --- a/apps/web/src/pages/Shell.tsx +++ b/apps/web/src/pages/Shell.tsx @@ -435,6 +435,9 @@ export function ShellPage() { } | null>(null); const [routines, setRoutines] = useState([]); const [routinesBotId, setRoutinesBotId] = useState(null); + const [projectRoutines, setProjectRoutines] = useState([]); + const [projectRoutinesSpaceId, setProjectRoutinesSpaceId] = useState(null); + const projectRoutinesRequest = useRef(0); const [routineActiveToggleId, setRoutineActiveToggleId] = useState(null); const routineActiveToggleRequest = useRef(0); const [taughtSkills, setTaughtSkills] = useState([]); @@ -718,6 +721,61 @@ export function ShellPage() { [active?.id, groupId, inGroup, pendingAttachments], ); const activeRoutines = !inGroup && routinesBotId === active?.id ? routines : []; + const projectBotIds = useMemo(() => { + if (!inProject || !activeSpace) return []; + const ids = new Set(); + if (coordinatorBot) ids.add(coordinatorBot.id); + for (const member of activeSpace.bots ?? []) ids.add(member.id); + for (const bot of bots) { + if (bot.spaceId === activeSpace.id) ids.add(bot.id); + } + return [...ids]; + }, [inProject, activeSpace, coordinatorBot, bots]); + const projectBotIdsRef = useRef([]); + projectBotIdsRef.current = projectBotIds; + const activeProjectSpaceIdRef = useRef( + inProject && activeSpace ? activeSpace.id : null, + ); + activeProjectSpaceIdRef.current = inProject && activeSpace ? activeSpace.id : null; + const refreshProjectRoutines = useCallback(async (extraBotIds?: readonly string[]) => { + const spaceId = activeProjectSpaceIdRef.current; + if (!spaceId) return; + const botIds = [...new Set([...projectBotIdsRef.current, ...(extraBotIds ?? [])])]; + if (botIds.length === 0) { + setProjectRoutines([]); + setProjectRoutinesSpaceId(spaceId); + return; + } + const request = ++projectRoutinesRequest.current; + const lists = await Promise.all( + botIds.map((id) => rpc.routines.list({ botId: id }).catch(() => null)), + ); + if (request !== projectRoutinesRequest.current || activeProjectSpaceIdRef.current !== spaceId) { + return; + } + const seen = new Set(); + const merged: Routine[] = []; + for (const list of lists) { + if (!list) continue; + for (const item of list) { + if (!seen.has(item.id)) { + seen.add(item.id); + merged.push(item); + } + } + } + setProjectRoutines(merged); + setProjectRoutinesSpaceId(spaceId); + }, []); + const projectBotIdsKey = projectBotIds.join(","); + useEffect(() => { + if (!inProject || !activeSpace) { + setProjectRoutines([]); + setProjectRoutinesSpaceId(null); + return; + } + void refreshProjectRoutines(); + }, [inProject, activeSpace?.id, projectBotIdsKey, refreshProjectRoutines]); const activeTaughtSkills = taughtSkillsBotId === active?.id ? taughtSkills : []; const recordingSkill = activeTaughtSkills.find((skill) => skill.status === "recording") ?? null; const routeBotId = useRef(botId); @@ -903,6 +961,11 @@ export function ShellPage() { commitComputer(null); setRoutines([]); setRoutinesBotId(null); + void refreshProjectRoutines( + [snap.leadBotId, ...(snap.members?.map((member) => member.botId) ?? [])].filter( + (botId): botId is string => Boolean(botId), + ), + ); // Keep the search-jump viewport; expandedHistoryThread merge still accepts live messages. if ( stickToEnd && @@ -962,6 +1025,7 @@ export function ShellPage() { if (routines) { setRoutines(routines); setRoutinesBotId(id); + void refreshProjectRoutines([id]); } if (skills) { setTaughtSkills(skills); @@ -1409,6 +1473,16 @@ export function ShellPage() { if (blocks.some((block) => block.kind === "project_created")) { void refreshBots().catch(() => undefined); } + if (blocks.some((block) => block.kind === "event")) { + void refreshProjectRoutines(); + } + } + if ( + event.type === "thread.message.updated" || + event.type === "routine.created" || + event.type === "routine.updated" + ) { + void refreshProjectRoutines(); } if (event.type === "run.waiting_input" || event.type === "computer.takeover.requested") { ooSound.play("need-you"); @@ -2689,7 +2763,10 @@ export function ShellPage() { const setRoutineActive = useCallback( async (routine: Routine, active: boolean) => { const botId = activeBotId.current; - if (!botId || routine.botId !== botId) return; + const inCurrentProject = + Boolean(activeProjectSpaceIdRef.current) && + projectBotIdsRef.current.includes(routine.botId); + if ((!botId || routine.botId !== botId) && !inCurrentProject) return; const request = ++routineActiveToggleRequest.current; const previousActive = routine.active; setRoutineActiveToggleId(routine.id); @@ -2698,16 +2775,32 @@ export function ShellPage() { ? current.map((item) => (item.id === routine.id ? { ...item, active } : item)) : current, ); + setProjectRoutines((current) => + current.map((item) => (item.id === routine.id ? { ...item, active } : item)), + ); try { const saved = await rpc.routines.update({ routineId: routine.id, active }); - if (routineActiveToggleRequest.current !== request || activeBotId.current !== botId) return; + if ( + routineActiveToggleRequest.current !== request || + (activeBotId.current !== botId && !activeProjectSpaceIdRef.current) + ) { + return; + } setRoutines((current) => routinesBotId === botId ? current.map((item) => (item.id === saved.id ? saved : item)) : current, ); + setProjectRoutines((current) => + current.map((item) => (item.id === saved.id ? saved : item)), + ); } catch { - if (routineActiveToggleRequest.current !== request || activeBotId.current !== botId) return; + if ( + routineActiveToggleRequest.current !== request || + (activeBotId.current !== botId && !activeProjectSpaceIdRef.current) + ) { + return; + } setRoutines((current) => routinesBotId === botId ? current.map((item) => @@ -2715,6 +2808,11 @@ export function ShellPage() { ) : current, ); + setProjectRoutines((current) => + current.map((item) => + item.id === routine.id ? { ...item, active: previousActive } : item, + ), + ); } finally { if (routineActiveToggleRequest.current === request) { setRoutineActiveToggleId((current) => (current === routine.id ? null : current)); @@ -4127,6 +4225,16 @@ export function ShellPage() { : inProject && !panel && canvasTab === "sandbox" ? "overview" : canvasTab; + const isOverlayPanel = + panel === "settings" || + panel === "routine" || + panel === "create" || + panel === "create-group" || + panel === "group-settings"; + const routineTargetBot = + (editingRoutine ? bots.find((b) => b.id === editingRoutine.botId) : undefined) ?? + active ?? + coordinatorBot; const canvasElement = (