From 46c2494b00cd4f6e6e6f6496858ffc3952f5a2fb Mon Sep 17 00:00:00 2001 From: George Pickett Date: Thu, 29 Jan 2026 17:23:53 -0800 Subject: [PATCH] Add .agent directory to .gitignore, include readme image, and update README.md with enhanced project description and features. Remove outdated EXECPLAN files. --- .agent/EXECPLAN.md | 375 ------------------ .agent/EXECPLAN2.md | 199 ---------- .agent/EXECPLAN3.md | 212 ---------- .agent/EXECPLAN4.md | 174 -------- .agent/EXECPLAN5.md | 97 ----- .agent/EXECPLAN6.md | 141 ------- .agent/PLANS.md | 186 --------- .../20260127-1228-gateway-resilience.md | 5 - .../20260127-1228-onboarding-docs.md | 5 - .../20260127-1228-project-store-hardening.md | 5 - .../20260127-1228-test-coverage.md | 5 - .../20260127-1248-model-capabilities.md | 5 - .../20260127-1248-state-dir-unification.md | 5 - .../20260127-1248-tile-deletion-safety.md | 5 - .gitignore | 3 + README.md | 13 +- readme-image.png | Bin 0 -> 211535 bytes 17 files changed, 15 insertions(+), 1420 deletions(-) delete mode 100644 .agent/EXECPLAN.md delete mode 100644 .agent/EXECPLAN2.md delete mode 100644 .agent/EXECPLAN3.md delete mode 100644 .agent/EXECPLAN4.md delete mode 100644 .agent/EXECPLAN5.md delete mode 100644 .agent/EXECPLAN6.md delete mode 100644 .agent/PLANS.md delete mode 100644 .agent/future-plans/20260127-1228-gateway-resilience.md delete mode 100644 .agent/future-plans/20260127-1228-onboarding-docs.md delete mode 100644 .agent/future-plans/20260127-1228-project-store-hardening.md delete mode 100644 .agent/future-plans/20260127-1228-test-coverage.md delete mode 100644 .agent/future-plans/20260127-1248-model-capabilities.md delete mode 100644 .agent/future-plans/20260127-1248-state-dir-unification.md delete mode 100644 .agent/future-plans/20260127-1248-tile-deletion-safety.md create mode 100644 readme-image.png diff --git a/.agent/EXECPLAN.md b/.agent/EXECPLAN.md deleted file mode 100644 index f079bc6..0000000 --- a/.agent/EXECPLAN.md +++ /dev/null @@ -1,375 +0,0 @@ -# True Multi-Agent Projects (Local Folders + Git Init + Per-Tile Agent IDs) - -This ExecPlan is a living document. The sections `Progress`, `Surprises & Discoveries`, `Decision Log`, and `Outcomes & Retrospective` must be kept up to date as work proceeds. - -Maintain this document in accordance with `.agent/PLANS.md`. - -## Purpose / Big Picture - -After this change, the web UI can create a “project” by name and the server will create a real folder in your home directory (for example `~/example-project`), initialize it as a Git repository, and create a basic `.gitignore` that prevents committing `.env` files. - -Inside a project, the UI can create multiple “agent tiles”. Each tile will be a true, isolated Clawdbot agent by using a unique `agentId` in the session key (for example `agent:proj-example-project-coder-a1b2c3:main`). This gives each tile its own Clawdbot state directory subtree (`~/.clawdbot/agents//...`) and its own default workspace (`~/clawd-`), so sessions, auth profiles, and transcripts do not collide between tiles. - -You can see it working by: - -1. Starting the Clawdbot gateway and this Next.js dev server. -2. Creating a project named `example-project` in the UI. -3. Verifying the folder `~/example-project` exists, contains a `.git/` directory, and `.gitignore` contains `.env`. -4. Creating two tiles in that project (for example “Coder” and “Research” roles) and sending each a message. -5. Verifying transcripts land in different directories: - - `~/.clawdbot/agents//sessions/*.jsonl` - - `~/.clawdbot/agents//sessions/*.jsonl` - -## Progress - -- [x] (2026-01-25 18:30Z) Read `.agent/PLANS.md` and audited current app structure (projects store, tiles, gateway client). -- [x] (2026-01-25 18:55Z) Implemented project creation side effects (slugify, mkdir, `git init`, `.gitignore`) and updated the UI to accept only a project name. -- [x] (2026-01-25 18:55Z) Implemented per-tile `agentId`/`role` storage with a v1→v2 store migration and v2 session key derivation. -- [x] (2026-01-25 19:31Z) Added server-side tile creation endpoint with workspace bootstrap + auth profile copy and optional tile deletion endpoint. -- [x] (2026-01-25 19:31Z) Wired UI tile creation/deletion to server endpoints and updated client API helpers. -- [ ] (2026-01-25 19:38Z) Validate end-to-end (completed: `npm run lint`, `npm run build`; remaining: manual project/tile creation + gateway transcript verification). - -## Surprises & Discoveries - -- Observation: (none yet) - Evidence: (none yet) - -## Decision Log - -- Decision: Do not patch Clawdbot’s `clawdbot.json` to add `agents.list` entries for every tile. - Rationale: The gateway’s `config.patch`/`config.apply` schedules a restart, which is too disruptive for a UI that creates tiles frequently. For WebChat (`chat.send`) the gateway resolves `agentId` directly from the `sessionKey` prefix; using `agent::...` is sufficient to get isolated `agentDir` + session transcripts without touching config. - Date/Author: 2026-01-25 / Codex - -- Decision: Never delete project folders or agent directories from disk as part of “delete” actions. - Rationale: Directory deletion is destructive and explicitly discouraged by the repo’s agent guidelines; the UI should only remove entries from its own store and leave cleanup as a separate, explicit operation. - Date/Author: 2026-01-25 / Codex - -- Decision: Generate client-side tile `agentId`s as `proj--` until server-side tile provisioning lands. - Rationale: The UI still creates tiles locally during Milestone 2; this keeps per-tile session keys unique without blocking on the new tile endpoint. - Date/Author: 2026-01-25 / Codex - -## Outcomes & Retrospective - -(Fill in once milestones land.) - -## Context and Orientation - -This repository is a local-only Next.js app that talks directly to a running Clawdbot Gateway over a WebSocket. - -Key concepts (define these because names are overloaded): - -- “Project”: In this app, a project is a record in a JSON store plus a real folder on disk in your home directory. After this change, creating a project also creates `~/` and initializes a Git repo there. -- “Tile”: A draggable UI panel representing an interactive chat session. Today, tiles are “agents” only in the UI sense; they all use `agent:main:...` session keys. -- “Agent” (Clawdbot agent): In Clawdbot, the agent is encoded in the session key prefix: `agent::`. The `` is used to choose the agent’s state directory (`~/.clawdbot/agents//agent`) and session transcript directory (`~/.clawdbot/agents//sessions`). When we say “true multi-agent” in this plan, we mean “each tile uses a different `` so Clawdbot’s state and transcripts are isolated per tile”. -- “Gateway”: The Clawdbot process that exposes a WebSocket RPC interface. This UI uses it via `src/lib/gateway/GatewayClient.ts` and calls methods like `chat.send` and `sessions.patch`. - -Current code layout (important files you must read before editing): - -- Project store (server side): - - `app/api/projects/store.ts` writes `~/.clawdbot/agent-canvas/projects.json` - - `app/api/projects/route.ts` implements `GET/POST/PUT /api/projects` - - `app/api/projects/[projectId]/route.ts` implements `DELETE /api/projects/:projectId` -- Client-side state: - - `src/state/store.tsx` holds `ProjectsStore` in React state and persists it back to the server via `PUT /api/projects` -- UI + gateway wiring: - - `app/page.tsx` sends chat via `client.call("chat.send", { sessionKey, ... })` - - `src/lib/gateway/GatewayClient.ts` is the WebSocket RPC client - -Important current behavior that must change: - -- Tile session keys are currently hard-coded under the main agent: - - `src/state/store.tsx` builds keys as `agent:main:proj-${projectId}-${tileId}` - - This causes all tiles to share the same agentId (“main”), which is not true multi-agent isolation. - -## Milestones - -### Milestone 1: Projects create real folders and Git repos - -At the end of this milestone, creating a project from the UI (by name) will create a new directory in `~/` (based on a slugified name), run `git init` inside it, and ensure `.gitignore` ignores `.env` files. The project record stored in `projects.json` will point at that directory via `repoPath`. - -Define “slugified name” for this repo so it is deterministic and testable: - -- Trim whitespace. -- Lowercase. -- Replace any run of characters that are not `a-z` or `0-9` with a single `-`. -- Trim leading/trailing `-`. -- If the result is empty, reject the request with HTTP 400 (“Project name produced an empty folder name”). - -Define collision behavior explicitly so the endpoint is safe to retry and safe around existing folders: - -- Preferred: if `~/` already exists, choose the first available suffix `~/-2`, `~/-3`, etc, and return a warning in the response that indicates the final path chosen. -- Never delete or overwrite existing directories as part of “create project”. - -Define the exact `.gitignore` rules this milestone must guarantee (append missing lines if the file exists; do not remove user lines): - - .env - .env.* - !.env.example - -You can prove it works by creating a project named `example-project` and running `ls -la ~/example-project` to see `.git/` and `.gitignore`, and `cat ~/example-project/.gitignore` to confirm `.env` is present. - -### Milestone 2: Persisted tile schema supports per-tile agent IDs - -At the end of this milestone, the persisted store schema moves from `ProjectsStore.version = 1` to `version = 2`. Each tile now has a required `agentId` and `role`, and the `sessionKey` becomes a derived value that always uses the agent id prefix form `agent::main`. - -Migration rules from v1 must be written down and implemented exactly: - -- If the stored file is missing or has `version: 1`, treat it as v1. -- For each v1 tile: - - Set `tile.agentId` by parsing `tile.sessionKey`: - - If `tile.sessionKey` matches `agent::`, then `agentId = `. - - Otherwise set `agentId = "main"`. - - Set `tile.role = "coding"` (legacy default). - - Keep `tile.sessionKey` as-is for legacy tiles so existing sessions/transcripts still match. -- For any new tile created under v2 rules: - - Always set `tile.sessionKey = agent::main`. - -You can prove it works by loading an existing v1 store and seeing it automatically hydrate tiles with `agentId = "main"` (legacy) while new tiles get unique `agentId`s. - -### Milestone 3: Creating a tile provisions a real Clawdbot agent workspace and auth copy - -At the end of this milestone, creating a tile is no longer a client-only operation. The client will call a new server endpoint, and the server will both update the `projects.json` store and run filesystem side effects that make the new tile usable as an independent Clawdbot agent. - -Add a new API route: - -- `POST /api/projects/:projectId/tiles` - -Request JSON: - - { "name": "Coder", "role": "coding" } - -Response JSON: - - { "store": , "tile": , "warnings": ["..."] } - -Server-side behavior for `POST /api/projects/:projectId/tiles`: - -- Load the current store via `loadStore()` and find the project by id. -- Generate: - - `tile.id = crypto.randomUUID()` - - `tile.agentId` using a deterministic, safe id generator (specified in the Interfaces section) based on: - - project folder slug (from `project.repoPath` basename) - - role - - a short random suffix (for uniqueness) -- Set `tile.sessionKey = agent::main`. -- Add the tile to the project, save the store, and then run side effects: - - Create the agent workspace folder at `~/clawd-` (create directories if missing). - - Attempt to create a symlink inside that workspace: `~/clawd-/repo -> `. - - If the symlink already exists, do nothing. - - If the symlink creation fails, do not create an alternate symlink/fallback; the bootstrap files below already contain the absolute repo path. - - Create these bootstrap files in the workspace if they do not exist: - - BOOTSTRAP.md - AGENTS.md - SOUL.md - - The minimum required content (write exactly this structure; customize role + repo path dynamically): - - # BOOTSTRAP.md - - Project repo: - Role: - - You are operating inside this project. Prefer working in ./repo (symlink) when it exists. - If ./repo does not exist, operate directly in: - - First action: run "ls" in the repo to confirm access. - -- Copy auth profiles from the default agent into the new agent if the new agent has no auth file yet: - - Resolve `stateDir = process.env.CLAWDBOT_STATE_DIR ?? "~/.clawdbot"`. - - Resolve `sourceAgentId = process.env.CLAWDBOT_DEFAULT_AGENT_ID ?? "main"`. - - Source: `/agents//agent/auth-profiles.json` - - Destination: `/agents//agent/auth-profiles.json` - - Never overwrite an existing destination file. - - If the source does not exist, return a warning like: `No auth profiles found at ; agent may need login`. - -You can prove it works by creating a tile and checking that `~/clawd-/BOOTSTRAP.md` exists and `~/.clawdbot/agents//agent/auth-profiles.json` exists (assuming the source exists). - -### Milestone 4: Chat uses per-tile session keys and produces isolated transcripts - -At the end of this milestone, sending a message from a tile uses that tile’s per-tile session key (`agent::main`). This must result in distinct transcript files under each agent’s session directory. - -You can prove it works by sending one message in two different tiles and then checking: - - ls ~/.clawdbot/agents//sessions - ls ~/.clawdbot/agents//sessions - -Both should contain JSONL transcript files and the files should differ. - -## Plan of Work - -Implement this as a sequence of small, verifiable changes. Avoid modifying the Clawdbot repo; all changes are contained within this repository. - -First, make project creation authoritative on the server: update `app/api/projects/route.ts` `POST` so it accepts a project name and performs filesystem creation (`~/`, `git init`, `.gitignore`). Update the UI form in `app/page.tsx` so the user provides only a project name; do not ask for a repo path in the UI anymore, since the server determines it. - -Second, introduce a v2 store schema that supports per-tile `agentId` and `role`. Implement the migration in `app/api/projects/store.ts` inside `loadStore()`. Stop silently resetting the store on parse errors; instead, throw an error that returns HTTP 500 with a message pointing at the store path so the user can fix or delete it intentionally. - -Third, add a dedicated server endpoint for creating tiles so you can run filesystem side effects at creation time. Implement: - -- `app/api/projects/[projectId]/tiles/route.ts` with `POST` as defined in Milestone 3. -- Optionally (recommended), implement `DELETE app/api/projects/[projectId]/tiles/[tileId]/route.ts` so tile deletion can also be server-authoritative (while still not deleting directories on disk). - -This endpoint will generate the tile id, compute a safe `agentId`, create the workspace and bootstrap files, and copy auth profiles if possible. It must return the updated store (and the created tile) so the client can update state without racing the debounced `PUT /api/projects` persistence. - -Fourth, update the client to use the per-tile `sessionKey` derived from `agentId` when calling `chat.send` and `sessions.patch`, and update the lookup helpers that match incoming `chat` events by `sessionKey`. - -This requires edits in: - -- `src/state/store.tsx` to remove client-only `createTile()` and replace it with a function that calls the new tile endpoint and dispatches `loadStore` with the returned store. -- `app/page.tsx` to ensure any “new agent” action calls the updated store function, and that any message send uses the tile’s current `sessionKey`. - -Finally, validate with a hands-on scenario and run `npm run lint` and `npm run build`. - -## Concrete Steps - -All commands in this section are run from the repository root unless otherwise stated. - -1. Install deps: - - npm install - -2. Start the Clawdbot gateway in a separate terminal (this plan assumes it is already installed and configured on your machine): - - clawdbot gateway run --bind loopback --port 18789 --force - -3. Start the Next.js app: - - npm run dev - -4. Open the UI: - - http://localhost:3000 - -5. Connect to the gateway (Connection panel): - - Gateway URL: ws://127.0.0.1:18789 - Token: (enter if your gateway requires it) - -6. Create a project named `example-project` and verify on disk: - - ls -la ~/example-project - cat ~/example-project/.gitignore - -7. Create two tiles (roles: “coding” and “research”), send one message from each, and verify on disk: - - ls ~/.clawdbot/agents - ls ~/.clawdbot/agents//sessions - ls ~/.clawdbot/agents//sessions - -Expected: both session directories exist and each contains at least one `.jsonl` transcript file after sending messages. - -## Validation and Acceptance - -Acceptance is user-visible behavior: - -- Creating a project named `example-project` results in a new folder at `~/example-project` with: - - a `.git/` directory (Git repo initialized) - - a `.gitignore` file containing rules that ignore `.env` files -- Creating two tiles in a project produces two different `agentId`s and their sessions do not collide: - - after sending messages, transcripts appear under two different directories in `~/.clawdbot/agents//sessions/` -- Existing UI behavior remains functional: - - The canvas still renders and tiles can be created/moved/resized. - - `npm run lint` succeeds. - - `npm run build` succeeds. - -## Idempotence and Recovery - -- Project creation must be safe to retry: - - If the target directory already exists, the API should not delete or overwrite existing files; it should return a clear error or create a unique suffixed directory (document which approach you choose in the Decision Log). - - If `git init` has already been run, do not reinitialize; treat it as success. - - If `.gitignore` exists, only add missing ignore lines; do not delete user content. - -- Tile creation must be safe to retry: - - Never overwrite an existing `auth-profiles.json` in a destination agent dir. - - Never overwrite existing workspace bootstrap files; only create missing ones. - -If the store becomes invalid JSON, prefer failing with an actionable error rather than silently resetting it (silent reset loses data). - -## Artifacts and Notes - -When you land the implementation, include a short “evidence bundle” here as indented snippets: - - - Output of: ls -la ~/example-project - - Contents of: ~/example-project/.gitignore (relevant lines only) - - Output of: ls ~/.clawdbot/agents//sessions - - Output of: npm run lint - - Output of: npm run build - -## Interfaces and Dependencies - -Avoid new dependencies unless they remove real complexity. - -Implement with: - -- Next.js App Router route handlers (`app/api/.../route.ts`) using `export const runtime = "nodejs";` -- Node built-ins: - - `fs` / `fs/promises` for filesystem operations - - `path` and `os` for path construction - - `child_process` (`spawnSync` or `execFile`) for running `git init` - -New/updated types: - -- In `src/lib/projects/types.ts`, update: - - export type ProjectTile = { - id: string; - name: string; - agentId: string; - role: "coding" | "research" | "marketing"; - sessionKey: string; - model?: string | null; - thinkingLevel?: string | null; - position: { x: number; y: number }; - size: { width: number; height: number }; - }; - -- In `src/lib/projects/types.ts`, update: - - export type ProjectsStore = { - version: 2; - activeProjectId: string | null; - projects: Project[]; - }; - -Create helper modules (names are suggestions; keep them small and focused): - -- `src/lib/ids/slugify.ts` for turning project names into safe folder names. -- `src/lib/ids/agentId.ts` for generating safe, <=64-char agent IDs. -- `src/lib/fs/git.ts` for `git init` and `.gitignore` management. - -Define these helpers precisely so two different implementers produce the same behavior: - -- `slugifyProjectName(name: string): string`: - - Trim whitespace. - - Lowercase. - - Replace any run of non-`[a-z0-9]` characters with `-`. - - Trim leading/trailing `-`. - - Return the result; if empty, throw an error that the caller converts into HTTP 400. - -- `generateAgentId(params: { projectSlug: string; role: "coding" | "research" | "marketing"; seed: string }): string`: - - Compute `base = "proj-" + projectSlug + "-" + role + "-" + seed`. - - Normalize: - - Lowercase. - - Replace any run of characters not in `[a-z0-9_-]` with `-`. - - Trim leading/trailing `-`. - - If empty, fall back to `"proj-unknown-" + role + "-" + seed` (this is the only acceptable fallback; it prevents crashes if projectSlug is weird). - - Enforce length: - - If longer than 64 chars, truncate from the left side by trimming `projectSlug` first, keeping the suffix `-" + role + "-" + seed` intact, and ensuring the final string is <= 64. - - The `seed` should be 6 chars derived from the tile UUID (for example `tileId.replaceAll("-", "").slice(0, 6)`), so collisions are extremely unlikely without needing a registry. - -For the Git helper, explicitly specify required operations: - -- `ensureGitRepo(dir: string): { warnings: string[] }`: - - Create `dir` recursively if missing. - - If `.git/` does not exist, run `git init` in that directory. - - Ensure `.gitignore` contains these exact lines (append missing): - - .env - .env.* - !.env.example - -Plan change notes: - -- (2026-01-25 18:30Z) Initial ExecPlan drafted based on current code audit. -- (2026-01-25 18:55Z) Updated progress and decision log after implementing Milestones 1–2 changes in code. -- (2026-01-25 19:31Z) Implemented Milestones 3–4 code paths and marked progress accordingly. diff --git a/.agent/EXECPLAN2.md b/.agent/EXECPLAN2.md deleted file mode 100644 index 12b09eb..0000000 --- a/.agent/EXECPLAN2.md +++ /dev/null @@ -1,199 +0,0 @@ -# Refactor Clawdbot Agent UI to Create-Next-App Best Practices - -This ExecPlan is a living document. The sections `Progress`, `Surprises & Discoveries`, `Decision Log`, and `Outcomes & Retrospective` must be kept up to date as work proceeds. - -Maintain this document in accordance with `.agent/PLANS.md`. - -## Purpose / Big Picture - -After this change, the Clawdbot Agent UI will follow the create-next-app best practices end to end: a `src/`-rooted App Router layout, a feature-first structure, a shared component system using shadcn/ui, validated environment variables, consistent logging helpers, and a proper quality gate stack (lint, typecheck, unit tests, e2e tests, and OpenTelemetry instrumentation). A new contributor should be able to locate UI, domain logic, and shared primitives quickly, and the project should ship with predictable tooling and test coverage that proves the UI still loads and core utilities behave as expected. - -You can see it working by running `npm run dev` and loading the canvas UI as before, then running `npm run lint`, `npm run typecheck`, `npm run test`, and `npm run e2e` to confirm the new quality gates pass. - -## Progress - -- [x] (2026-01-27 00:00Z) Copied the ExecPlan requirements into `.agent/PLANS.md` and drafted this plan based on a repo audit. -- [x] (2026-01-27 19:58Z) Establish the new `src/`-based structure, move files, and update imports to the `@/*` alias. -- [x] (2026-01-27 20:09Z) Add shared infrastructure (shadcn/ui, env validation, logger, http helpers, instrumentation) and update code to use it. -- [x] (2026-01-27 20:13Z) Add quality gates (Prettier integration, Vitest, Playwright) and create initial tests. -- [x] (2026-01-27 20:23Z) Verify the refactor by running lint, typecheck, unit tests, e2e tests, and a dev-server smoke check. - -## Surprises & Discoveries - -- Observation: `tsc --noEmit` initially failed because `.next/types/validator.ts` referenced the old `/app` paths after the move. - Evidence: `Cannot find module '../../app/page.js'` errors until a fresh `next build` regenerated `.next/types`. - -- Observation: Playwright needed browser binaries installed before the e2e smoke test could launch. - Evidence: `browserType.launch: Executable doesn't exist ... Please run: npx playwright install`. - -- Observation: `next dev` failed when `src/app/globals.css` imported markdown styles from `../styles/markdown.css`. - Evidence: `CssSyntaxError: ... Can't resolve '../styles/markdown.css' in '/Users/.../src/app'` until the styles moved under `src/app/styles`. - -## Decision Log - -- Decision: Move the App Router tree from `/app` to `/src/app` and update the `@/*` alias to point at `src/*`. - Rationale: The create-next-app best practices expect a `src/` root and make internal imports consistent across server and client code. - Date/Author: 2026-01-27 / Codex - -- Decision: Introduce `src/features/canvas` for canvas UI and state, while keeping cross-cutting domain logic in `src/lib/*`. - Rationale: The canvas UI is a single feature used by one route, so colocating its components and state improves navigability without overhauling shared domain code. - Date/Author: 2026-01-27 / Codex - -- Decision: Use shadcn/ui with the default “new-york” style and zinc palette, and keep Tailwind v4 as-is. - Rationale: This aligns with the skill defaults and avoids introducing additional styling systems. - Date/Author: 2026-01-27 / Codex - -- Decision: Add minimal unit and e2e tests that exercise existing, stable behavior rather than inventing new UI flows. - Rationale: The goal is to validate the refactor without forcing new product decisions. - Date/Author: 2026-01-27 / Codex - -- Decision: Mock `/api/projects` in the Playwright smoke test to force an empty store response. - Rationale: The UI renders the empty-state copy only when there are no projects; mocking keeps the smoke test deterministic even if a developer has existing workspace data. - Date/Author: 2026-01-27 / Codex - -- Decision: Move markdown styles to `src/app/styles/markdown.css` and import them via `./styles/markdown.css` from `src/app/globals.css`. - Rationale: Turbopack failed to resolve the previous `../styles/markdown.css` import during `next dev`; keeping the file under `src/app` keeps dev builds stable. - Date/Author: 2026-01-27 / Codex - -## Outcomes & Retrospective - -(To be filled in once milestones are complete.) - -## Context and Orientation - -This repository is a Next.js 16 App Router UI with the router currently rooted at `/app` and shared code in `/src`. There is no `src/app` directory yet, imports often use deep relative paths (for example `../src/lib/...`), and there is no testing stack beyond ESLint. There is also no OpenTelemetry instrumentation and no shared UI primitives. - -Key files and directories today: - -The App Router lives in `app/` with `app/layout.tsx`, `app/page.tsx`, `app/globals.css`, and multiple API routes under `app/api/*` (for example `app/api/projects/route.ts` and `app/api/gateway/route.ts`). UI components live in `src/components/` and are tightly coupled to the canvas route. Client state and reducers are in `src/state/store.tsx`. Shared domain logic is already in `src/lib/` (for example `src/lib/gateway/`, `src/lib/projects/`, and `src/lib/clawdbot/`). - -There is an existing ExecPlan at `.agent/EXECPLAN.md` that addresses different functionality. This plan does not depend on it and stands alone. - -## Plan of Work - -First, move the App Router and UI code to a `src/`-rooted structure that matches the create-next-app layout. This includes relocating the `app/` tree to `src/app`, placing canvas-specific UI and state under `src/features/canvas`, and ensuring all internal imports use the `@/*` alias. After the file moves, update `tsconfig.json` and any import paths so the app builds cleanly without deep relative paths. - -Next, add the infrastructure expected by the skill: initialize shadcn/ui, add shared `src/components/ui` primitives, and introduce base `src/lib` helpers for environment validation, logging, HTTP helpers, and tracing. Update the existing code to use these helpers and centralize duplicated logic (notably the gateway config parsing used by `app/api/gateway/route.ts`). Add OpenTelemetry instrumentation via `src/instrumentation.ts` and ensure the service name matches the project. - -Finally, add quality gates and tests. Integrate Prettier into the ESLint flat config, add `typecheck`, `test`, and `e2e` scripts, and configure Vitest and Playwright. Write initial unit tests for stable, pure utilities (for example `slugifyProjectName`) and a lightweight e2e smoke test that verifies the canvas UI loads. Run lint, typecheck, unit tests, e2e tests, and a dev-server smoke check to validate the refactor. - -## Concrete Steps - -Work from the repo root `/Users/georgepickett/clawdbot-agent-ui`. - -1. Move the App Router to `src/app` and establish the feature structure using `git mv` so history is preserved. - Example commands: - git mv app src/app - git mv src/components src/features/canvas/components - git mv src/state src/features/canvas/state - mkdir -p src/components/shared src/components/ui src/features src/hooks src/styles tests/unit tests/e2e - -2. Update import paths to the new locations and to the `@/*` alias. Every import that currently starts with `../src/` or `../../src/` should be replaced with `@/` and point to the new structure. Make sure `src/app/page.tsx`, all API route files under `src/app/api/`, and all moved components and state modules compile cleanly. - -3. Update `tsconfig.json` so the `@/*` alias maps to `./src/*`. Ensure all TypeScript path imports align with the new structure. - -4. Initialize shadcn/ui and add a starter component. Run the CLI with the opinionated answers from the skill: style `new-york`, base color `zinc`, CSS variables `yes`, global CSS `src/app/globals.css`, components alias `@/components`, utils alias `@/lib/utils`, and UI alias `@/components/ui`. Then add the Button component. - Example commands: - npx shadcn@latest init - npx shadcn@latest add button - -5. Add shared `src/lib` helpers and wire them into the existing code. - - Create `src/lib/env.ts` and validate environment variables using Zod. Include optional server variables used in config resolution (`MOLTBOT_STATE_DIR`, `CLAWDBOT_STATE_DIR`, `MOLTBOT_CONFIG_PATH`, `CLAWDBOT_CONFIG_PATH`) and an optional client variable (`NEXT_PUBLIC_GATEWAY_URL`). Use this module in server-side config resolution and in the client hook to default the gateway URL. - - Create `src/lib/logger.ts` as a small wrapper over `console` that exposes `info`, `warn`, `error`, and `debug`, and replace direct `console.*` usage in the gateway client and API routes with the logger to keep logging consistent and easy to adjust. - - Create `src/lib/http.ts` with a `fetchJson(input, init)` helper that throws a useful error when responses are not ok. Update `src/lib/projects/client.ts` (and any other client fetchers) to use this helper. - - Create `src/lib/tracing.ts` as the shared tracing helper, and add `src/instrumentation.ts` that calls `registerOTel` from `@vercel/otel` with `serviceName: "clawdbot-agent-ui"`. - -6. Reduce duplicated gateway config logic by refactoring `src/app/api/gateway/route.ts` to rely on the existing `src/lib/clawdbot/config.ts` helpers (or introduce a small `src/lib/clawdbot/gateway.ts` helper if needed) so there is a single source of truth for state dir/config resolution. - -7. Split the markdown styling into `src/styles/markdown.css` and import it from `src/app/globals.css`, leaving the Tailwind v4 `@import "tailwindcss";` line intact. - -8. Add quality gates and testing configuration. - - Install dependencies (npm is used by this repo): - npm install zod @vercel/otel - npm install -D prettier eslint-config-prettier vitest @testing-library/react @testing-library/jest-dom jsdom @playwright/test - - Update `eslint.config.mjs` to include `eslint-config-prettier/flat` and keep the existing ignores. Update `package.json` scripts to: - lint: eslint . - typecheck: tsc --noEmit - test: vitest - e2e: playwright test - - Create `vitest.config.ts` with a JSDOM environment and a setup file that imports `@testing-library/jest-dom`. Add at least two unit tests in `tests/unit/`: - - - `tests/unit/slugifyProjectName.test.ts` should assert that `slugifyProjectName("My Project")` becomes `"my-project"` and that an all-symbol input throws with the current error message. - - `tests/unit/fetchJson.test.ts` should stub `fetch` and assert that non-ok responses throw and ok responses return parsed JSON. - - Create `playwright.config.ts` with a `webServer` that runs `npm run dev` on port 3000. Add `tests/e2e/canvas-smoke.spec.ts` that loads `/` and asserts the empty-state copy “Create a workspace to begin.” is visible. - -9. Run verification commands and record outputs in the Progress section as you go. - -## Validation and Acceptance - -The refactor is accepted when the app still runs and all quality gates pass. - -Run the following from `/Users/georgepickett/clawdbot-agent-ui`: - -- `npm run lint` and expect no ESLint errors. -- `npm run typecheck` and expect no TypeScript errors. -- `npm run test` and expect all unit tests to pass (the new tests must fail before the implementation and pass after). -- `npm run e2e` and expect the Playwright smoke test to pass. -- `npm run dev`, open `http://localhost:3000`, and confirm the canvas UI loads and the empty-state message appears when no workspace is selected. - -For each milestone, follow the verification workflow: - -1. Tests to write: create the unit tests described above and confirm they fail before the helper implementations or refactors are complete. -2. Implementation: perform the moves, refactors, and helper additions described in the Plan of Work. -3. Verification: re-run the relevant tests and commands until they pass. -4. Commit: after each milestone succeeds, commit the changes with a message like “Milestone 1: Move app to src and update imports”. - -## Idempotence and Recovery - -The file moves can be re-run safely with `git mv` and do not delete data. If a move goes to the wrong location, move it back and re-run the import updates. Dependency installs are safe to re-run; if conflicts occur, remove `node_modules` and run `npm install` again. If any tests or builds fail, revert to the last successful commit and re-apply the current milestone with smaller, verified steps. - -## Artifacts and Notes - -Include short transcripts of any failing test errors or build errors encountered during the refactor in this section so the next contributor can see what broke and why. Keep snippets concise and focused on the error and fix. - -`npm run test` initially failed with: - ReferenceError: expect is not defined - at tests/setup.ts:1 -Fix: swap `@testing-library/jest-dom` import to `@testing-library/jest-dom/vitest` and restrict Vitest to `tests/unit/**`. - -`npm run e2e` initially failed with: - Error: browserType.launch: Executable doesn't exist at .../chromium_headless_shell... -Fix: run `npx playwright install` to fetch browsers. - -`npm run e2e` then failed with: - Error: getByText('Create a workspace to begin.') ... element(s) not found -Fix: mock `/api/projects` in the Playwright test to return an empty store. - -`npm run dev` failed with: - CssSyntaxError: ... Can't resolve '../styles/markdown.css' in '/Users/.../src/app' -Fix: move markdown styles into `src/app/styles/markdown.css` and update the import to `./styles/markdown.css`. - -## Interfaces and Dependencies - -New dependencies to add include `zod` for environment validation, `@vercel/otel` for OpenTelemetry, `prettier` and `eslint-config-prettier` for formatting alignment, `vitest` plus React Testing Library and `jsdom` for unit tests, and `@playwright/test` for e2e testing. The shadcn/ui CLI will add its own dependencies (notably `class-variance-authority`, `tailwind-merge`, `clsx`, and `@radix-ui/react-slot`) when the Button component is installed. - -Define these modules explicitly: - -In `src/lib/env.ts`, export `env` as the parsed result of a Zod schema containing the optional server variables and the optional `NEXT_PUBLIC_GATEWAY_URL` string. - -In `src/lib/logger.ts`, export a `logger` object with `info`, `warn`, `error`, and `debug` methods; each should delegate to the matching `console` method. - -In `src/lib/http.ts`, export `fetchJson(input: RequestInfo | URL, init?: RequestInit): Promise` that throws an `Error` with the response body’s `error` field (if present) or a default message. - -In `src/lib/tracing.ts`, export a `registerTracing()` function that calls `registerOTel` or is invoked by `src/instrumentation.ts`. - -In `src/instrumentation.ts`, export a `register()` function that calls `registerOTel({ serviceName: "clawdbot-agent-ui" })`. - -Plan update note (2026-01-27 19:58Z): Marked milestone 1 complete after moving the App Router to `src/app`, relocating canvas components/state under `src/features/canvas`, and switching imports to the `@/*` alias with the updated TypeScript path mapping. -Plan update note (2026-01-27 20:09Z): Marked milestone 2 complete after adding shadcn/ui, env validation, logger/http/tracing helpers, gateway config reuse, and extracting markdown styles into `src/styles/markdown.css`. -Plan update note (2026-01-27 20:13Z): Marked milestone 3 complete after wiring Prettier into ESLint, adding Vitest + Playwright configs, and creating initial unit and e2e tests. -Plan update note (2026-01-27 20:23Z): Marked milestone 4 complete after running lint/typecheck/tests/e2e, installing Playwright browsers, and stabilizing the smoke test via an `/api/projects` mock. -Plan update note (2026-01-27 20:38Z): Moved markdown styles under `src/app/styles` and updated `globals.css` import to fix `next dev` resolution errors. diff --git a/.agent/EXECPLAN3.md b/.agent/EXECPLAN3.md deleted file mode 100644 index 462f9c0..0000000 --- a/.agent/EXECPLAN3.md +++ /dev/null @@ -1,212 +0,0 @@ -# Refactor Canvas Zoom/Pan for a Figma-like Agent Workspace - -This ExecPlan is a living document. The sections `Progress`, `Surprises & Discoveries`, `Decision Log`, and `Outcomes & Retrospective` must be kept up to date as work proceeds. - -Maintain this document in accordance with `.agent/PLANS.md` (repository root). - -## Purpose / Big Picture - -After this change, the Agent UI canvas supports a “real canvas” interaction model that feels closer to Figma: zoom is anchored to the cursor (so the point under your mouse stays under your mouse while zooming), trackpad pinch zoom works, mouse wheel can zoom (without breaking trackpad two-finger pan), and canvas panning is smooth and predictable. Managing many agent tiles becomes practical because you can quickly zoom to inspect a tile, zoom out for overview, and use a minimap to navigate large layouts. - -You can see it working by starting the dev server, creating/opening a workspace with multiple agent tiles, then pinch-zooming on a trackpad (the point under the cursor stays pinned), using a mouse wheel to zoom, two-finger scrolling to pan, dragging empty canvas space to pan, and using a minimap overlay to jump around when tiles are spread out. - -## Progress - -- [x] (2026-01-27 00:00Z) Audited current canvas transform/zoom behavior and drafted ExecPlan. -- [x] (2026-01-27) Milestone 1: Add transform math utilities + unit tests that define cursor-anchored zoom behavior. -- [x] (2026-01-27) Milestone 2: Implement wheel/pinch zoom + trackpad pan with rAF throttling; keep existing buttons working. -- [x] (2026-01-27) Milestone 3: Add minimap (overview) and “zoom to fit” navigation helpers for large canvases. -- [x] (2026-01-27) Milestone 4: Add Playwright interaction coverage and polish (performance + edge cases). - -## Surprises & Discoveries - -(To be filled in during implementation.) - -## Decision Log - -- Decision: Implement the interaction model without introducing a third-party canvas/graph library (no React Flow / no D3 zoom). - Rationale: The current UI already has tile layout and drag/resize behavior; the biggest UX gap is transform math + input handling. Keeping it in-house minimizes dependency surface and keeps the behavior easy to tailor. - Date/Author: 2026-01-27 / Codex - -- Decision: Use “zoom to cursor” math and multiplicative zoom deltas (exponential scaling) rather than linear +/- 0.1 steps for wheel/pinch. - Rationale: Cursor-anchored zoom is the core Figma-like affordance; multiplicative zoom feels consistent across zoom levels and matches common canvas UX expectations. - Date/Author: 2026-01-27 / Codex - -- Decision: Default input mapping: trackpad two-finger scroll pans; trackpad pinch (wheel event with ctrlKey) zooms; mouse wheel zooms when it appears to be a wheel (line-based deltas) and otherwise pans. - Rationale: Browsers do not reliably distinguish “mouse wheel” vs “trackpad scroll” in a principled way. This heuristic keeps trackpad pan usable while still enabling mouse wheel zoom without requiring keyboard shortcuts. - Date/Author: 2026-01-27 / Codex - -- Decision: Trackpad pan subtracts wheel deltas from offsets (scroll down reveals lower world coordinates). - Rationale: Matches standard scroll direction expectations while keeping zoom anchor math unchanged. - Date/Author: 2026-01-27 / Codex - -- Decision: `zoomToFit` accepts the current transform to preserve state when there are no tiles. - Rationale: The helper needs a fallback transform; passing it in keeps the helper pure and avoids hidden defaults. - Date/Author: 2026-01-27 / Codex - -## Outcomes & Retrospective - -- Outcome: Canvas interactions now support cursor-anchored zoom (wheel/pinch), smooth pan, minimap navigation, and zoom-to-fit, with shared transform math and coverage in unit/e2e tests. - -## Context and Orientation - -This repo is a Next.js App Router UI. The “canvas” is implemented as a full-screen `CanvasViewport` that renders multiple draggable/resizable “agent tiles”. - -Relevant files include `src/features/canvas/components/CanvasViewport.tsx` (canvas surface + CSS transform), `src/features/canvas/components/AgentTile.tsx` (tile drag/resize; pointer deltas are divided by zoom), `src/features/canvas/components/HeaderBar.tsx` (zoom controls + zoom readout), `src/features/canvas/state/store.tsx` (the `CanvasTransform` state and `setCanvas` reducer action), and `src/app/page.tsx` (wires state to the viewport and header). - -Current behavior (as of 2026-01-27) is that zoom only changes via header +/- buttons and is applied as CSS `translate(offsetX, offsetY) scale(zoom)` with `transformOrigin: "0 0"`. Panning is pointer-drag on empty canvas space only (no trackpad two-finger pan and no wheel support). Zoom is not cursor-anchored; it effectively zooms around the top-left origin of the inner container. - -Definitions used in this plan: “world coordinates” are the coordinate space where tile positions and sizes are stored (tile `{ position: {x,y}, size: {width,height} }` in `AgentTile` data). “viewport/screen coordinates” are CSS pixels relative to the visible canvas viewport element. The transform maps world → screen as `screen = offset + zoom * world`, where `offset` is `{offsetX, offsetY}` in screen pixels. - -This plan also uses a few browser/DOM terms. `requestAnimationFrame` (abbreviated “rAF” below) is a browser API that runs a callback before the next repaint; we use it to coalesce many rapid pointer/wheel events into at most one state update per frame. A “passive” event listener is one that cannot call `preventDefault()`; we must use a non-passive `wheel` listener so we can prevent the browser’s own page zoom behavior during trackpad pinch. A `WheelEvent`’s `deltaMode` describes whether `deltaX/deltaY` are in pixels (typical trackpads) or lines (typical mouse wheels). - -## Plan of Work - -This change is mostly about (1) getting transform math correct and testable, and (2) implementing input handling that feels intentional and smooth under real device behavior (mouse wheels, trackpads, pinch gestures). The work proceeds in small steps so that the core math is locked down with tests before wiring up user input. - -Milestone 1 creates a small, pure “canvas transform math” module and unit tests that specify cursor-anchored zoom and viewport/world conversions. This is the foundation; everything else builds on it. - -Milestone 2 wires wheel/pinch/pan into `CanvasViewport` using non-passive event listeners (so we can `preventDefault()` to stop browser-page zoom during pinch) and rAF throttling (so transform updates do not cause jank). Existing header zoom buttons are updated to use the same transform math (zooming around viewport center). - -Milestone 3 adds an overview minimap that visualizes tile bounds and the current viewport rectangle, plus a “zoom to fit” action that frames all tiles with padding. This is the “manage many tiles” accelerator. - -Milestone 4 adds Playwright coverage for the interaction contract and cleans up edge cases (clamping, empty canvas, huge deltas, selection behavior), keeping the implementation simple but robust. - -## Concrete Steps - -All commands below run from: - - /Users/georgepickett/clawdbot-agent-ui - -### Milestone 1: Transform Math + Unit Tests - -Acceptance for this milestone is that a pure function can compute a new `CanvasTransform` that zooms at a given viewport point (cursor-anchored), preserving the world point under the cursor across zoom changes, and that conversions between screen and world coordinates are correct and covered by unit tests. - -1. Create `src/features/canvas/lib/transform.ts` (new). - - Implement these exported functions (keep them pure and small). `clampZoom(zoom: number): number` clamps to a chosen range (decide in this milestone; the tests encode the final decision). `screenToWorld(transform, screen)` computes `{ (screen.x - offsetX) / zoom, (screen.y - offsetY) / zoom }` and `worldToScreen(transform, world)` computes `{ offsetX + world.x * zoom, offsetY + world.y * zoom }`. `zoomAtScreenPoint(transform, nextZoomRaw, screenPoint)` computes the world point under `screenPoint` using `screenToWorld`, clamps `nextZoomRaw`, then sets offsets so the same world point maps back to `screenPoint` at the clamped zoom via `nextOffsetX = screenPoint.x - world.x * nextZoom` and `nextOffsetY = screenPoint.y - world.y * nextZoom`, returning `{ zoom: nextZoom, offsetX: nextOffsetX, offsetY: nextOffsetY }`. - - Keep `CanvasTransform` imported from `src/features/canvas/state/store.tsx` (do not redefine the type). Choose a zoom clamp range appropriate for reading tile content; a reasonable starting point is `minZoom=0.25` and `maxZoom=3.0`, but the tests should encode the final decision. - -2. Add unit tests in `tests/unit/canvasTransform.test.ts` (new). - - Write these tests first and confirm they fail until you implement the functions. Add a round-trip test that asserts `worldToScreen` then `screenToWorld` are inverses within float tolerance (for example using `{ zoom: 1.5, offsetX: 120, offsetY: -80 }`). Add a cursor-anchored zoom test that asserts `zoomAtScreenPoint` preserves the world point under the cursor within tolerance. Add a clamp test that asserts values below/above min/max are clamped appropriately. - -3. Run: - - npm run test -- tests/unit/canvasTransform.test.ts - - Expect all new tests to pass. - -4. Commit: - - git add -A - git commit -m "Milestone 1: Add cursor-anchored canvas transform math" - -### Milestone 2: Wheel/Pinch Zoom + Trackpad Pan (Smooth) - -Acceptance for this milestone is that trackpad pinch zoom works (browser page zoom does not trigger while the cursor is over the canvas), mouse wheel zoom works, trackpad two-finger scroll pans the canvas (so you can navigate without drag), dragging empty canvas space still pans (existing behavior), and panning/zooming feels smooth (no stutter from excessive state updates). - -1. Update `src/features/canvas/components/CanvasViewport.tsx` to handle wheel and pinch. - - Attach a native `wheel` event listener to the viewport element with `{ passive: false }` so `preventDefault()` reliably works. On wheel events, compute `screenPoint` relative to the viewport element (use `getBoundingClientRect()` and `event.clientX/Y`). Decide whether the wheel event is zoom vs pan: treat `event.ctrlKey === true` as zoom (common trackpad-pinch signal), otherwise treat line-based deltas (`event.deltaMode`) as zoom (typical mouse wheel), and treat remaining pixel-based deltas as pan (typical trackpad scroll). When zooming, use multiplicative scaling (for example `nextZoom = transform.zoom * Math.exp(-event.deltaY * ZOOM_SENSITIVITY)`) and apply `zoomAtScreenPoint(transform, nextZoom, screenPoint)` from Milestone 1. When panning, update offsets by wheel deltas; verify the sign feels like direct manipulation and record the final choice in the Decision Log. - - For smoothness, do not call `onUpdateTransform` on every raw wheel/pointer event. Throttle to animation frames by storing a pending transform update in a ref and scheduling a single `requestAnimationFrame` to apply the latest pending transform. Keep the existing pointer-drag pan, but apply the same rAF throttling to pointermove updates so panning stays smooth with many tiles. - -2. Update `src/app/page.tsx` zoom handlers to use the new math and feel consistent. - - Replace linear `zoom +/- 0.1` with multiplicative steps (for example `zoom *= 1.1` and `zoom /= 1.1`) using the same clamp. Anchor button-based zoom to the viewport center (not cursor) for predictability; ensure the handler computes a viewport-center screen point and calls `zoomAtScreenPoint` rather than directly patching zoom. Avoid creating a second transform path: all zoom changes (wheel/pinch/buttons) should go through the same math utility so behavior stays consistent. - -3. Manually verify this behavior and record brief observations under `Artifacts and Notes`. Start the dev server (`npm run dev`), open the app, create/open a workspace, create several agent tiles, then pinch-zoom with a trackpad (verify browser page zoom does not happen while over the canvas and the point under the cursor remains pinned), two-finger scroll (verify pan), and mouse wheel (verify zoom, using a mouse rather than a trackpad). - -4. Add or update Playwright coverage (keep it stable/deterministic). - - Extend `tests/e2e/canvas-smoke.spec.ts` or add `tests/e2e/canvas-zoom-pan.spec.ts` (preferred) by mocking `/api/projects` to return one workspace with one tile positioned away from the origin. - - Add one test that dispatches wheel events over the canvas surface and asserts the zoom percentage text changes. Add a second test that dispatches a trackpad-like wheel (pixel deltas, no ctrlKey) and verifies the tile’s screen position changes by comparing `boundingBox()` before and after; `boundingBox()` is Playwright’s API for reading an element’s rendered rectangle in CSS pixels. If Playwright wheel synthesis cannot reliably reproduce the intended wheel characteristics (especially `deltaMode`), focus on the zoom readout plus a clear bounding box change and document the limitation in `Artifacts and Notes`. If needed, add a stable `data-*` attribute on the canvas viewport element to query it reliably (for example `data-canvas-viewport`). - -5. Run: - - npm run test - npm run e2e - -6. Commit: - - git add -A - git commit -m "Milestone 2: Add wheel/pinch zoom and smooth pan" - -### Milestone 3: Minimap + Zoom to Fit - -Acceptance for this milestone is that a minimap appears when there is at least one tile, it shows tile rectangles and the current viewport rectangle, clicking (or dragging) in the minimap recenters the viewport to that location, and a “Zoom to Fit” action frames all tiles with padding. - -1. Add `src/features/canvas/components/CanvasMinimap.tsx` (new). - - Keep the minimap simple and SVG-based. It takes `tiles: AgentTile[]`, `transform: CanvasTransform`, `viewportSize: { width: number; height: number }` (measured from `CanvasViewport` via a `ResizeObserver`, a browser API that notifies you when an element’s size changes), and `onUpdateTransform(patch: Partial): void`. It computes the world bounds of all tiles using tile position and size, adds padding in world units, then computes the current viewport world rectangle using the transform (`worldLeft = -offsetX / zoom`, `worldTop = -offsetY / zoom`, `worldWidth = viewportWidth / zoom`, `worldHeight = viewportHeight / zoom`). Render an SVG with a `viewBox` matching the content bounds; `viewBox` is the SVG coordinate system used to map world units into the minimap panel. Draw tile rects and the viewport rect. On click/drag in the minimap, convert minimap coordinates back to a world point and update offsets so that world point becomes the viewport center. - -2. Wire minimap into `src/app/page.tsx` (or into `CanvasViewport` as an overlay). - - Place it as a floating panel in a corner (for example bottom-right) with `pointer-events-auto` and a small footprint so it doesn’t interfere with tiles. - -3. Add “Zoom to Fit” button to `src/features/canvas/components/HeaderBar.tsx`. - - Implement a helper in `src/features/canvas/lib/transform.ts` named `zoomToFit(tiles: AgentTile[], viewportSize: { width: number; height: number }, paddingPx: number): CanvasTransform`. If there are no tiles it should return the current transform unchanged. Otherwise it should compute a zoom that fits all tile bounds within the viewport (minus padding), clamp that zoom, and compute offsets so the bounds are centered. - -4. Tests: - - Add `tests/unit/canvasZoomToFit.test.ts` (new) to assert that `zoomToFit` produces a transform where the fitted bounds map within the viewport with padding. - -5. Run: - - npm run test - npm run e2e - -6. Commit: - - git add -A - git commit -m "Milestone 3: Add minimap and zoom-to-fit" - -### Milestone 4: Polish + Edge Cases - -Acceptance for this milestone is that there are no regressions in tile drag/resize under zoom, canvas interactions remain responsive with many tiles, and edge cases are handled without mystery behavior (empty canvas, extreme wheel deltas, zoom clamping). - -1. Verify tile interactions under zoom by dragging a tile while zoomed in and out (movement tracks cursor correctly) and resizing a tile while zoomed in and out (size changes are proportional and clamped). - -2. Keep performance guardrails in place: ensure wheel/pan uses rAF throttling (no synchronous state update loops), add `will-change: transform;` to the scaled inner container if needed, and consider adding `overscroll-behavior: none;` and `touch-action: none;` to the canvas surface so browser scroll/zoom gestures do not fight the canvas. - -3. Expand Playwright tests only as far as they remain deterministic. - -4. Run final verification: - - npm run lint - npm run typecheck - npm run test - npm run e2e - -5. Commit: - - git add -A - git commit -m "Milestone 4: Polish canvas interactions and add coverage" - -## Validation and Acceptance - -This work is accepted when, on a developer machine, the canvas supports cursor-anchored zoom (pinch or wheel) and the world point under the cursor remains stable while zooming; trackpad two-finger scroll pans (not zoom) while mouse wheel zoom works; existing header zoom controls still work and feel consistent with wheel/pinch zoom; a minimap provides an overview and navigation for canvases with many tiles; and `npm run test` and `npm run e2e` pass, with the new unit tests failing before implementation and passing after. - -## Idempotence and Recovery - -The transform refactor is safe to apply incrementally because it is additive first (pure math module + tests), then wiring changes. If input handling becomes confusing or flaky, revert to the last milestone commit and re-apply one interaction at a time (wheel zoom first, then trackpad pan, then minimap). Keep the old header zoom buttons functional throughout so the UI remains usable even while iterating. - -## Artifacts and Notes - -Record short evidence snippets here during implementation, such as unit test failure output that guided a math fix, a brief note on the final chosen zoom clamp range and why, and any device-specific observations (for example “Chrome pinch zoom sets ctrlKey=true on wheel events on macOS”). - -- 2026-01-27: Added transform math utils + tests. Clamp range set to 0.25–3.0 to keep tiles readable while allowing overview. `npm run test -- tests/unit/canvasTransform.test.ts` passes. -- 2026-01-27: Added wheel/pinch zoom + rAF throttling, updated header zoom anchoring, and added Playwright coverage. Playwright wheel events always surfaced as line-based deltas, so trackpad-pan simulation was unreliable; tests cover zoom readout changes and tile bounds updates instead. `npm run test` and `npm run e2e` pass. -- 2026-01-27: Added SVG minimap + zoom-to-fit helper/button, plus `zoomToFit` unit tests. `npm run test` and `npm run e2e` pass. -- 2026-01-27: Added overscroll/touch-action guardrails and `will-change: transform` on the scaled canvas content; lint/typecheck/test/e2e pass. -- 2026-01-27: Switched canvas scaling to use CSS `zoom` when supported (fallback to transform scale) to keep zoomed text crisp. - -## Interfaces and Dependencies - -No new third-party dependencies are required for this plan. The core interfaces are `CanvasTransform` from `src/features/canvas/state/store.tsx`, new pure transform helpers in `src/features/canvas/lib/transform.ts`, and a minimap component in `src/features/canvas/components/CanvasMinimap.tsx`. The implementation must keep a single source of truth for transform math by routing all zoom changes (wheel/pinch/buttons/zoom-to-fit) through `src/features/canvas/lib/transform.ts`. - -Plan creation note (2026-01-27 00:00Z): Created this ExecPlan after auditing current zoom/pan behavior in `CanvasViewport.tsx`, `AgentTile.tsx`, and `page.tsx`, and after researching common canvas UX conventions (cursor-anchored zoom, pinch zoom, scroll-to-pan, minimap + zoom-to-fit) to keep the plan self-contained and beginner-executable. diff --git a/.agent/EXECPLAN4.md b/.agent/EXECPLAN4.md deleted file mode 100644 index ea42421..0000000 --- a/.agent/EXECPLAN4.md +++ /dev/null @@ -1,174 +0,0 @@ -# Show Thinking Traces in Agent Chat Tiles - -This ExecPlan is a living document. The sections `Progress`, `Surprises & Discoveries`, `Decision Log`, and `Outcomes & Retrospective` must be kept up to date as work proceeds. - -Maintain this document in accordance with `.agent/PLANS.md` (repository root). - -## Purpose / Big Picture - -After this change, the Agent Canvas UI surfaces the model's "thinking" blocks alongside assistant replies. When a chat run streams, the tile shows a live thinking trace; when the run completes or when history is loaded, the thinking trace is preserved in the output timeline so the user can read it later. This makes the UI match the session log format (for example the `content[]` items with `type: "thinking"` in `~/.clawdbot/agents/.../sessions/*.jsonl`) and removes the current gap where reasoning is either hidden or truncated. - -You can see it working by starting the dev server, sending a message to an agent with thinking enabled, and watching the tile output show a "Thinking" block before the assistant response. Reloading the page should still show those thinking blocks in history for that session. - -## Progress - -- [x] (2026-01-27 23:46Z) Milestone 1: Added `src/lib/text/extractThinking.ts` with extraction/formatting helpers and `tests/unit/extractThinking.test.ts`; unit tests pass. -- [ ] (2026-01-27 23:55Z) Milestone 2: Wired thinking traces into live streaming, history loading, and tile rendering; traces collapse after completion with a toggleable summary; README updated (manual UI verification still pending). - -## Surprises & Discoveries - -- Observation: No surprises encountered while parsing thinking blocks or wiring UI rendering. - Evidence: `npm run test -- tests/unit/extractThinking.test.ts` passed on first run. - -## Decision Log - -- Decision: Treat "thinking traces" as first-class output lines, rendered before the assistant reply and persisted in history. - Rationale: The session logs include explicit thinking blocks; representing them as output lines preserves them after streaming ends and keeps the UI timeline coherent. - Date/Author: 2026-01-27 / Codex - -- Decision: Parse thinking from `message.content[]` items with `type: "thinking"`, with `...` tag parsing as back-compat. - Rationale: The provided session log uses `content[]` with `type: "thinking"`, but older logs can embed thinking tags; supporting both matches existing Clawdbot UI behavior. - Date/Author: 2026-01-27 / Codex - -- Decision: Render live thinking with the raw markdown content, but store completed thinking as a formatted trace block in output history. - Rationale: Live thinking should reflect the model output as-is, while history benefits from consistent styling and collapsible traces. - Date/Author: 2026-01-27 / Codex - -- Decision: Represent completed traces as a prefixed markdown string and render them as collapsed `
` blocks with a "Trace" summary. - Rationale: Output lines remain simple strings for persistence, while the UI can detect and render a toggleable collapsed view without adding a new data model. - Date/Author: 2026-01-27 / Codex - -## Outcomes & Retrospective - -- Outcome: Thinking extraction helpers and unit tests added; UI now surfaces thinking during streaming and persists it in history. Manual end-to-end verification remains to confirm runtime behavior. - -## Context and Orientation - -This repo is a Next.js App Router UI for the Clawdbot agent canvas. Chat traffic arrives over the gateway WebSocket and is handled in `src/app/page.tsx`, which updates tile state stored in `src/features/canvas/state/store.tsx`. Tiles render their outputs in `src/features/canvas/components/AgentTile.tsx` using `ReactMarkdown` and the `agent-markdown` styles in `src/app/styles/markdown.css`. - -Relevant paths for this change: -- `src/app/page.tsx`: Gateway event handlers for `chat` and `agent`, history loading (`chat.history`), and the current thinking trace extraction helpers. -- `src/features/canvas/components/AgentTile.tsx`: Renders the tile output area and the inline "thinking" block. -- `src/lib/text/extractText.ts`: Extracts assistant/user text and strips `` tags from assistant responses. -- `tests/unit/*`: Vitest unit tests; new parsing utilities should be tested here. - -The provided session log at `/Users/georgepickett/.clawdbot/agents/proj-clawdbot-agent-ui-agent-5aab/sessions/b9773235-f5b1-46b4-8eb6-86bbd312828b.jsonl` shows the exact thinking payload shape: assistant `message.content[]` includes `{ type: "thinking", thinking: "...", thinkingSignature: "..." }` ahead of tool calls and text. - -## Plan of Work - -The work has two milestones. First, create a small parsing utility that can extract thinking text from the same message shapes found in the session log and format it for display, backed by unit tests. Second, wire that utility into the live chat stream handler and the history loader so thinking traces show during streaming and remain visible in the output timeline after completion. The tile rendering should display the live thinking trace as markdown (not just a truncated first line) and the output timeline should include formatted thinking blocks before assistant replies. Update the README with a short note about thinking traces so the behavior is documented. - -## Concrete Steps - -All commands below run from: - - /Users/georgepickett/clawdbot-agent-ui - -### Milestone 1: Thinking extraction + tests - -Acceptance for this milestone is that we can extract thinking text from the message shapes in the session log (content arrays with `type: "thinking"`) and from embedded `` tags, and that the behavior is covered by unit tests. - -1. Add a new helper in `src/lib/text/extractThinking.ts`. - - Implement and export: - - `extractThinking(message: unknown): string | null` -- returns concatenated thinking text when `message.content` is an array of `{ type: "thinking", thinking: string }` entries, or when raw text contains `...` tags. Return `null` for empty/whitespace-only results. - - `formatThinkingMarkdown(text: string): string` -- returns a markdown block that visually separates thinking from normal output (for example: a "Thinking:" label followed by italicized non-empty lines). Keep it deterministic so tests can assert exact output. - - The helper should not mutate inputs and should not rely on DOM APIs. - -2. Add unit tests in `tests/unit/extractThinking.test.ts` (new). - - Write tests first and confirm they fail before implementation. Cover these cases: - - Extracts a single thinking block from `content[]` and returns trimmed text. - - Extracts multiple thinking blocks and joins them with `\n` in order. - - Extracts thinking from a string containing `...` tags. - - Returns `null` when no thinking exists or when the thinking text is only whitespace. - - `formatThinkingMarkdown` produces the expected labeled/italicized markdown for multi-line thinking. - -3. Run: - - npm run test -- tests/unit/extractThinking.test.ts - - Expect the new tests to pass. - -4. Commit: - - git add -A - git commit -m "Milestone 1: Add thinking extraction helpers" - -### Milestone 2: UI wiring + history + docs - -Acceptance for this milestone is that thinking traces are visible while a run streams, persisted in the output timeline after completion, and included when loading chat history. The output should show the thinking block before the assistant reply. - -1. Update `src/app/page.tsx` to use the new helpers. - - - Replace `formatThinkingTrace`/`extractThinkingTrace` with calls to `extractThinking` and `formatThinkingMarkdown`. - - In the chat event handler (`event.event === "chat"`): - - When `payload.state === "delta"`, if a thinking block is present, set `tile.thinkingTrace` to the raw thinking text (not truncated). Keep the tile status as `running`. - - When `payload.state === "final"`, extract thinking from the final message (or use any pending `tile.thinkingTrace`), format it with `formatThinkingMarkdown`, and `appendOutput` it before appending the assistant's final text. Then clear `thinkingTrace` and `streamText` as today. - - In `buildHistoryLines`, for each assistant message, extract thinking and insert the formatted thinking markdown line before the assistant response line in the returned `lines` array. Keep user lines unchanged. - -2. Update `src/features/canvas/components/AgentTile.tsx` to render live thinking as markdown. - - - Render the `thinkingTrace` block using `ReactMarkdown` so multi-line thinking and markdown formatting appear correctly. - - Keep the existing visual styling (amber block) but remove truncation logic; the content should be the full thinking trace as sent by the model. - -3. Update `README.md` with a short section explaining that thinking traces are displayed when the model sends `content[]` entries of type `thinking` or `` blocks, and that the thinking level selector controls whether those traces appear. - -4. Manual verification: - - - Run `npm run dev`. - - Open the UI, select an agent tile, set thinking to `low` or `medium`, and send a short message. - - Confirm that while the run is streaming, a "thinking" block appears in the tile output, and once the response completes the thinking block remains in the output history above the assistant reply. - - Reload the page and confirm the thinking block persists via history loading. - -5. Commit: - - git add -A - git commit -m "Milestone 2: Surface thinking traces in chat tiles" - -## Validation and Acceptance - -Run unit tests and verify an end-to-end chat: - -- Unit tests: `npm run test -- tests/unit/extractThinking.test.ts` should pass. -- Manual UI check: start the dev server and confirm thinking blocks appear live and persist after completion and reload. - -The change is accepted when an agent run shows the thinking trace as a distinct block before the assistant message, and history reloads show the same thinking traces from `chat.history`. - -## Idempotence and Recovery - -All steps are safe to rerun. If a test or manual check fails, revert the latest commit, adjust the helper or UI wiring, and rerun the same commands. No persistent data migrations are required; only UI rendering changes and parsing utilities are added. - -## Artifacts and Notes - -- Example thinking payload (from session log): - - { "type": "thinking", "thinking": "**Running initial repo listing**", "thinkingSignature": "..." } - -- Expected output ordering in a tile after completion: - - _Running initial repo listing_ - - - -- Test run: - - npm run test -- tests/unit/extractThinking.test.ts - PASS tests/unit/extractThinking.test.ts (6 tests) - -Plan update note: 2026-01-27 -- added wheel handling so selected tile output scrolls without page scroll; changed completed traces to render as a single collapsible "Thinking" block and updated README wording. - -## Interfaces and Dependencies - -- `src/lib/text/extractThinking.ts` - - `extractThinking(message: unknown): string | null` - - `formatThinkingMarkdown(text: string): string` - -- `src/app/page.tsx` - - Use `extractThinking` and `formatThinkingMarkdown` in `buildHistoryLines` and chat event handling. - -- `src/features/canvas/components/AgentTile.tsx` - - Render `thinkingTrace` via `ReactMarkdown` inside the existing styled block. - -No new external dependencies are required. diff --git a/.agent/EXECPLAN5.md b/.agent/EXECPLAN5.md deleted file mode 100644 index 7196a09..0000000 --- a/.agent/EXECPLAN5.md +++ /dev/null @@ -1,97 +0,0 @@ -# Replace the custom canvas with the ReactFlow-based canvas used in crabwalk - -This ExecPlan is a living document. The sections `Progress`, `Surprises & Discoveries`, `Decision Log`, and `Outcomes & Retrospective` must be kept up to date as work proceeds. - -This plan is governed by `/Users/georgepickett/clawdbot-agent-ui/.agent/PLANS.md` and must be maintained in accordance with it. - -## Purpose / Big Picture - -The current canvas pan/zoom behavior feels inconsistent and “buggy” because it is custom, uses CSS zoom, and depends on device-specific wheel semantics. After this change, the canvas will behave like the crabwalk monitor canvas: smooth, predictable pan/zoom, reliable zoom-to-fit, and consistent minimap/controls interactions. A user will be able to zoom with the mouse wheel, drag the background to pan, resize tiles cleanly, and see the zoom readout update accurately. This can be verified by running the app, interacting with the canvas, and running the updated Playwright tests that simulate wheel zoom, drag pan, and tile resize. - -## Progress - -- [x] (2026-01-27 00:00Z) Drafted ExecPlan based on the crabwalk ReactFlow implementation. -- [x] (2026-01-28 00:00Z) Replace the custom canvas with ReactFlow and keep zoom readout, tile drag, and tile resize working. -- [x] (2026-01-28 00:00Z) Update automated tests to match the new canvas behavior and verify zoom, pan, and resize. - -## Surprises & Discoveries - -- Observation: crabwalk’s monitor canvas uses `@xyflow/react` (ReactFlow) with `Controls`, `MiniMap`, and `Background`, and relies on its built-in pan/zoom behavior rather than custom math. The package exports `NodeResizer`, which we can use for resize handles inside custom nodes. - Evidence: `/Users/georgepickett/crabwalk/src/components/monitor/ActionGraph.tsx` plus `/Users/georgepickett/crabwalk/node_modules/@xyflow/react/dist/esm/additional-components/NodeResizer/types.d.ts`. -- Observation: ReactFlow uses a named `ReactFlow` export (no default), and forcing selection via node props can cause update loops; letting ReactFlow own selection and syncing via callbacks avoided the runtime error. - Evidence: `/Users/georgepickett/clawdbot-agent-ui/src/features/canvas/components/CanvasFlow.tsx` runtime error overlay during early test runs. - -## Decision Log - -- Decision: Use `@xyflow/react` (same library and defaults as crabwalk) for the canvas engine, and wire our tiles into custom ReactFlow nodes with `NodeResizer` for resizing. - Rationale: This directly copies crabwalk’s proven pan/zoom behavior and removes our custom CSS-zoom transform path, which is the likely source of inconsistent UX. - Date/Author: 2026-01-27, Codex. - -## Outcomes & Retrospective - -ReactFlow now drives the canvas with built-in pan/zoom, minimap, and controls; tile drag and resize update project state, and the header zoom readout stays in sync. The e2e suite now covers wheel zoom, background pan, and NodeResizer-based resizing on the new canvas. - -## Context and Orientation - -The current canvas lives in `/Users/georgepickett/clawdbot-agent-ui/src/app/page.tsx`, with the rendering handled by `/Users/georgepickett/clawdbot-agent-ui/src/features/canvas/components/CanvasViewport.tsx` and `/Users/georgepickett/clawdbot-agent-ui/src/features/canvas/components/CanvasMinimap.tsx`. The transform math lives in `/Users/georgepickett/clawdbot-agent-ui/src/features/canvas/lib/transform.ts`, and the tile UI is in `/Users/georgepickett/clawdbot-agent-ui/src/features/canvas/components/AgentTile.tsx`. The canvas zoom/offset state is stored in `/Users/georgepickett/clawdbot-agent-ui/src/features/canvas/state/store.tsx` as `CanvasTransform` with `zoom`, `offsetX`, and `offsetY`. The crabwalk canvas we want to copy is implemented with ReactFlow in `/Users/georgepickett/crabwalk/src/components/monitor/ActionGraph.tsx` using `ReactFlow`, `Controls`, `MiniMap`, and `Background`, with pan/zoom handled by the library and no custom CSS zoom logic. - -In this repo, tile positions and sizes are stored in the project state and persisted via `/Users/georgepickett/clawdbot-agent-ui/src/lib/projects/client`. Any new canvas implementation must continue to update tile position and size in state so existing persistence and UI flows remain intact. The zoom readout in the header (`/Users/georgepickett/clawdbot-agent-ui/src/features/canvas/components/HeaderBar.tsx`) is currently derived from `state.canvas.zoom`, so the new canvas must keep that value updated as the user pans and zooms. - -## Plan of Work - -First, add ReactFlow (`@xyflow/react`) to the UI dependencies and import its base styles so the canvas engine renders and handles pointer interactions correctly. Next, replace the custom `CanvasViewport` and `CanvasMinimap` with a new `CanvasFlow` component that wraps a `ReactFlow` instance, matching crabwalk’s configuration (`Controls`, `MiniMap`, `Background`, `fitView`, `minZoom`, `maxZoom`). Then adapt the tile UI to render as a custom ReactFlow node: remove the absolute positioning from `AgentTile` and instead drive width and height via the ReactFlow node style, while adding a `NodeResizer` to keep tile resizing functional. Wire node drag and resize updates to dispatch tile position/size updates into the canvas store. Finally, update the zoom controls and readout to use the ReactFlow viewport state (x, y, zoom), and update or add Playwright tests to verify wheel zoom, drag pan, and resize behavior on the new canvas. - -## Concrete Steps - -Work in `/Users/georgepickett/clawdbot-agent-ui`. - -1) Add ReactFlow as a dependency and include its stylesheet. Update `package.json` to include `@xyflow/react` (use the same major version as crabwalk, `^12.10.0`), then add an import of `@xyflow/react/dist/style.css` in a global entry such as `/Users/georgepickett/clawdbot-agent-ui/src/app/globals.css` or a new canvas component that is guaranteed to be loaded on the client. - -2) Create a new canvas component, for example `/Users/georgepickett/clawdbot-agent-ui/src/features/canvas/components/CanvasFlow.tsx`, that wraps `ReactFlowProvider` and `ReactFlow` and exposes the same outward props as the current `CanvasViewport`, plus a new `onInit` callback to pass the `ReactFlowInstance` back up to `/Users/georgepickett/clawdbot-agent-ui/src/app/page.tsx`. Use `nodeTypes` to register a custom node component (see next step). Configure `ReactFlow` similarly to crabwalk: `fitView`, `fitViewOptions={{ padding: 0.2 }}`, `minZoom={0.1}`, `maxZoom={2}`, and include `Background`, `Controls`, and `MiniMap` so the core interaction model matches crabwalk. - -3) Add a custom node component for tiles, for example `/Users/georgepickett/clawdbot-agent-ui/src/features/canvas/components/AgentTileNode.tsx`. This component should render the existing `AgentTile` UI, but without absolute left/top positioning. Use the `NodeResizer` from `@xyflow/react` inside this component to provide resize handles. Configure `NodeResizer` with `minWidth` and `minHeight` matching the existing `MIN_SIZE` (560 x 440), and wire `onResizeEnd` to dispatch a tile size update into the store using the new width and height provided by `NodeResizer`. Ensure the root element still includes `data-tile` so existing tests can find it. - -4) Refactor `/Users/georgepickett/clawdbot-agent-ui/src/features/canvas/components/AgentTile.tsx` so it no longer sets `left` and `top` inline styles. It should instead rely on the ReactFlow node wrapper for position and only set `width` and `height` based on `tile.size`. Remove the custom drag handlers (`handleDragStart`) so ReactFlow is the only drag system, and add a stable drag handle element on the tile header (for example by adding a `data-drag-handle` attribute) so ReactFlow can be configured to drag only from the header without interfering with text inputs. - -5) Replace usage of `CanvasViewport` and `CanvasMinimap` in `/Users/georgepickett/clawdbot-agent-ui/src/app/page.tsx` with the new `CanvasFlow` component. Keep the existing `viewportRef` for size measurement but wire `CanvasFlow` to expose the ReactFlow instance via `onInit`. Update the zoom handlers (`handleZoomIn`, `handleZoomOut`, `handleZoomReset`, `handleZoomToFit`) to call ReactFlow’s `zoomIn`, `zoomOut`, `setViewport`, and `fitView` respectively, and then update the canvas store’s `zoom`, `offsetX`, and `offsetY` using `useOnViewportChange` (or `onMove`) so the header readout remains accurate. - -6) Update `CanvasFlow` to keep store state and ReactFlow in sync. Use `onNodesChange` (and/or `onNodeDragStop`) to dispatch tile position updates when a node finishes dragging, `onNodeClick` or `onSelectionChange` to update the selected tile, and `onPaneClick` to clear selection. Use `onMove` or `useOnViewportChange` to call `onUpdateTransform({ zoom, offsetX: x, offsetY: y })` whenever the viewport changes, so `state.canvas` continues to drive readouts and placement calculations. - -7) Update or add Playwright tests to reflect the new canvas behavior. The existing tests in `/Users/georgepickett/clawdbot-agent-ui/tests/e2e/canvas-zoom-pan.spec.ts` should continue to verify that a wheel event changes the zoom readout and affects tile bounds, but adjust event payloads or selectors if ReactFlow introduces different DOM structure. Add a new test that drags the canvas background to pan and asserts that a tile’s bounding box moves relative to the viewport. Add a resize test that drags a NodeResizer handle and asserts the tile bounding box width/height changes. Keep these tests focused on user-visible behavior rather than implementation details. - -## Validation and Acceptance - -Acceptance is met when the canvas behaves like crabwalk’s: wheel zoom is smooth and consistent, drag-to-pan works across devices, tiles drag and resize without jitter, the minimap and controls are functional, and the zoom readout updates as the viewport changes. - -For each milestone, follow this verification workflow. - -Milestone 1: ReactFlow canvas with draggable tiles and viewport syncing. - -1. Tests to write: Update `/Users/georgepickett/clawdbot-agent-ui/tests/e2e/canvas-zoom-pan.spec.ts` to assert the zoom readout changes after a wheel event on the canvas root, and add a new test `pan-drag-shifts-tiles` in the same file that drags the canvas background and verifies the tile’s bounding box moves relative to its previous position. -2. Implementation: Add `@xyflow/react`, create `CanvasFlow`, hook it into `page.tsx`, and refactor `AgentTile` to be usable in a ReactFlow node. Use `onMove` (or `useOnViewportChange`) to keep `state.canvas` in sync. -3. Verification: Run `npm run e2e -- tests/e2e/canvas-zoom-pan.spec.ts` and confirm the new tests fail before changes and pass after the ReactFlow integration is complete. -4. Commit: After tests pass, commit with the message `Milestone 1: ReactFlow canvas and viewport sync`. - -Milestone 2: Tile resizing via NodeResizer and persistence. - -1. Tests to write: Add `resize-handle-updates-tile-size` to `/Users/georgepickett/clawdbot-agent-ui/tests/e2e/canvas-zoom-pan.spec.ts` (or a new `canvas-resize.spec.ts`) that drags a resize handle on a tile and asserts its bounding box width and height change by at least a small threshold. -2. Implementation: Add `AgentTileNode` with `NodeResizer`, wire `onResizeEnd` to update tile size in the store, and ensure tile size persists on re-render by mapping node width/height from `tile.size`. -3. Verification: Run `npm run e2e -- tests/e2e/canvas-zoom-pan.spec.ts` (or the new file) and confirm the resize test fails before the change and passes after. -4. Commit: After tests pass, commit with the message `Milestone 2: Tile resizing with NodeResizer`. - -## Idempotence and Recovery - -These steps are safe to run multiple times because dependency changes are additive and all code edits are deterministic. If ReactFlow integration causes regressions, revert to the previous commit boundary at the end of each milestone, or temporarily re-enable `CanvasViewport` by restoring its usage in `page.tsx`. If a test becomes flaky due to interaction timing, increase Playwright’s drag step delays or wait conditions rather than disabling the test. - -## Artifacts and Notes - -When validating, capture short command outputs in this section (for example, the final lines of `npm run e2e` showing the pass/fail summary). Keep any terminal transcripts short and focused on confirming success. - -- `npm run e2e -- tests/e2e/canvas-zoom-pan.spec.ts` - - 4 passed (4.1s) - -## Interfaces and Dependencies - -Use `@xyflow/react` for the canvas engine, including `ReactFlow`, `ReactFlowProvider`, `Controls`, `MiniMap`, `Background`, `NodeResizer`, and `useOnViewportChange` or `onMove` events to observe viewport changes. The custom node component (`AgentTileNode`) should accept `data` containing the `AgentTile` plus callbacks for selection, move, resize, rename, and send actions. The `CanvasFlow` component should accept `tiles`, `selectedTileId`, and callback props mirroring the current `CanvasViewport` API, and should expose a `ReactFlowInstance` through `onInit` so the header can trigger `zoomIn`, `zoomOut`, `setViewport`, and `fitView`. - -Changes made: Initial plan drafted based on crabwalk’s ReactFlow canvas and the current clawdbot-agent-ui canvas structure. diff --git a/.agent/EXECPLAN6.md b/.agent/EXECPLAN6.md deleted file mode 100644 index 4e18bb8..0000000 --- a/.agent/EXECPLAN6.md +++ /dev/null @@ -1,141 +0,0 @@ -# Avatar-first agent tiles with options menu - -This ExecPlan is a living document. The sections `Progress`, `Surprises & Discoveries`, `Decision Log`, and `Outcomes & Retrospective` must be kept up to date as work proceeds. - -This plan must be maintained in accordance with the repository planning guide at `.agent/PLANS.md`. - -## Purpose / Big Picture - -After this change, creating a new agent shows a compact, avatar-first tile: the agent name appears above a circular avatar, and a single “Send a command” input sits below. The transcript window stays hidden until the first message is sent; then the conversation and thinking traces appear below the avatar. Model and thinking controls move into a small gear options panel, and the running/idle status plus delete action move out of the main view to reduce clutter. A user can start a new agent and immediately see a face and a single input box, and after sending a command they see the transcript panel appear beneath the avatar. - -## Progress - -- [x] (2026-01-28 00:00Z) Authored initial ExecPlan for avatar-first tiles and options menu. -- [x] (2026-01-28 17:35Z) Milestone 1: Add Multiavatar dependency, avatar helpers, and unit tests. -- [x] (2026-01-28 18:05Z) Milestone 2: Restructure AgentTile layout, add options menu, update default tile sizing, and add e2e coverage. - -## Surprises & Discoveries - -- Observation: Next dev server (Turbopack) could not resolve the symlinked `@multiavatar/multiavatar` package from `file:../Multiavatar`. - Evidence: Next dev overlay showed “Module not found: Can't resolve '@multiavatar/multiavatar'” when loading the canvas. - -## Decision Log - -- Decision: Use Multiavatar seeded by `agentId` and strip the built-in environment circle so the UI owns the circular container. - Rationale: `agentId` stays stable across renames, and a single UI circle avoids double backgrounds. - Date/Author: 2026-01-28 / Codex - -- Decision: Hide the transcript panel until there is output or streaming text. - Rationale: This matches the “face + input only” requirement for new agents and avoids a large empty chat window. - Date/Author: 2026-01-28 / Codex - -- Decision: Make model/thinking selectors available in a gear options panel and relocate status and delete actions there. - Rationale: The user requested an options menu and a rethink of the status/delete placement; there is no backend stop/run toggle today, so status stays read-only. - Date/Author: 2026-01-28 / Codex - -- Decision: Switch to the GitHub-hosted `@multiavatar/multiavatar` package and import from `@multiavatar/multiavatar/esm`. - Rationale: Eliminates the local file dependency while keeping a resolvable ESM entry for Next/Turbopack. - Date/Author: 2026-01-28 / Codex - -## Outcomes & Retrospective - -Implemented avatar-first tiles with a gear options panel, added Multiavatar helper/test coverage, and validated behavior with Playwright. Remaining follow-ups are optional UX tweaks (e.g., options panel behavior) based on user feedback. - -## Context and Orientation - -The agent canvas UI renders tiles via `src/features/canvas/components/AgentTile.tsx`, which is wrapped by `src/features/canvas/components/AgentTileNode.tsx` and placed on the canvas in `src/features/canvas/components/CanvasFlow.tsx`. Tile runtime state lives in `src/features/canvas/state/store.tsx` and is created from the persisted `ProjectTile` data defined in `src/lib/projects/types.ts`. New tiles are created by the API route `src/app/api/projects/[projectId]/tiles/route.ts`, which also defines the default tile size and name. The top-level page uses `src/app/page.tsx` to connect the canvas to gateway events and to send messages; it appends user and assistant output lines to each tile. - -Avatar generation code is sourced from the GitHub-hosted `@multiavatar/multiavatar` package and wrapped by `src/lib/avatars/multiavatar.ts` to produce an SVG data URL for an `` tag. - -Playwright e2e tests live under `tests/e2e/`, and Vitest unit tests live under `tests/unit/`. Existing e2e tests already mock `/api/projects` to supply tiles. - -## Plan of Work - -First, add the Multiavatar dependency via GitHub, then create a small avatar helper module that turns a seed string into an SVG string and a safe data URL. Add a unit test to validate that the helper returns valid SVG and a data URL prefix so the build breaks early if the dependency is not wired correctly. - -Next, refactor `AgentTile` into an avatar-first layout: name above avatar, input below, and a transcript window that only renders once there is output or streaming. Add a gear button that reveals model and thinking selectors plus the status indicator and delete action. Use simple, accessible HTML (button + popover or details/summary) and add minimal `aria-label`/`data-` hooks for Playwright. Update the minimum tile size and the API’s default tile size to match the compact layout. Finally, add a Playwright test that verifies the avatar, input, and options panel are present for a new tile and that the transcript panel is hidden initially. - -## Concrete Steps - -Work from the repo root `/Users/georgepickett/clawdbot-agent-ui`. - -1. Ensure the Multiavatar build exists by checking `../Multiavatar/dist/esm/index.js`. If the file is missing, run `npm install` and `npm run build` inside `/Users/georgepickett/Multiavatar` to generate `dist/`. - -2. Add the local dependency to `package.json` as `"@multiavatar/multiavatar": "file:../Multiavatar"`, then run `npm install` to update `package-lock.json`. - -3. Create `src/lib/avatars/multiavatar.ts` with two exported functions: `buildAvatarSvg(seed: string): string` and `buildAvatarDataUrl(seed: string): string`. Validate that `seed` is a non-empty string and throw a clear error if not. Call `multiavatar(seed, true)` (no environment circle) and wrap the SVG in a `data:image/svg+xml;utf8,` URL with `encodeURIComponent`. - -4. Add `tests/unit/multiavatar.test.ts` that asserts: - - `buildAvatarSvg("Agent A")` starts with ``. - - `buildAvatarDataUrl("Agent A")` starts with `data:image/svg+xml;utf8,` and includes an encoded `` inside a circular container (`rounded-full`, `overflow-hidden`). Use `alt` text like `Avatar for ${name}` for testability. - -6. Refactor `src/features/canvas/components/AgentTile.tsx`: - - Replace the current header row and transcript-first layout with a vertical stack: name input (centered), avatar, input row, then transcript panel. - - Keep the name editable with the same onBlur/onKeyDown logic, but style it as a centered label above the avatar. - - Introduce a gear button (using `lucide-react` settings icon) that opens an options panel containing the Model selector, Thinking selector, a read-only status indicator, and a “Delete agent” button. This panel should be accessible (keyboard focusable) and should not interfere with tile dragging. - - Remove the always-visible “No output yet.” message; instead, render the transcript panel only when there is output (`tile.outputLines.length > 0`), streaming text, or active thinking. - - Keep existing output rendering logic, including thinking traces and streamed text, but position it in the new panel below the input. - -7. Update `MIN_TILE_SIZE` in `AgentTile.tsx` and the default `size` in `src/app/api/projects/[projectId]/tiles/route.ts` to match the compact layout (for example, around 420x520). Ensure the new minimum still allows the transcript to be visible when present. - -8. Add a Playwright test `tests/e2e/agent-tile-avatar.spec.ts` that: - - Mocks `/api/projects` to return a store with one tile and no output lines. - - Navigates to `/` and asserts the avatar image with alt text is visible and the “Send a command” input exists. - - Opens the gear options panel and asserts the Model and Thinking selectors are visible. - - Asserts that the transcript panel is not present when output lines are empty (use a `data-testid` on the transcript container if needed). - -9. Run unit and e2e tests: `npm test` and `npm run e2e`. If Playwright requires the dev server, use the same workflow as existing e2e tests. - -## Validation and Acceptance - -The change is accepted when: - -- Creating a new agent renders a tile with a centered name above a circular avatar and an input labeled “Send a command,” and no transcript window is visible until a message is sent. -- After sending a command, the transcript window appears below the avatar and contains the user message and assistant output, with thinking traces formatted as before. -- A gear options panel exists on the tile, containing Model and Thinking controls, a status indicator, and a delete action. -- The avatar is generated from Multiavatar using a stable seed and displays consistently across reloads. - -Milestone 1 verification workflow: - -1. Tests to write: `tests/unit/multiavatar.test.ts` with assertions for `buildAvatarSvg` and `buildAvatarDataUrl`. -2. Implementation: add the local dependency, implement `src/lib/avatars/multiavatar.ts`. -3. Verification: run `npm test -- tests/unit/multiavatar.test.ts` and confirm it passes after failing before. -4. Commit: `git commit -m "Milestone 1: add avatar helper and tests"`. - -Milestone 2 verification workflow: - -1. Tests to write: `tests/e2e/agent-tile-avatar.spec.ts` to assert avatar, input, options panel, and hidden transcript. -2. Implementation: refactor `AgentTile`, add `AgentAvatar`, update tile sizes, and add necessary `aria-label`/`data-testid` hooks. -3. Verification: run `npm run e2e -- tests/e2e/agent-tile-avatar.spec.ts` and confirm it passes; run `npm test` to ensure unit tests still pass. -4. Commit: `git commit -m "Milestone 2: avatar-first tile layout and options menu"`. - -## Idempotence and Recovery - -All steps are safe to repeat. If `npm install` fails after adding the file dependency, remove the entry from `package.json`, run `npm install` to return to a clean state, then re-add the dependency once the Multiavatar build is confirmed. If UI changes cause layout regressions, revert the specific commit for the milestone and reapply the plan with adjusted sizes or layout choices. - -## Artifacts and Notes - -Expected unit test output excerpt: - - ✓ buildAvatarSvg returns svg - ✓ buildAvatarDataUrl returns data url - -Expected e2e assertions: - - - Avatar image is visible in the tile. - - “Send a command” input is visible. - - Options menu reveals Model and Thinking selectors. - - Transcript container is absent when there is no output. - -## Interfaces and Dependencies - -Use the local `@multiavatar/multiavatar` package from `../Multiavatar` via a file dependency. Define a small helper module at `src/lib/avatars/multiavatar.ts` with: - - export function buildAvatarSvg(seed: string): string - export function buildAvatarDataUrl(seed: string): string - -`buildAvatarSvg` must throw a descriptive error if `seed` is empty. `buildAvatarDataUrl` must return a `data:image/svg+xml;utf8,` URL that can be used in an `` tag. The `AgentAvatar` component must accept `seed` and `name` props and render an image with `alt="Avatar for ${name}"`. - -Plan update (2026-01-28): Documented the switch to the GitHub-hosted Multiavatar package and updated progress to reflect completed milestones. diff --git a/.agent/PLANS.md b/.agent/PLANS.md deleted file mode 100644 index fc18102..0000000 --- a/.agent/PLANS.md +++ /dev/null @@ -1,186 +0,0 @@ -# Codex Execution Plans (ExecPlans): - -This document describes the requirements for an execution plan ("ExecPlan"), a design document that a coding agent can follow to deliver a working feature or system change. Treat the reader as a complete beginner to this repository: they have only the current working tree and the single ExecPlan file you provide. There is no memory of prior plans and no external context. - -## How to use ExecPlans and PLANS.md - -When authoring an executable specification (ExecPlan), follow PLANS.md _to the letter_. If it is not in your context, refresh your memory by reading the entire PLANS.md file. Be thorough in reading (and re-reading) source material to produce an accurate specification. When creating a spec, start from the skeleton and flesh it out as you do your research. - -When implementing an executable specification (ExecPlan), do not prompt the user for "next steps"; simply proceed to the next milestone. Keep all sections up to date, add or split entries in the list at every stopping point to affirmatively state the progress made and next steps. Resolve ambiguities autonomously. For each milestone, write failing tests first (when tests are specified), implement until all tests pass, then commit the verified changes before proceeding to the next milestone. If the repo uses Beads, use `br ready` to select work and update issue status as you progress. - -When discussing an executable specification (ExecPlan), record decisions in a log in the spec for posterity; it should be unambiguously clear why any change to the specification was made. ExecPlans are living documents, and it should always be possible to restart from _only_ the ExecPlan and no other work. - -When researching a design with challenging requirements or significant unknowns, use milestones to implement proof of concepts, "toy implementations", etc., that allow validating whether the user's proposal is feasible. Read the source code of libraries by finding or acquiring them, research deeply, and include prototypes to guide a fuller implementation. - -## Requirements - -NON-NEGOTIABLE REQUIREMENTS: - -* Every ExecPlan must be fully self-contained. Self-contained means that in its current form it contains all knowledge and instructions needed for a novice to succeed. -* Every ExecPlan is a living document. Contributors are required to revise it as progress is made, as discoveries occur, and as design decisions are finalized. Each revision must remain fully self-contained. -* Every ExecPlan must enable a complete novice to implement the feature end-to-end without prior knowledge of this repo. -* Every ExecPlan must produce a demonstrably working behavior, not merely code changes to "meet a definition". -* Every ExecPlan must define every term of art in plain language or do not use it. - -Purpose and intent come first. Begin by explaining, in a few sentences, why the work matters from a user's perspective: what someone can do after this change that they could not do before, and how to see it working. Then guide the reader through the exact steps to achieve that outcome, including what to edit, what to run, and what they should observe. - -The agent executing your plan can list files, read files, search, run the project, and run tests. It does not know any prior context and cannot infer what you meant from earlier milestones. Repeat any assumption you rely on. Do not point to external blogs or docs; if knowledge is required, embed it in the plan itself in your own words. If an ExecPlan builds upon a prior ExecPlan and that file is checked in, incorporate it by reference. If it is not, you must include all relevant context from that plan. - -## Formatting - -Format and envelope are simple and strict. Each ExecPlan must be one single fenced code block labeled as `md` that begins and ends with triple backticks. Do not nest additional triple-backtick code fences inside; when you need to show commands, transcripts, diffs, or code, present them as indented blocks within that single fence. Use indentation for clarity rather than code fences inside an ExecPlan to avoid prematurely closing the ExecPlan's code fence. Use two newlines after every heading, use # and ## and so on, and correct syntax for ordered and unordered lists. - -When writing an ExecPlan to a Markdown (.md) file where the content of the file *is only* the single ExecPlan, you should omit the triple backticks. - -Write in plain prose. Prefer sentences over lists. Avoid checklists, tables, and long enumerations unless brevity would obscure meaning. Checklists are permitted only in the `Progress` section, where they are mandatory. Narrative sections must remain prose-first. - -## Guidelines - -Self-containment and plain language are paramount. If you introduce a phrase that is not ordinary English ("daemon", "middleware", "RPC gateway", "filter graph"), define it immediately and remind the reader how it manifests in this repository (for example, by naming the files or commands where it appears). Do not say "as defined previously" or "according to the architecture doc." Include the needed explanation here, even if you repeat yourself. - -Avoid common failure modes. Do not rely on undefined jargon. Do not describe "the letter of a feature" so narrowly that the resulting code compiles but does nothing meaningful. Do not outsource key decisions to the reader. When ambiguity exists, resolve it in the plan itself and explain why you chose that path. Err on the side of over-explaining user-visible effects and under-specifying incidental implementation details. - -Anchor the plan with observable outcomes. State what the user can do after implementation, the commands to run, and the outputs they should see. Acceptance should be phrased as behavior a human can verify ("after starting the server, navigating to [http://localhost:8080/health](http://localhost:8080/health) returns HTTP 200 with body OK") rather than internal attributes ("added a HealthCheck struct"). If a change is internal, explain how its impact can still be demonstrated (for example, by running tests that fail before and pass after, and by showing a scenario that uses the new behavior). - -Specify repository context explicitly. Name files with full repository-relative paths, name functions and modules precisely, and describe where new files should be created. If touching multiple areas, include a short orientation paragraph that explains how those parts fit together so a novice can navigate confidently. When running commands, show the working directory and exact command line. When outcomes depend on environment, state the assumptions and provide alternatives when reasonable. - -Be idempotent and safe. Write the steps so they can be run multiple times without causing damage or drift. If a step can fail halfway, include how to retry or adapt. If a migration or destructive operation is necessary, spell out backups or safe fallbacks. Prefer additive, testable changes that can be validated as you go. - -Validation is not optional. Include instructions to run tests, to start the system if applicable, and to observe it doing something useful. Describe comprehensive testing for any new features or capabilities. Include expected outputs and error messages so a novice can tell success from failure. Where possible, show how to prove that the change is effective beyond compilation (for example, through a small end-to-end scenario, a CLI invocation, or an HTTP request/response transcript). State the exact test commands appropriate to the project’s toolchain and how to interpret their results. - -When specifying tests, prefer a test-first approach: describe which tests to write and what they should assert before describing the implementation. This allows the implementing agent to write failing tests first, then implement until the tests pass. Specify the test file paths, test function names, and the exact assertions expected. If the project has an existing test structure, follow its conventions. - -Capture evidence. When your steps produce terminal output, short diffs, or logs, include them inside the single fenced block as indented examples. Keep them concise and focused on what proves success. If you need to include a patch, prefer file-scoped diffs or small excerpts that a reader can recreate by following your instructions rather than pasting large blobs. - -## Milestones - -Milestones are narrative, not bureaucracy. If you break the work into milestones, introduce each with a brief paragraph that describes the scope, what will exist at the end of the milestone that did not exist before, the commands to run, and the acceptance you expect to observe. Keep it readable as a story: goal, work, result, proof. Progress and milestones are distinct: milestones tell the story, progress tracks granular work. Both must exist. Never abbreviate a milestone merely for the sake of brevity, do not leave out details that could be crucial to a future implementation. - -Each milestone must be independently verifiable and incrementally implement the overall goal of the execution plan. - -## Verification and Test-Driven Milestones - -Every milestone must include built-in verification steps that allow the implementing agent to confirm correctness without human intervention. Prefer test-driven development: write failing tests that define the milestone's acceptance criteria before writing the implementation. The milestone is not complete until all tests pass. - -When designing a milestone, follow this verification pattern: - -1. Define the acceptance criteria as concrete, observable behaviors. -2. Write tests (unit, integration, or end-to-end as appropriate) that exercise these behaviors. Run them to confirm they fail for the expected reasons. -3. Implement the feature or change. -4. Run the tests again. The milestone is complete only when all tests pass and any other validation steps succeed. -5. After all tests pass, the implementing agent is permitted (and encouraged) to commit the changes with a clear commit message describing the milestone completed. - -If tests are not feasible for a particular milestone (e.g., infrastructure setup, configuration changes, or exploratory prototypes), specify alternative verification steps: commands to run, outputs to observe, or states to confirm. The key requirement is that the agent can autonomously verify success without asking for human confirmation. - -Commits should be frequent and atomic. Each milestone that passes verification should be committed before proceeding to the next. This creates a clean history of incremental progress and allows safe rollback if later milestones encounter issues. The commit message should reference the milestone and summarize what was achieved. - -## Issue Tracking with Beads - -ExecPlans integrate with Beads (`br`) for local issue tracking. When a repo has Beads initialized (`.beads/` directory exists), use it to track milestones as issues. - -When authoring an ExecPlan, create a Beads issue for each milestone: `br create "Milestone N: " --type task --priority <0-4> --description "<scope and acceptance criteria>"`. Use `br dep add <child> <parent>` to express milestone dependencies. Record the issue IDs in the Progress section. - -When implementing, use `br ready --json` to select the next unblocked milestone. Claim it with `br update <id> --status in_progress`. After verification passes, close it with `br close <id> --reason "Tests pass, committed"`. Run `br sync --flush-only` before committing to include the issue state in git history. - -If Beads is not initialized or the user has not requested issue tracking, skip these steps. - -## Living plans and design decisions - -* ExecPlans are living documents. As you make key design decisions, update the plan to record both the decision and the thinking behind it. Record all decisions in the `Decision Log` section. -* ExecPlans must contain and maintain a `Progress` section, a `Surprises & Discoveries` section, a `Decision Log`, and an `Outcomes & Retrospective` section. These are not optional. -* When you discover optimizer behavior, performance tradeoffs, unexpected bugs, or inverse/unapply semantics that shaped your approach, capture those observations in the `Surprises & Discoveries` section with short evidence snippets (test output is ideal). -* If you change course mid-implementation, document why in the `Decision Log` and reflect the implications in `Progress`. Plans are guides for the next contributor as much as checklists for you. -* At completion of a major task or the full plan, write an `Outcomes & Retrospective` entry summarizing what was achieved, what remains, and lessons learned. - -# Prototyping milestones and parallel implementations - -It is acceptable—-and often encouraged—-to include explicit prototyping milestones when they de-risk a larger change. Examples: adding a low-level operator to a dependency to validate feasibility, or exploring two composition orders while measuring optimizer effects. Keep prototypes additive and testable. Clearly label the scope as “prototyping”; describe how to run and observe results; and state the criteria for promoting or discarding the prototype. - -Prefer additive code changes followed by subtractions that keep tests passing. Parallel implementations (e.g., keeping an adapter alongside an older path during migration) are fine when they reduce risk or enable tests to continue passing during a large migration. Describe how to validate both paths and how to retire one safely with tests. When working with multiple new libraries or feature areas, consider creating spikes that evaluate the feasibility of these features _independently_ of one another, proving that the external library performs as expected and implements the features we need in isolation. - -## Skeleton of a Good ExecPlan - - # <Short, action-oriented description> - - This ExecPlan is a living document. The sections `Progress`, `Surprises & Discoveries`, `Decision Log`, and `Outcomes & Retrospective` must be kept up to date as work proceeds. - - If PLANS.md file is checked into the repo, reference the path to that file here from the repository root and note that this document must be maintained in accordance with PLANS.md. - - ## Purpose / Big Picture - - Explain in a few sentences what someone gains after this change and how they can see it working. State the user-visible behavior you will enable. - - ## Progress - - Use a list with checkboxes to summarize granular steps. Every stopping point must be documented here, even if it requires splitting a partially completed task into two (“done” vs. “remaining”). This section must always reflect the actual current state of the work. - - - [x] (2025-10-01 13:00Z) Example completed step. [BEAD-001] - - [ ] Example incomplete step. [BEAD-002] - - [ ] Example partially completed step (completed: X; remaining: Y). [BEAD-003] - - Use timestamps to measure rates of progress. If using Beads, include the issue ID in brackets after each step. - - ## Surprises & Discoveries - - Document unexpected behaviors, bugs, optimizations, or insights discovered during implementation. Provide concise evidence. - - - Observation: … - Evidence: … - - ## Decision Log - - Record every decision made while working on the plan in the format: - - - Decision: … - Rationale: … - Date/Author: … - - ## Outcomes & Retrospective - - Summarize outcomes, gaps, and lessons learned at major milestones or at completion. Compare the result against the original purpose. - - ## Context and Orientation - - Describe the current state relevant to this task as if the reader knows nothing. Name the key files and modules by full path. Define any non-obvious term you will use. Do not refer to prior plans. - - ## Plan of Work - - Describe, in prose, the sequence of edits and additions. For each edit, name the file and location (function, module) and what to insert or change. Keep it concrete and minimal. - - ## Concrete Steps - - State the exact commands to run and where to run them (working directory). When a command generates output, show a short expected transcript so the reader can compare. This section must be updated as work proceeds. - - ## Validation and Acceptance - - Describe how to start or exercise the system and what to observe. Phrase acceptance as behavior, with specific inputs and outputs. If tests are involved, say "run <project’s test command> and expect <N> passed; the new test <name> fails before the change and passes after>". - - For each milestone, specify the verification workflow: - 1. Tests to write: List the test file paths, test function names, and assertions. These tests should be written first and must fail before implementation. - 2. Implementation: Describe the changes to make. - 3. Verification: Run the tests. The milestone is complete only when all tests pass. - 4. Commit: After verification passes, commit the changes with a message referencing the milestone. - - Example: "Write test_user_creation in tests/test_users.py that asserts a 201 response with user ID. Run pytest tests/test_users.py -k test_user_creation and confirm it fails. Implement the endpoint. Run the test again and confirm it passes. Commit with message 'Milestone 1: Add user creation endpoint'." - - ## Idempotence and Recovery - - If steps can be repeated safely, say so. If a step is risky, provide a safe retry or rollback path. Keep the environment clean after completion. - - ## Artifacts and Notes - - Include the most important transcripts, diffs, or snippets as indented examples. Keep them concise and focused on what proves success. - - ## Interfaces and Dependencies - - Be prescriptive. Name the libraries, modules, and services to use and why. Specify the types, traits/interfaces, and function signatures that must exist at the end of the milestone. Prefer stable names and paths such as `crate::module::function` or `package.submodule.Interface`. E.g.: - - In crates/foo/planner.rs, define: - - pub trait Planner { - fn plan(&self, observed: &Observed) -> Vec<Action>; - } - -If you follow the guidance above, a single, stateless agent -- or a human novice -- can read your ExecPlan from top to bottom and produce a working, observable result. That is the bar: SELF-CONTAINED, SELF-SUFFICIENT, NOVICE-GUIDING, OUTCOME-FOCUSED. - -When you revise a plan, you must ensure your changes are comprehensively reflected across all sections, including the living document sections, and you must write a note at the bottom of the plan describing the change and the reason why. ExecPlans must describe not just the what but the why for almost everything. \ No newline at end of file diff --git a/.agent/future-plans/20260127-1228-gateway-resilience.md b/.agent/future-plans/20260127-1228-gateway-resilience.md deleted file mode 100644 index 4e5b649..0000000 --- a/.agent/future-plans/20260127-1228-gateway-resilience.md +++ /dev/null @@ -1,5 +0,0 @@ -GatewayClient (src/lib/gateway/GatewayClient.ts) performs a one-shot connect and the hook in src/lib/gateway/useGatewayConnection.ts only auto-connects once, so any transient gateway failure requires a manual refresh. The UI in src/app/page.tsx only gates actions on the connection status and does not provide a structured retry UX. - -Implement a reconnect strategy with exponential backoff and jitter, add a retrying status and lastError fields, and respect GatewayResponseError.retryAfterMs when present. Update HeaderBar or page UI to show connection state, last error, and a retry or cancel action; optionally persist gatewayUrl/token edits in local storage or via a small API endpoint so users do not retype on reload. - -Acceptance criteria: on socket close, the client retries with backoff until connected or explicitly disconnected; the UI displays next retry timing and lets the user cancel; tests with fake timers validate backoff and stop behavior. Open question: should auto-reconnect be disabled after auth failures, and how do we detect that from gateway responses. diff --git a/.agent/future-plans/20260127-1228-onboarding-docs.md b/.agent/future-plans/20260127-1228-onboarding-docs.md deleted file mode 100644 index 871ce34..0000000 --- a/.agent/future-plans/20260127-1228-onboarding-docs.md +++ /dev/null @@ -1,5 +0,0 @@ -README.md is empty and USER.md contains only a preference, while critical operational details live in code, including config search paths in src/lib/clawdbot/config.ts, gateway defaults in src/lib/clawdbot/gateway.ts, env variables in src/lib/env.ts, and local state in src/app/api/projects/store.ts. This makes onboarding and troubleshooting slow and error-prone. - -Write a concise README with setup steps, dev and test commands from package.json, required env/config, gateway expectations, and where workspace state is stored. Add a short troubleshooting section for missing config and gateway errors; optionally consolidate USER.md into README if it is not used elsewhere to reduce scattered docs. - -Acceptance criteria: README explains how to run the UI with a local gateway, lists required env/config paths, and documents common failure modes with fixes. Open question: should docs standardize on .moltbot vs .clawdbot naming and which path is preferred for new installs. diff --git a/.agent/future-plans/20260127-1228-project-store-hardening.md b/.agent/future-plans/20260127-1228-project-store-hardening.md deleted file mode 100644 index 9e53523..0000000 --- a/.agent/future-plans/20260127-1228-project-store-hardening.md +++ /dev/null @@ -1,5 +0,0 @@ -The projects store is persisted as JSON at ~/.clawdbot/agent-canvas/projects.json (src/app/api/projects/store.ts) with manual parsing and minimal validation, and the UI auto-saves every 250ms in src/features/canvas/state/store.tsx without handling save failures. This setup risks silent corruption or data loss when parsing fails or concurrent writes occur. - -Introduce a zod schema for ProjectsStore and tile structures, perform validation on load and save, and switch to atomic writes (write temp then rename) with a backup copy when parsing fails. Surface explicit error codes from src/app/api/projects/route.ts, and update the client store to pause autosave and show a blocking error with retry guidance. Touch src/app/api/projects/store.ts, src/app/api/projects/route.ts, src/lib/projects/types.ts, src/lib/http.ts, and src/features/canvas/state/store.tsx. - -Acceptance criteria: invalid store files produce actionable errors while preserving the last good file; saves are atomic and verified; the UI shows a clear failure state and does not silently overwrite data; tests cover migration and validation. Open question: how should concurrent writes from multiple tabs/processes be resolved, and do we need a version conflict policy. diff --git a/.agent/future-plans/20260127-1228-test-coverage.md b/.agent/future-plans/20260127-1228-test-coverage.md deleted file mode 100644 index c551702..0000000 --- a/.agent/future-plans/20260127-1228-test-coverage.md +++ /dev/null @@ -1,5 +0,0 @@ -Test coverage is minimal: tests/unit only includes fetchJson and slugifyProjectName, and tests/e2e has a single canvas smoke test, while the main chat flow and polling logic live in src/app/page.tsx and the state machine in src/features/canvas/state/store.tsx. This leaves key behaviors (gateway errors, chat history reconciliation, and autosave) unverified. - -Add unit tests for the canvas reducer actions, store migration/validation, and GatewayClient request/response handling. Expand Playwright e2e to cover create workspace, add tile, send a message with a mocked gateway, and error states; reuse tests/setup.ts for common mocks and fixtures. - -Acceptance criteria: tests cover both success and failure cases for store load/save and gateway errors, and e2e runs deterministically with a mocked gateway. Open question: should the gateway be mocked via a local WebSocket test server or an in-browser stub to keep tests fast and reliable. diff --git a/.agent/future-plans/20260127-1248-model-capabilities.md b/.agent/future-plans/20260127-1248-model-capabilities.md deleted file mode 100644 index b7b0236..0000000 --- a/.agent/future-plans/20260127-1248-model-capabilities.md +++ /dev/null @@ -1,5 +0,0 @@ -Model options and thinking levels are hard-coded in the UI (src/features/canvas/components/AgentTile.tsx) while the runtime settings are pushed via sessions.patch in src/app/page.tsx without any capability validation. This creates a mismatch risk when the gateway or config supports different models or disallows thinking settings, leading to confusing failures that only surface as output lines. - -Add a gateway capabilities endpoint (for example /api/gateway/capabilities) that reports supported models and thinking levels, backed by config or a lightweight gateway handshake, and thread that data into the canvas UI. Update src/app/page.tsx to load capabilities once, store them in state, and make AgentTile render options dynamically with disabled or hidden unsupported options; add a fallback to show a "custom model" input if a tile already has a model not in the list. - -Acceptance criteria: the model/thinking dropdowns always reflect the gateway capability response; unsupported selections are blocked with a clear inline message; and the UI still renders existing tiles with custom model values. Open question: should capabilities come from config only or a live gateway handshake, and how do we cache them to avoid blocking initial render. diff --git a/.agent/future-plans/20260127-1248-state-dir-unification.md b/.agent/future-plans/20260127-1248-state-dir-unification.md deleted file mode 100644 index aec9973..0000000 --- a/.agent/future-plans/20260127-1248-state-dir-unification.md +++ /dev/null @@ -1,5 +0,0 @@ -State directory resolution is inconsistent: config lookup in src/lib/clawdbot/config.ts searches both ~/.moltbot and ~/.clawdbot, but agent workspace paths in src/lib/projects/agentWorkspace.ts and agent state paths in src/app/api/projects/[projectId]/tiles/route.ts and src/app/api/projects/[projectId]/tiles/[tileId]/route.ts are hard-coded to ~/.clawdbot. This can split state across directories depending on environment variables, which makes onboarding and cleanup confusing. - -Extract a single state-dir resolver (for example in src/lib/clawdbot/stateDir.ts) that applies the same env and fallback rules as loadClawdbotConfig, then update all filesystem paths that rely on ~/.clawdbot to use it. Touch src/lib/projects/agentWorkspace.ts, src/app/api/projects/[projectId]/tiles/route.ts, src/app/api/projects/[projectId]/tiles/[tileId]/route.ts, and any other locations that build agent paths from CLAWDBOT_STATE_DIR; add a small unit test to lock down path resolution ordering. - -Acceptance criteria: all agent workspace and state paths resolve from the same function and honor MOLTBOT_STATE_DIR/CLAWDBOT_STATE_DIR consistently; documentation reflects the single source of truth; and tests cover env override precedence. Open question: should MOLTBOT_STATE_DIR always win over CLAWDBOT_STATE_DIR, or do we need a migration path for existing users. diff --git a/.agent/future-plans/20260127-1248-tile-deletion-safety.md b/.agent/future-plans/20260127-1248-tile-deletion-safety.md deleted file mode 100644 index 96b4540..0000000 --- a/.agent/future-plans/20260127-1248-tile-deletion-safety.md +++ /dev/null @@ -1,5 +0,0 @@ -Deleting a tile triggers server-side directory removal in src/app/api/projects/[projectId]/tiles/[tileId]/route.ts via fs.rmSync, but the UI delete button in src/features/canvas/components/AgentTile.tsx does not confirm or summarize what will be removed. This is a high-risk action because it can delete both the agent workspace and agent state directories without any reversible path. - -Add a confirmation flow that shows the exact directories slated for deletion and require a typed confirmation for tiles with existing workspaces; consider adding a server-side archive mode that moves directories to a trash location under the state dir instead of deleting outright. Update the delete endpoint to support a mode flag (archive vs delete), return the resolved paths in its response, and update the client to opt into archive by default with an explicit "permanently delete" option. - -Acceptance criteria: tile deletion cannot proceed without an explicit confirmation, the API returns the paths that were archived/deleted, and the UI exposes a reversible archive workflow. Open question: should archives auto-expire or require a manual cleanup command, and where should that live in the UI. diff --git a/.gitignore b/.gitignore index 1dc8812..68285d3 100644 --- a/.gitignore +++ b/.gitignore @@ -45,3 +45,6 @@ next-env.d.ts playwright-report test-results .playwright-home + +# agent state +/.agent diff --git a/README.md b/README.md index e7c6804..5a85026 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,17 @@ # moltbot-agent-ui -Agent Canvas UI for Moltbot. This is a local-first Next.js UI that talks directly to the Moltbot gateway and stores workspace state on disk. +![Read Me Image](readme-image.png) + +Agent Canvas UI for Moltbot — a visual command center for multi-agent orchestration. + +The terminal is great for running a command. It’s not great at being a *home* for a team of agents: multiple threads of work, long-running tasks, shared context, files that evolve, and the constant question of “what’s running where?” This project is built on the belief that the future of multi-agent orchestration won’t live exclusively in the terminal — it needs a UI that makes complex work feel obvious. + +`moltbot-agent-ui` is a local-first Next.js app that connects to the Moltbot gateway, streams tool output live, and keeps workspace state on disk. The goal is simple: make multi-agent work friendly and fun to use, while staying ultra powerful when you need to go deep. + +If you’re building or running agent workflows, this is the place to: +- See work happening across agents at a glance +- Keep context and artifacts (AGENTS.md, MEMORY.md, etc.) close to the work +- Drive real projects forward without losing the plot ## Features - Multi-agent canvas for managing local workspaces diff --git a/readme-image.png b/readme-image.png new file mode 100644 index 0000000000000000000000000000000000000000..89f6ae0b62686f23a1675c076e161d3565fcf364 GIT binary patch literal 211535 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≤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⪚4I{$wGRY}h=tzKYfDUm9wr)DZLL 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 literal 0 HcmV?d00001