diff --git a/CHANGELOG.md b/CHANGELOG.md index 75b4a4e..632128f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -21,9 +21,20 @@ since its last release: lines. - **Schedules tab**: list, create (interval, role, model backend, prompt), pause/resume, and delete recurring agent spawns across all projects. -- **Memory tab**: a read view over the agent-memory note graph (`/memory/graph`) with - kind filters and expandable notes showing body, tags, and links; authoring stays on - the web dashboard and the agents' MCP server. +- **Memory tab**: the agent-memory note graph (`/memory/graph`) with kind filters and + expandable notes showing body, tags, and links — plus note authoring and deletion. +- **The full management surface** (Settings → Manage): model backends (CRUD incl. + write-only API keys and the claude/pi harness pick), skills (incl. + install-from-prompt), MCP connectors, plugins, permission overrides, repository + registration (git-server + manual modes, mise-init), forge hosts (encrypted tokens, + generated deploy keys), branch approvals, shared context, and the worker's + `claude /login` flow — the phone no longer needs a laptop nearby. +- **User accounts on mobile**: the connect screen gains email sign-in against + `/auth/login` (session token stored like the legacy env token), first-run admin + setup, forgot-password, and an API-token fallback (auto-selected for servers + predating accounts); Settings gains an Account screen (identity, change password, + sign out with server-side revocation) and Manage gains the admin Users screen + (invite with shareable links, promote/disable, reset links, delete). ### Added — user accounts: email sign-in, invites, resets, per-user separation diff --git a/app/README.md b/app/README.md index 9c7f83d..1ae33af 100644 --- a/app/README.md +++ b/app/README.md @@ -28,9 +28,30 @@ npm run ios # opens the iOS simulator (requires Xcode) | Answer | `src/screens/AnswerScreen.tsx` | Question, tappable quick replies, reply field + **Send & resume** | | Spawn | `src/screens/SpawnScreen.tsx` | Project select, model backend select, task field, Spawn | | Schedules | `src/screens/SchedulesScreen.tsx` | Recurring agent spawns: list, create (interval / role / model), pause, delete | -| Memory | `src/screens/MemoryScreen.tsx` | Read view over the agent-memory note graph, kind filters, expandable notes | +| Memory | `src/screens/MemoryScreen.tsx` | The agent-memory note graph: kind filters, expandable notes, note authoring + deletion | | Log | `src/screens/LogScreen.tsx` | All / per-project / Errors filters over the global feed | -| Settings | `src/screens/SettingsScreen.tsx` | Server info, notification toggles, Sign out | +| Settings | `src/screens/SettingsScreen.tsx` | Server info, Manage + Account entries, notification toggles, Sign out | +| Connect | `src/screens/ConnectScreen.tsx` | Email sign-in (`/auth/login`), first-run admin setup, forgot-password, API-token fallback | + +### Management screens (Settings → Manage) + +The full admin surface — everything the web dashboard can do, under +`src/screens/manage/`: + +| Screen | What it does | +| --- | --- | +| Models | Model-backend CRUD: base URL, model ids, claude/pi harness, write-only API keys (set/clear), enable toggles | +| Skills | Create / toggle / delete managed skills, read SKILL.md, install-from-prompt via the command queue | +| Connectors | stdio / http / sse MCP servers with args, env, and header entry | +| Plugins | Marketplace plugins pinned to their repo | +| Permissions | Default permission mode + allow/deny/ask rules over the read-only env baseline | +| Claude login | Drive the worker's `claude /login` (authorize in browser, paste the code back) | +| Repositories | Register repos (git-server or manual mode, optional mise-init bootstrap), sync, delete | +| Git servers | Forge hosts: encrypted tokens, generated deploy keys (public half copyable) | +| Approvals | Record operator approve / reject verdicts per project + branch | +| Shared context | Browse and set the cross-agent key/value store | +| Users | Invite (shareable links), promote / disable, mint reset links, delete | +| Account | Signed-in identity, change password, sign out (revokes the session server-side) | The prototype navigates by swapping a single `screen` value (with working back / close controls) rather than a native stack, mirroring the design. Answering