fa156d6a59
Chat UI: - Each Claude/Codex session keeps its own chat/terminal view; Settings only sets how new sessions open. - Composer + menu: upload, project files and folders (#54, also dragged from the Files/Changes tree), context files, recent uploads, skills, plugins. - Activity side panel (progress, outputs, files read, uploads, memory, skills, connectors) with a file preview; edited-file counts per turn. - Permission-mode chip (Shift+Tab steps, read back from the pane: server/lib/pane-mode.js, GET|POST /api/run/:id/permission-mode). - Stop (Esc) while the main agent works; the status is checked per agent (with session_id /api/agents ignores its status filter) and re-read every 5 s while Stop shows. - Dropped images shown in the conversation (GET /api/run/drop/:name, the requester's own drop dir), full-size viewer. - A plain-text paste over 5,000 characters is attached as pasted-text.txt, so no prompt reaches tmux/argv limits (#68). Changes panel: every /api/lanes/:id/git* route takes ?source=<lane_sources id> (sourceFolder; ENOSOURCE otherwise) and a folder picker switches the whole panel to a workspace's extra folder (#70). Server mode S3 (one Linux user per account) — experimental, verified with fake sudo plus a P6 managed-settings spike on a test account: - member tmux listing runs in the background (cached, 15 s => unknown); - transcript snapshot copy is async, chunked, temp file + rename; - Express Layer patch only on Express 4; - tmux capturePane/sendKey go to the member's own server. Docs: the multi-user design moved in as docs/plans/server-mode/README.md (the AgentHub-Server repo is gone); S3-PLAN P6 result; LANES/API/openapi.
76 lines
2.8 KiB
JSON
76 lines
2.8 KiB
JSON
{
|
|
"title": "Users",
|
|
"description": "Every account on this server, with its workspaces, sessions and recent usage.",
|
|
"name": "User",
|
|
"role": "Role",
|
|
"workspaces": "Workspaces",
|
|
"sessions": "Sessions",
|
|
"last7d": "7 days",
|
|
"last30d": "30 days",
|
|
"disabled": "disabled",
|
|
"you": "you",
|
|
"tokens": "{{n}} tokens",
|
|
"actions": "Actions",
|
|
"roles": {
|
|
"admin": "Admin",
|
|
"analyst": "Analyst",
|
|
"developer": "Developer"
|
|
},
|
|
"roleHint": {
|
|
"admin": "Everything, including this server's configuration and every user's data",
|
|
"analyst": "Sees every user's data; works only in their own workspaces, changes no settings",
|
|
"developer": "Only their own workspaces; changes no settings"
|
|
},
|
|
"add": "Add user",
|
|
"username": "Username",
|
|
"usernameHint": "Letters, digits, '.', '_' or '-'",
|
|
"password": "Password",
|
|
"passwordHint": "At least 8 characters",
|
|
"newPassword": "New password",
|
|
"changeRole": "Change role",
|
|
"disable": "Disable",
|
|
"enable": "Enable",
|
|
"resetPassword": "Reset password",
|
|
"assignWorkspace": "Give a workspace",
|
|
"workspace": "Workspace",
|
|
"noOwner": "no owner",
|
|
"ownedBy": "owned by {{name}}",
|
|
"noWorkspaces": "There are no workspaces yet.",
|
|
"yourPassword": "Your password",
|
|
"yourPasswordHint": "Type your own password to confirm this change.",
|
|
"save": "Save",
|
|
"dialog": {
|
|
"add": "Add a user",
|
|
"role": "Change {{name}}'s role",
|
|
"disable": "Disable {{name}}?",
|
|
"disableBody": "{{name}} is signed out everywhere and cannot sign in until enabled again. Their workspaces and history stay.",
|
|
"enable": "Enable {{name}}?",
|
|
"password": "Reset {{name}}'s password",
|
|
"passwordBody": "{{name}} is signed out everywhere and signs in with the new password.",
|
|
"workspace": "Give {{name}} a workspace",
|
|
"workspaceBody": "The workspace's sessions and costs move to {{name}}. A developer sees only their own workspaces."
|
|
},
|
|
"done": {
|
|
"created": "{{name}} added",
|
|
"role": "{{name}} is now {{role}}",
|
|
"disabled": "{{name}} disabled",
|
|
"enabled": "{{name}} enabled",
|
|
"password": "{{name}}'s password reset",
|
|
"workspace": "Workspace given to {{name}}"
|
|
},
|
|
"errors": {
|
|
"EREAUTH": "Your password is wrong.",
|
|
"ETOOMANY": "Too many wrong passwords. Try again in 15 minutes.",
|
|
"ESELF": "You cannot change your own role or disable yourself.",
|
|
"EEXISTS": "That username is taken.",
|
|
"EBADUSER": "Username: letters, digits, '.', '_' or '-' (up to 64).",
|
|
"EBADPASSWORD": "Password: at least 8 characters."
|
|
},
|
|
"readOnly": "Analysts can view accounts but not change them.",
|
|
"auditTitle": "Audit log",
|
|
"auditDescription": "Account changes made here, and each time an admin or analyst opened a session a developer owns.",
|
|
"auditEmpty": "Nothing recorded yet.",
|
|
"activeCount": "{{n}} active",
|
|
"cost30d": "Cost · 30 days"
|
|
}
|