Skip to content
10 changes: 9 additions & 1 deletion src/app/service/agent/core/opfs_helpers.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,15 @@

import { throwIfAborted } from "./abort_utils";

export const WORKSPACE_ROOT = "agents/workspace";
export const WORKSPACE_PATH = ["agents", "workspace"] as const;
export const WORKSPACE_ROOT = WORKSPACE_PATH.join("/");

export function isWorkspacePath(path: readonly string[]): boolean {
return (
path.every((part) => part.length > 0 && part !== "." && part !== "..") &&
WORKSPACE_PATH.every((part, index) => path[index] === part)
);
}

/** Strip leading `/`, reject `..` segments */
export function sanitizePath(raw: string): string {
Expand Down
8 changes: 8 additions & 0 deletions src/locales/de-DE/agent.json
Original file line number Diff line number Diff line change
Expand Up @@ -143,6 +143,14 @@
"opfs_type_text": "Text",
"opfs_type_binary": "Binär",
"opfs_root": "Stammverzeichnis",
"opfs_read_only": "Dieses Verzeichnis ist schreibgeschützt. Änderungen sind nur in agents/workspace und darunter möglich.",
"opfs_rename": "Umbenennen",
"opfs_move": "Verschieben",
"opfs_rename_placeholder": "Neuer Datei- oder Verzeichnisname",
"opfs_move_destination": "Zielverzeichnis",
"opfs_move_no_destination": "In agents/workspace gibt es kein weiteres Verzeichnis als Ziel.",
"opfs_rename_success": "Erfolgreich umbenannt",
"opfs_move_success": "Erfolgreich verschoben",
"dom_permission_title": "Das Skript fordert DOM-Zugriff an",
"dom_permission_describe": "Dieses Skript fordert die Fähigkeit an, das DOM der Webseite zu lesen und zu manipulieren (Klicken, Formulare ausfüllen, Navigation, Screenshot usw.). Erlauben Sie nur vertrauenswürdigen Skripten.",
"dom_permission_content": "Agent DOM-Operationen",
Expand Down
8 changes: 8 additions & 0 deletions src/locales/en-US/agent.json
Original file line number Diff line number Diff line change
Expand Up @@ -143,6 +143,14 @@
"opfs_type_text": "Text",
"opfs_type_binary": "Binary",
"opfs_root": "Root",
"opfs_read_only": "This directory is read-only. Changes are allowed only in agents/workspace and its subdirectories.",
"opfs_rename": "Rename",
"opfs_move": "Move",
"opfs_rename_placeholder": "New file or folder name",
"opfs_move_destination": "Destination directory",
"opfs_move_no_destination": "There is no other directory under agents/workspace to move into.",
"opfs_rename_success": "Renamed successfully",
"opfs_move_success": "Moved successfully",
"dom_permission_title": "The script is requesting DOM operation access",
"dom_permission_describe": "This script requests the ability to read and manipulate web page DOM (click, fill forms, navigate, screenshot, etc.). Only grant access to trusted scripts.",
"dom_permission_content": "Agent DOM Operations",
Expand Down
8 changes: 8 additions & 0 deletions src/locales/ja-JP/agent.json
Original file line number Diff line number Diff line change
Expand Up @@ -143,6 +143,14 @@
"opfs_type_text": "テキスト",
"opfs_type_binary": "バイナリ",
"opfs_root": "ルート",
"opfs_read_only": "このディレクトリは読み取り専用です。変更できるのは agents/workspace とその配下だけです。",
"opfs_rename": "名前を変更",
"opfs_move": "移動",
"opfs_rename_placeholder": "新しいファイルまたはディレクトリ名",
"opfs_move_destination": "移動先ディレクトリ",
"opfs_move_no_destination": "agents/workspace の下に移動先となる他のディレクトリがありません。",
"opfs_rename_success": "名前を変更しました",
"opfs_move_success": "移動しました",
"dom_permission_title": "スクリプトが DOM 操作アクセスをリクエストしています",
"dom_permission_describe": "このスクリプトはウェブページの DOM を読み取り操作する能力(クリック、フォーム入力、ナビゲーション、スクリーンショットなど)をリクエストしています。信頼できるスクリプトにのみ許可してください。",
"dom_permission_content": "Agent DOM 操作",
Expand Down
8 changes: 8 additions & 0 deletions src/locales/ko-KR/agent.json
Original file line number Diff line number Diff line change
Expand Up @@ -143,6 +143,14 @@
"opfs_type_text": "텍스트",
"opfs_type_binary": "바이너리",
"opfs_root": "루트",
"opfs_read_only": "이 디렉터리는 읽기 전용입니다. 변경은 agents/workspace 및 그 하위 디렉터리에서만 가능합니다.",
"opfs_rename": "이름 바꾸기",
"opfs_move": "이동",
"opfs_rename_placeholder": "새 파일 또는 폴더 이름",
"opfs_move_destination": "대상 디렉터리",
"opfs_move_no_destination": "agents/workspace 아래에 이동할 다른 디렉터리가 없습니다.",
"opfs_rename_success": "이름이 변경되었습니다",
"opfs_move_success": "이동되었습니다",
"dom_permission_title": "스크립트가 DOM 조작 권한을 요청합니다",
"dom_permission_describe": "이 스크립트는 웹페이지의 DOM을 읽고 조작하는 기능(클릭, 양식 입력, 페이지 이동, 스크린샷 등)을 요청합니다. 신뢰할 수 있는 스크립트에만 허용하세요.",
"dom_permission_content": "에이전트 DOM 조작",
Expand Down
8 changes: 8 additions & 0 deletions src/locales/pt-BR/agent.json
Original file line number Diff line number Diff line change
Expand Up @@ -143,6 +143,14 @@
"opfs_type_text": "Texto",
"opfs_type_binary": "Binário",
"opfs_root": "Raiz",
"opfs_read_only": "Este diretório é somente leitura. As alterações são permitidas apenas em agents/workspace e suas subpastas.",
"opfs_rename": "Renomear",
"opfs_move": "Mover",
"opfs_rename_placeholder": "Novo nome do arquivo ou pasta",
"opfs_move_destination": "Diretório de destino",
"opfs_move_no_destination": "Não há outro diretório em agents/workspace para onde mover.",
"opfs_rename_success": "Renomeado com sucesso",
"opfs_move_success": "Movido com sucesso",
"dom_permission_title": "O script solicita permissão para manipular o DOM",
"dom_permission_describe": "Este script solicita a capacidade de ler e manipular o DOM da página da web (clicar, preencher formulários, navegar, capturar tela, etc.). Conceda acesso apenas a scripts confiáveis.",
"dom_permission_content": "Operações do Agente no DOM",
Expand Down
8 changes: 8 additions & 0 deletions src/locales/ru-RU/agent.json
Original file line number Diff line number Diff line change
Expand Up @@ -143,6 +143,14 @@
"opfs_type_text": "Текст",
"opfs_type_binary": "Двоичный",
"opfs_root": "Корень",
"opfs_read_only": "Этот каталог доступен только для чтения. Изменения разрешены только в agents/workspace и его подкаталогах.",
"opfs_rename": "Переименовать",
"opfs_move": "Переместить",
"opfs_rename_placeholder": "Новое имя файла или папки",
"opfs_move_destination": "Каталог назначения",
"opfs_move_no_destination": "В agents/workspace нет другого каталога для перемещения.",
"opfs_rename_success": "Успешно переименовано",
"opfs_move_success": "Успешно перемещено",
"dom_permission_title": "Скрипт запрашивает доступ к операциям DOM",
"dom_permission_describe": "Этот скрипт запрашивает возможность читать и управлять DOM веб-страницы (клик, заполнение форм, навигация, скриншот и т.д.). Разрешайте только доверенным скриптам.",
"dom_permission_content": "Agent DOM операции",
Expand Down
16 changes: 12 additions & 4 deletions src/locales/tr-TR/agent.json
Original file line number Diff line number Diff line change
Expand Up @@ -142,10 +142,18 @@
"opfs_type_image": "Görsel",
"opfs_type_text": "Metin",
"opfs_type_binary": "İkili",
"opfs_root": "Kök dizin",
"dom_permission_title": "Betik, DOM işlemleri için erişim istiyor",
"dom_permission_describe": "Bu betik, web sayfası DOM'unu okuma ve değiştirme (tıklama, form doldurma, gezinme, ekran görüntüsü alma vb.) yeteneği istiyor. Yalnızca güvenilir betiklere erişim izni verin.",
"dom_permission_content": "Ajan DOM İşlemleri",
"opfs_root": "Kök",
"opfs_read_only": "Bu dizin salt okunurdur. Değişikliklere yalnızca agents/workspace ve alt dizinlerinde izin verilir.",
"opfs_rename": "Yeniden adlandır",
"opfs_move": "Taşı",
"opfs_rename_placeholder": "Yeni dosya veya klasör adı",
"opfs_move_destination": "Hedef dizin",
"opfs_move_no_destination": "agents/workspace altında taşınabilecek başka bir dizin yok.",
"opfs_rename_success": "Yeniden adlandırıldı",
"opfs_move_success": "Taşındı",
"dom_permission_title": "Betik DOM işlem erişimi istiyor",
"dom_permission_describe": "Bu betik web sayfası DOM'unu okuma ve değiştirme yetkisi istiyor (tıklama, form doldurma, gezinme, ekran görüntüsü vb.). Yalnızca güvendiğiniz betiklere erişim verin.",
"dom_permission_content": "Agent DOM İşlemleri",
"mcp_title": "MCP Sunucuları",
"mcp_subtitle": "Ajan araçlarını, kaynaklarını ve istemlerini genişletmek için MCP sunucularını bağlayın",
"mcp_add_server": "Sunucu Ekle",
Expand Down
8 changes: 8 additions & 0 deletions src/locales/vi-VN/agent.json
Original file line number Diff line number Diff line change
Expand Up @@ -143,6 +143,14 @@
"opfs_type_text": "Văn bản",
"opfs_type_binary": "Nhị phân",
"opfs_root": "Gốc",
"opfs_read_only": "Thư mục này chỉ đọc. Chỉ agents/workspace và các thư mục con cho phép thay đổi.",
"opfs_rename": "Đổi tên",
"opfs_move": "Di chuyển",
"opfs_rename_placeholder": "Tên tệp hoặc thư mục mới",
"opfs_move_destination": "Thư mục đích",
"opfs_move_no_destination": "Không có thư mục nào khác trong agents/workspace để di chuyển đến.",
"opfs_rename_success": "Đã đổi tên",
"opfs_move_success": "Đã di chuyển",
"dom_permission_title": "Script yêu cầu quyền thao tác DOM",
"dom_permission_describe": "Script này yêu cầu khả năng đọc và thao tác DOM trang web (nhấp chuột, điền biểu mẫu, điều hướng, chụp ảnh màn hình, v.v.). Chỉ cấp quyền cho các script đáng tin cậy.",
"dom_permission_content": "Agent DOM thao tác",
Expand Down
8 changes: 8 additions & 0 deletions src/locales/zh-CN/agent.json
Original file line number Diff line number Diff line change
Expand Up @@ -143,6 +143,14 @@
"opfs_type_image": "图片",
"opfs_type_text": "文本",
"opfs_type_binary": "二进制",
"opfs_read_only": "此目录为只读目录。仅 agents/workspace 及其子目录允许修改。",
"opfs_rename": "重命名",
"opfs_move": "移动",
"opfs_rename_placeholder": "新的文件或目录名称",
"opfs_move_destination": "目标目录",
"opfs_move_no_destination": "agents/workspace 下没有其他目录可作为移动目标",
"opfs_rename_success": "重命名成功",
"opfs_move_success": "移动成功",
"dom_permission_title": "脚本请求 DOM 操作权限",
"dom_permission_describe": "此脚本请求读取和操作网页 DOM 的能力(点击、填写表单、导航、截图等)。请仅对可信脚本授权。",
"dom_permission_content": "Agent DOM 操作",
Expand Down
8 changes: 8 additions & 0 deletions src/locales/zh-TW/agent.json
Original file line number Diff line number Diff line change
Expand Up @@ -143,6 +143,14 @@
"opfs_type_text": "文字",
"opfs_type_binary": "二進位",
"opfs_root": "根目錄",
"opfs_read_only": "此資料夾為唯讀。只有 agents/workspace 及其子資料夾允許修改。",
"opfs_rename": "重新命名",
"opfs_move": "移動",
"opfs_rename_placeholder": "新的檔案或資料夾名稱",
"opfs_move_destination": "目的資料夾",
"opfs_move_no_destination": "agents/workspace 下沒有其他資料夾可作為移動目標",
"opfs_rename_success": "重新命名成功",
"opfs_move_success": "移動成功",
"dom_permission_title": "腳本請求 DOM 操作權限",
"dom_permission_describe": "此腳本請求讀取和操作網頁 DOM 的能力(點擊、填寫表單、導航、截圖等)。請僅對可信腳本授權。",
"dom_permission_content": "Agent DOM 操作",
Expand Down
Loading
Loading