From b0b433bc6cf3143a867ffb5314afc2ef9f4e0a58 Mon Sep 17 00:00:00 2001 From: Ian Gulliver Date: Fri, 16 Oct 2026 07:04:24 -0700 Subject: [PATCH] Question formatting --- api/openapi.yaml | 4 +- docs/operations.md | 8 +- internal/agents/inbox.go | 8 +- internal/agents/leadtools.go | 6 +- internal/agents/preview.go | 6 +- internal/api/api.gen.go | 349 ++++++++++++++++---------------- internal/store/store.go | 5 + internal/tailscale/tailscale.go | 40 +++- web/dist/dom.js | 8 +- web/dist/dom.js.map | 2 +- web/dist/inbox.js | 13 +- web/dist/inbox.js.map | 2 +- web/dist/markdown.js | 27 ++- web/dist/markdown.js.map | 2 +- web/dist/panes.js | 7 +- web/dist/panes.js.map | 2 +- web/dist/preview.js | 107 ++-------- web/dist/preview.js.map | 2 +- web/dist/state.js | 2 +- web/dist/state.js.map | 2 +- web/src/api.gen.ts | 2 +- web/src/dom.ts | 11 +- web/src/inbox.ts | 13 +- web/src/markdown.ts | 28 ++- web/src/panes.ts | 7 +- web/src/preview.ts | 128 +++--------- web/src/state.ts | 2 +- web/style.css | 171 ++++++++++------ 28 files changed, 468 insertions(+), 496 deletions(-) diff --git a/api/openapi.yaml b/api/openapi.yaml index 834f799..5a4ea8a 100644 --- a/api/openapi.yaml +++ b/api/openapi.yaml @@ -1331,8 +1331,8 @@ components: TaskTab: type: string - enum: [transcript, changes, files, terminal, preview, inbox, reviews, project] - x-enum-varnames: [TabTranscript, TabChanges, TabFiles, TabTerminal, TabPreview, TabInbox, TabReviews, TabProject] + enum: [transcript, changes, files, terminal, inbox, reviews, project] + x-enum-varnames: [TabTranscript, TabChanges, TabFiles, TabTerminal, TabInbox, TabReviews, TabProject] TerminalSize: type: object diff --git a/docs/operations.md b/docs/operations.md index 335be7d..bbdfef8 100644 --- a/docs/operations.md +++ b/docs/operations.md @@ -64,9 +64,9 @@ Clients reach `tailscale serve` over HTTP/2; it proxies to byre over HTTP/1.1 an ## Previews -An agent shows the human a server it runs with the `expose_port` MCP tool (`internal/agents/preview.go`): `name` labels it, `port` is where it listens. The agent starts the server itself, usually as a background command; byre doesn't supervise it, so it dies with the agent's `claude` process (a byre restart, compaction, the task closing) and the agent starts it again when asked. The call is refused when `port` is outside the task's block or nothing accepts a connection on `127.0.0.1:`. Otherwise byre runs `tailscale serve --bg --https= http://127.0.0.1:` (`internal/tailscale`, which runs the macOS CLI at `/Applications/Tailscale.app/Contents/MacOS/Tailscale`, since byre's environment has no `tailscale` on its `PATH`), so the server is at `https://:/` with Tailscale's identity headers, and records a row in the `previews` table (task, name, port, time) with a `preview.exposed` event, which the transcript shows as a note linking the URL. Each port gets its own HTTPS port rather than a path under byre's, since path-prefix proxying breaks apps that use absolute paths. Exposing a name or port the task already has replaces that row, and a port it no longer uses is turned off with `tailscale serve --https= off`. A server must listen on `127.0.0.1`: while `tailscale serve` holds a port, binding `0.0.0.0` on it fails with "address already in use". When the task is merged or discarded, byre turns off each of its ports (`Manager.Unexpose`); the rows stay. `GET /api/tasks/{taskId}/previews` lists a task's rows by name, and `tailscale serve status` shows what is served. +An agent shows the human a server it runs with the `expose_port` MCP tool (`internal/agents/preview.go`): `name` labels it, `port` is where it listens. The agent starts the server itself, usually as a background command; byre doesn't supervise it, so it dies with the agent's `claude` process (a byre restart, compaction, the task closing) and the agent starts it again when asked. The call is refused when `port` is outside the task's block or nothing accepts a connection on `127.0.0.1:`. Otherwise byre runs `tailscale serve --bg --https= http://127.0.0.1:` (`internal/tailscale`, which runs the macOS CLI at `/Applications/Tailscale.app/Contents/MacOS/Tailscale`, since byre's environment has no `tailscale` on its `PATH`, with `TAILSCALE_BE_CLI=1`, without which the app executable launched from the service exits 0 without running the subcommand), then reads `tailscale serve status --json` and fails the call if no `Web` host for that port is listed, so the server is at `https://:/` with Tailscale's identity headers, and records a row in the `previews` table (task, name, port, time) with a `preview.exposed` event, which the transcript shows as a note linking the URL. Each port gets its own HTTPS port rather than a path under byre's, since path-prefix proxying breaks apps that use absolute paths. Exposing a name or port the task already has replaces that row, and a port it no longer uses is turned off with `tailscale serve --https= off`. A server must listen on `127.0.0.1`: while `tailscale serve` holds a port, binding `0.0.0.0` on it fails with "address already in use". When the task is merged or discarded, byre turns off each of its ports (`Manager.Unexpose`); the rows stay. `GET /api/tasks/{taskId}/previews` lists a task's rows by name, and `tailscale serve status` shows what is served. -The **Preview** tab (`web/src/preview.ts`) lists the task's previews by name and port, shows the selected one (the first by default; the choice is kept per task in memory) in an iframe, and links it in a new tab. It fetches the list when it opens, when the selected task changes, and on each `preview.exposed` in the task's stream, which also reloads the iframe. +The right pane's top row shows the task's previews at its right end as links, one per name, each opening its URL in a new window (`previewLinks` in `web/src/preview.ts`). It fetches the list when the selected task changes and on each `preview.exposed` in the task's stream. Previews are never framed inside byre. ## Previewing byre @@ -153,7 +153,7 @@ Each user has one long-running lead agent, shown in the left pane. It is not tie - **Compaction.** The pane's **Compact** button asks the lead for a handoff (`leadHandoffPrompt`). The lead can't see its own context size, so the first time one of its turns ends (other than a handoff or a `compact_self` turn) with the latest `session.context` `used` at half its `window` or more, byre holds a signal for it giving the percentage and asking it to call `compact_self` at the next logical point (`warnLeadContext` in `internal/agents/lead.go`); it is sent once per live process, so a byre restart can send it again once the window is known. The lead calls `compact_self`; when that turn ends normally, byre sends the same request. The handoff turn ends the session, and a new lead session starts from `leadHandoffPreamble` plus the handoff; held input follows once that turn ends. - **Restarts.** On shutdown, byre marks each running lead session idle with "byre stopped mid-turn" and holds a restart notice for it, so a lead is never left `running` for a build without lead support to find. After a crash, startup resumes a running lead like a task session. Startup then delivers any held input. -The UI is two panes filling the window, with no navbar. The left has three tabs: Lead, the lead's transcript and composer (the same view as a task transcript, with only the Compact button in its header), Status and Settings, and at the end of its tab strip the connection dot and the user's name. Which left tab is selected is kept only in the page; the Lead view stays mounted while another tab shows, and Status or Settings mounts each time its tab is selected. The right shows the focused task, or project with no task: a top row holding only the task picker, centred, then the tab strip, then the selected tab's view with its own header. The tabs are Transcript, Changes, Files, Terminal, Preview, Inbox, Reviews and Project, the lead's `tabs` first. Preview shows only once the task's stream has a `preview.exposed`, Reviews only once it has a `review.*` event, and Inbox only while the task has open items; the selected tab always shows. Tabs that don't fit in the strip move, from the end, into a **More ▾** menu (`web/src/panes.ts`); the selected tab never moves there, and More carries the Inbox highlight and count when Inbox is in it. ⌘P (Ctrl+P elsewhere) selects the Project tab, keeping the right pane's task, and replaces the browser's print shortcut. ⌘L (Ctrl+L elsewhere) selects the Lead tab and puts the cursor in the lead's composer, and replaces the browser's address bar shortcut. ⌘S (Ctrl+S elsewhere) opens the right pane's task's Merge confirmation, from any tab, when the Merge button would be enabled, and replaces the browser's save shortcut. +The UI is two panes filling the window, with no navbar. The left has three tabs: Lead, the lead's transcript and composer (the same view as a task transcript, with only the Compact button in its header), Status and Settings, and at the end of its tab strip the connection dot and the user's name. Which left tab is selected is kept only in the page; the Lead view stays mounted while another tab shows, and Status or Settings mounts each time its tab is selected. The right shows the focused task, or project with no task: a top row holding the task picker, centred, and the task's preview links at its right end (see "Previews"), then the tab strip, then the selected tab's view with its own header. The tabs are Transcript, Changes, Files, Terminal, Inbox, Reviews and Project, the lead's `tabs` first. Reviews shows only once it has a `review.*` event, and Inbox only while the task has open items; the selected tab always shows. Tabs that don't fit in the strip move, from the end, into a **More ▾** menu (`web/src/panes.ts`); the selected tab never moves there, and More carries the Inbox highlight and count when Inbox is in it. ⌘P (Ctrl+P elsewhere) selects the Project tab, keeping the right pane's task, and replaces the browser's print shortcut. ⌘L (Ctrl+L elsewhere) selects the Lead tab and puts the cursor in the lead's composer, and replaces the browser's address bar shortcut. ⌘S (Ctrl+S elsewhere) opens the right pane's task's Merge confirmation, from any tab, when the Merge button would be enabled, and replaces the browser's save shortcut. ## TODO @@ -165,7 +165,7 @@ The **Project** tab is the dashboard of the right pane's project (the focused ta ## Inbox -Agents ask questions with the `ask_human` MCP tool. Each question carries a `context` with the background the human needs to answer without reading the transcript, and its choices are written inline in that context as Markdown list items: `- ( ) text` for pick-one choices, with exactly one `- (*) text` marking the recommendation, or `- [ ] text` for pick-any choices, with `- [x] text` marking the recommended ones. There is no separate list of options. byre parses the choices out of `context` (`internal/agents/choices.go`; list items inside code fences and blockquotes don't count) and stores their text in the payload as `options`, with `multiple` (pick-any) and `recommended`. The UI renders the context as Markdown with a radio button or checkbox in place of each choice's marker. A malformed call (no `context` or `why_blocked`, fewer than two choices, pick-one and pick-any choices mixed, a pick-one question without exactly one recommendation, two choices with the same text, an unknown attachment kind, a foreign `thread_id`) is rejected with a message saying what to fix, and nothing is filed. The call returns the item's id as `question_id`. An agent withdraws a question it no longer needs answered (the human answered it in a chat message, say) with the `cancel_question` MCP tool and that id: an `open` question of its own session becomes `dismissed` with no `resolved_by` (its `inbox.updated` event has actor `agent`), which also stops a blocking one from holding back delivery; anything else is rejected with a message saying why. Each agent error (a turn that ends in error without a human interrupt, a process that dies mid-turn) also files an item. +Agents ask questions with the `ask_human` MCP tool. Each question carries a `context` with the background the human needs to answer without reading the transcript, and its choices are written inline in that context as Markdown list items: `- ( ) text` for pick-one choices, with exactly one `- (*) text` marking the recommendation, or `- [ ] text` for pick-any choices, with `- [x] text` marking the recommended ones. There is no separate list of options. byre parses the choices out of `context` (`internal/agents/choices.go`; list items inside code fences and blockquotes don't count) and stores their text in the payload as `options`, with `multiple` (pick-any) and `recommended`. The UI renders the context as Markdown with a radio button or checkbox in place of each choice's marker. The tool's description tells agents to keep everything about one choice (what it does, its example, code, trade-offs) in lines indented beneath that choice rather than in text above the list; those lines render inside the option, and only the marker line's text is the option. A malformed call (no `context` or `why_blocked`, fewer than two choices, pick-one and pick-any choices mixed, a pick-one question without exactly one recommendation, two choices with the same text, an unknown attachment kind, a foreign `thread_id`) is rejected with a message saying what to fix, and nothing is filed. The call returns the item's id as `question_id`. An agent withdraws a question it no longer needs answered (the human answered it in a chat message, say) with the `cancel_question` MCP tool and that id: an `open` question of its own session becomes `dismissed` with no `resolved_by` (its `inbox.updated` event has actor `agent`), which also stops a blocking one from holding back delivery; anything else is rejected with a message saying why. Each agent error (a turn that ends in error without a human interrupt, a process that dies mid-turn) also files an item. `GET /api/inbox` is one query over open items, oldest first; `project_id` and `task_id` narrow it to a project or task view, and `state` picks another state. Blocking questions and errors are `blocked`; non-blocking questions are `fyi`. The Inbox tab is task-specific: it shows one of the selected task's open items at a time, the oldest, and the next one once that is answered or dismissed; it shows nothing when no task is selected. The tab is hidden while the task has no open items, unless it is selected. While the selected task has open items, the Inbox tab's button is highlighted in the warn colours (`.attention` in `web/style.css`) and carries their count. Answering or dismissing the task's last open item from the Inbox tab switches the pane to the Transcript tab. The other way round, a new question from the selected task arriving while the Transcript tab is shown switches the pane to the Inbox tab; questions already open when the page loaded don't. diff --git a/internal/agents/inbox.go b/internal/agents/inbox.go index b249ba1..af6c130 100644 --- a/internal/agents/inbox.go +++ b/internal/agents/inbox.go @@ -35,10 +35,14 @@ func (m *Manager) askTool(l *live) mcp.Tool { Description: "Ask the human a question through their inbox. Use this for every question; never ask in plain prose. " + "The human answers from their inbox without having read your transcript, so every question must stand on its own: " + "put the background they need in context. " + - "Write the choices inline in context as Markdown list items, each with what it would concretely do: " + + "Write the choices inline in context as Markdown list items: " + "`- ( ) choice` for pick-one choices (mark the one you recommend `- (*) choice`), or " + "`- [ ] choice` for pick-any choices (mark the ones you recommend `- [x] choice`). " + "The human picks them where they appear; there is no separate list of options. " + + "Everything specific to one choice goes inside that choice, never in the text above the list: " + + "its first line is a short name, and the lines indented beneath it say what it would concretely do, " + + "its example, code, commands and trade-offs, so the human never has to match a paragraph above to an option below. " + + "Text above the list covers only what all the choices share. " + "If blocking is true, end your turn after asking; " + "the answer arrives as your next message. If blocking is false, continue with work that doesn't depend on the answer. " + "One call is one decision, answered by picking from its own choices. When you have several decisions, such as a design with several choices, " + @@ -47,7 +51,7 @@ func (m *Manager) askTool(l *live) mcp.Tool { InputSchema: json.RawMessage(`{ "type": "object", "properties": { - "context": {"type": "string", "description": "Everything the human needs to answer well without reading your transcript: what you are working on, what you found, the relevant facts and data, and the choices. Several paragraphs is normal. Markdown is rendered. Each choice is a list item on its own line, at least two, all of one kind: '- ( ) Merge now: ships the fix today' / '- (*) Wait for review: ...' (pick one; exactly one (*) marks your recommendation), or '- [ ] Fix the tests' / '- [x] Update the docs' (pick any; [x] marks the ones you recommend). The choice's text is the whole line after the marker, and it comes back verbatim as the answer. Put long supporting detail (logs, full data, per-option analysis) in collapsed sections the human expands on demand: a line '
Title', the Markdown content, then a line '
'."}, + "context": {"type": "string", "description": "Everything the human needs to answer well without reading your transcript: what you are working on, what you found, the relevant facts and data shared by all the choices, and then the choices. Markdown is rendered. Each choice is a list item, at least two, all of one kind: '- ( ) Merge now' / '- (*) Wait for review' (pick one; exactly one (*) marks your recommendation), or '- [ ] Fix the tests' / '- [x] Update the docs' (pick any; [x] marks the ones you recommend). The choice's first line, after the marker, is a short name that comes back verbatim as the answer. Everything about that one choice goes in lines indented two spaces beneath it, not in a paragraph above the list: what it would concretely do, its worked example, any code block, command or sub-list, and its trade-offs. For example:\n\n- ( ) Retry in the client\n Wraps ` + "`fetch` in `retry(3)`" + `; a 500 shows the spinner up to 6s longer.\n ` + "```" + `ts\n await retry(3, () => api.get(path));\n ` + "```" + `\n- (*) Queue on the server\n The request returns at once; the write lands within 1s.\n\nPut long supporting detail (logs, full data, per-option analysis) in collapsed sections the human expands on demand: a line '
Title', the Markdown content, then a line '
'."}, "question": {"type": "string", "description": "The question itself, in one or two sentences. Markdown is rendered."}, "why_blocked": {"type": "string", "description": "What you can't do until this is answered, and why you can't decide it yourself."}, "attachments": {"type": "array", "items": { diff --git a/internal/agents/leadtools.go b/internal/agents/leadtools.go index 9e84145..636dc07 100644 --- a/internal/agents/leadtools.go +++ b/internal/agents/leadtools.go @@ -322,7 +322,7 @@ func (m *Manager) leadTools(l *live) []mcp.Tool { tool("show", "Point the human's right pane at a task, or at a project with no task: tabs are the tabs to put first, in order (the rest follow), and tab is the one to select. "+ - "Tabs: transcript, changes, files, terminal (a shell in the task's worktree), preview (the dev servers the task's agent exposed with expose_port), inbox (the task's open items), reviews (the task's reviews by reviewer agents), project (the project's dashboard: its active tasks and its TODO.md items); with only project_id, only project shows anything. "+ + "Tabs: transcript, changes, files, terminal (a shell in the task's worktree), inbox (the task's open items), reviews (the task's reviews by reviewer agents), project (the project's dashboard: its active tasks and its TODO.md items); with only project_id, only project shows anything. "+ "Omit both task_id and project_id to clear the pane. "+ "If the pane already shows that task (or project) on that tab, only the tab order changes and you are told so, even while the human is working in the pane. "+ "Otherwise refused while the human is working in the right pane, unless it is on the project tab or what it shows is finished (a merged or discarded task, or an inbox tab with nothing left). "+ @@ -330,8 +330,8 @@ func (m *Manager) leadTools(l *live) []mcp.Tool { `{"type": "object", "properties": { "task_id": {"type": "string"}, "project_id": {"type": "string", "description": "Ignored when task_id is given."}, - "tabs": {"type": "array", "items": {"type": "string", "enum": ["transcript", "changes", "files", "terminal", "preview", "inbox", "reviews", "project"]}}, - "tab": {"type": "string", "enum": ["transcript", "changes", "files", "terminal", "preview", "inbox", "reviews", "project"]} + "tabs": {"type": "array", "items": {"type": "string", "enum": ["transcript", "changes", "files", "terminal", "inbox", "reviews", "project"]}}, + "tab": {"type": "string", "enum": ["transcript", "changes", "files", "terminal", "inbox", "reviews", "project"]} }, "required": ["tabs", "tab"]}`, func(ctx context.Context, user api.User, raw json.RawMessage) (string, error) { f := api.Focus{} diff --git a/internal/agents/preview.go b/internal/agents/preview.go index 31e64a5..f170f18 100644 --- a/internal/agents/preview.go +++ b/internal/agents/preview.go @@ -32,7 +32,7 @@ type exposePortArgs struct { func (m *Manager) exposePortTool(l *live) mcp.Tool { return mcp.Tool{ Name: "expose_port", - Description: "Show the human a server you are running, such as a dev server, in the task's Preview tab. " + + Description: "Show the human a server you are running, such as a dev server, as a link above the task's tabs that opens it in a new window. " + "Start the server yourself first (in the background), listening on 127.0.0.1 (not 0.0.0.0 or localhost) on a port in this task's block. " + "byre then serves it over HTTPS on the same port of byre's host through tailscale serve, and returns the URL. " + "name labels it in the tab (\"web\", \"storybook\"); exposing a name or port again replaces the earlier one. " + @@ -40,7 +40,7 @@ func (m *Manager) exposePortTool(l *live) mcp.Tool { InputSchema: json.RawMessage(`{ "type": "object", "properties": { - "name": {"type": "string", "description": "Short label, shown in the Preview tab."}, + "name": {"type": "string", "description": "Short label, shown as the link's text."}, "port": {"type": "integer", "description": "The port the server listens on, at 127.0.0.1, within this task's block."} }, "required": ["name", "port"] @@ -98,7 +98,7 @@ func (m *Manager) exposePort(ctx context.Context, l *live, raw json.RawMessage) } } - return fmt.Sprintf("Exposed %q: https://:%d/ proxies to %s, and the human sees it in the task's Preview tab.", name, args.Port, addr), nil + return fmt.Sprintf("Exposed %q: https://:%d/ proxies to %s, and the human sees a link to it above the task's tabs.", name, args.Port, addr), nil } func (m *Manager) Unexpose(ctx context.Context, taskID string) { diff --git a/internal/api/api.gen.go b/internal/api/api.gen.go index 852ed08..4bc5130 100644 --- a/internal/api/api.gen.go +++ b/internal/api/api.gen.go @@ -368,7 +368,6 @@ const ( TabChanges TaskTab = "changes" TabFiles TaskTab = "files" TabInbox TaskTab = "inbox" - TabPreview TaskTab = "preview" TabProject TaskTab = "project" TabReviews TaskTab = "reviews" TabTerminal TaskTab = "terminal" @@ -384,8 +383,6 @@ func (e TaskTab) Valid() bool { return true case TabInbox: return true - case TabPreview: - return true case TabProject: return true case TabReviews: @@ -2929,179 +2926,179 @@ func HandlerWithOptions(si ServerInterface, options StdHTTPServerOptions) http.H // const string: with thousands of chunks the chained `+` fold is several // times slower for the Go compiler than parsing a slice literal. var swaggerSpec = []string{ - "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", + "xys/2uMZe6tHdxjynYobfvz4fwMAAP//", } // decodeSpec returns the embedded OpenAPI spec as raw JSON bytes, diff --git a/internal/store/store.go b/internal/store/store.go index 023892f..367ea83 100644 --- a/internal/store/store.go +++ b/internal/store/store.go @@ -369,6 +369,11 @@ UPDATE tasks SET workflow_run = id, workflow_title = title, WHERE s.task_id = tasks.id AND s.workflow_stage > 0 ORDER BY s.created_at DESC LIMIT 1), json_extract(workflow_definition, '$.stages[0].name')) WHERE workflow_name != '' AND workflow_run = ''; +`}, {"drop-preview-tab", ` +UPDATE users SET focus = json_set(focus, + '$.tab', CASE json_extract(focus, '$.tab') WHEN 'preview' THEN 'transcript' ELSE json_extract(focus, '$.tab') END, + '$.tabs', json((SELECT json_group_array(value) FROM json_each(users.focus, '$.tabs') WHERE value != 'preview'))); +UPDATE users SET focus = json_set(focus, '$.tabs', json('["transcript"]')) WHERE json_array_length(focus, '$.tabs') = 0; `}} const ( diff --git a/internal/tailscale/tailscale.go b/internal/tailscale/tailscale.go index 6112050..5c1e3ae 100644 --- a/internal/tailscale/tailscale.go +++ b/internal/tailscale/tailscale.go @@ -2,7 +2,9 @@ package tailscale import ( "context" + "encoding/json" "fmt" + "os" "os/exec" "strconv" "strings" @@ -11,17 +13,43 @@ import ( const cli = "/Applications/Tailscale.app/Contents/MacOS/Tailscale" func Serve(ctx context.Context, port int) error { - return run(ctx, "serve", "--bg", "--https="+strconv.Itoa(port), "http://127.0.0.1:"+strconv.Itoa(port)) + _, err := run(ctx, "serve", "--bg", "--https="+strconv.Itoa(port), "http://127.0.0.1:"+strconv.Itoa(port)) + if err != nil { + return err + } + out, err := run(ctx, "serve", "status", "--json") + if err != nil { + return err + } + status := struct { + Web map[string]json.RawMessage + }{} + err = json.Unmarshal(out, &status) + if err != nil { + return fmt.Errorf("parse tailscale serve status: %w", err) + } + suffix := ":" + strconv.Itoa(port) + for host := range status.Web { + if strings.HasSuffix(host, suffix) { + return nil + } + } + return fmt.Errorf("tailscale serve --https=%d exited 0 but port %d is not in serve status", port, port) } func Off(ctx context.Context, port int) error { - return run(ctx, "serve", "--https="+strconv.Itoa(port), "off") + _, err := run(ctx, "serve", "--https="+strconv.Itoa(port), "off") + return err } -func run(ctx context.Context, args ...string) error { - out, err := exec.CommandContext(ctx, cli, args...).CombinedOutput() +func run(ctx context.Context, args ...string) ([]byte, error) { + cmd := exec.CommandContext(ctx, cli, args...) + cmd.Env = append(os.Environ(), "TAILSCALE_BE_CLI=1") + stderr := strings.Builder{} + cmd.Stderr = &stderr + out, err := cmd.Output() if err != nil { - return fmt.Errorf("tailscale %s: %w: %s", strings.Join(args, " "), err, strings.TrimSpace(string(out))) + return nil, fmt.Errorf("tailscale %s: %w: %s", strings.Join(args, " "), err, strings.TrimSpace(stderr.String()+string(out))) } - return nil + return out, nil } diff --git a/web/dist/dom.js b/web/dist/dom.js index 6481478..400599d 100644 --- a/web/dist/dom.js +++ b/web/dist/dom.js @@ -26,8 +26,10 @@ export function replace(el, ...children) { el.replaceChildren(); append(el, ...children); } +const copyIcon = ''; +const copiedIcon = ''; export function copyable(pre) { - const button = h("button", { type: "button", class: "copy", title: "Copy to the clipboard" }, "copy"); + const button = h("button", { type: "button", class: "copy", title: "Copy to the clipboard", ariaLabel: "Copy to the clipboard", innerHTML: copyIcon }); button.onclick = async () => { try { await navigator.clipboard.writeText(pre.textContent ?? ""); @@ -36,9 +38,9 @@ export function copyable(pre) { void showAlert(errorText(err)); return; } - button.textContent = "copied"; + button.innerHTML = copiedIcon; setTimeout(() => { - button.textContent = "copy"; + button.innerHTML = copyIcon; }, 1500); }; return h("div", { class: "copyable" }, pre, button); diff --git a/web/dist/dom.js.map b/web/dist/dom.js.map index 826f43e..4296dc4 100644 --- a/web/dist/dom.js.map +++ b/web/dist/dom.js.map @@ -1 +1 @@ -{"version":3,"file":"dom.js","sourceRoot":"","sources":["../src/dom.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"dom.js","sourceRoot":"","sources":["../src/dom.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/web/dist/inbox.js b/web/dist/inbox.js index 9d7addc..7c56a88 100644 --- a/web/dist/inbox.js +++ b/web/dist/inbox.js @@ -74,12 +74,12 @@ function reconcile(parent, nodes) { } function clickable(el, go) { el.onclick = (e) => { - if (!e.target.closest("a")) { + if (!e.target.closest("a, button")) { go(); } }; el.onkeydown = (e) => { - if (e.key === "Enter" || e.key === " ") { + if (e.target === el && (e.key === "Enter" || e.key === " ")) { e.preventDefault(); go(); } @@ -127,9 +127,12 @@ function card(item) { return null; } seen.add(text); - const tag = recommended.includes(text) && h("span", { class: "recommended" }, "recommended"); + const rec = recommended.includes(text); + const tag = rec && h("span", { class: "recommended" }, "recommended"); + const name = h("span", { class: "choice-name" }, inlineMarkdown(text)); if (!multiple) { - return clickable(h("div", { class: "pick", role: "button", tabIndex: 0 }, inlineMarkdown(text), tag), () => { + const head = h("div", { class: "choice-head" }, name, tag); + return clickable(h("div", { class: rec ? "pick choice-box rec" : "pick choice-box", role: "button", tabIndex: 0 }, head), () => { void submit({ item_id: item.id, type: "option", options: [text] }); }); } @@ -142,7 +145,7 @@ function card(item) { checked.set(item.id, options.filter((o) => now.includes(o))); renderActions(); }; - return h("label", { class: "option" }, input, " ", inlineMarkdown(text), tag); + return h("label", { class: rec ? "option choice-box rec" : "option choice-box" }, h("div", { class: "choice-head" }, input, name, tag)); }; const textEntry = (label, placeholder, shared) => { const open = texts.has(item.id); diff --git a/web/dist/inbox.js.map b/web/dist/inbox.js.map index f0b8f5e..1c1ea4a 100644 --- a/web/dist/inbox.js.map +++ b/web/dist/inbox.js.map @@ -1 +1 @@ -{"version":3,"file":"inbox.js","sourceRoot":"","sources":["../src/inbox.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"inbox.js","sourceRoot":"","sources":["../src/inbox.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/web/dist/markdown.js b/web/dist/markdown.js index 2474e5a..782cc1e 100644 --- a/web/dist/markdown.js +++ b/web/dist/markdown.js @@ -38,7 +38,16 @@ function blocks(lines, opts) { i++; } i++; - out.push(f[2].toLowerCase() === "mermaid" ? diagram(body.join("\n")) : copyable(h("pre", { class: "md-code" }, h("code", {}, body.join("\n"))))); + const lang = f[2].toLowerCase(); + if (lang === "mermaid") { + out.push(diagram(body.join("\n"))); + continue; + } + if (lang === "diff" || lang === "patch") { + out.push(copyable(h("pre", { class: "md-code diff" }, h("code", {}, ...body.map(diffLine))))); + continue; + } + out.push(copyable(h("pre", { class: "md-code" }, h("code", {}, body.join("\n"))))); continue; } if (detailsClose.test(line)) { @@ -115,6 +124,10 @@ function blocks(lines, opts) { } return out; } +function diffLine(l) { + const cls = l.startsWith("@@") ? "hunk" : l.startsWith("+++") || l.startsWith("---") ? "meta" : l.startsWith("+") ? "add" : l.startsWith("-") ? "del" : "ctx"; + return h("span", { class: `line ${cls}` }, l + "\n"); +} function startsBlock(lines, i) { const line = lines[i]; return (fence.test(line) || @@ -189,17 +202,18 @@ function item(body, opts) { const li = h("li"); const m = opts.choice && choiceMarker.exec(body[0]); const picker = m ? opts.choice(m[2]) : null; + const detail = h("div", { class: "choice-detail" }); if (picker) { li.className = "choice"; li.append(picker); + if (body.slice(1).some((l) => l.trim() !== "")) { + picker.append(detail); + } } - const target = picker ?? li; + const target = picker ? detail : li; const first = picker ? [] : [body[0]]; const rest = body.slice(1); if (rest.every((l) => !startsBlockLine(l)) && !rest.includes("")) { - if (picker && rest.length > 0) { - target.append(h("br")); - } target.append(...joinLines([...first, ...rest].map((l) => l.trim()), opts)); return li; } @@ -209,9 +223,6 @@ function item(body, opts) { head.push(body[k].trim()); k++; } - if (picker && head.length > 0) { - target.append(h("br")); - } target.append(...joinLines(head, opts), ...blocks(body.slice(k), opts)); return li; } diff --git a/web/dist/markdown.js.map b/web/dist/markdown.js.map index 1b95db7..fb8f074 100644 --- a/web/dist/markdown.js.map +++ b/web/dist/markdown.js.map @@ -1 +1 @@ -{"version":3,"file":"markdown.js","sourceRoot":"","sources":["../src/markdown.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"markdown.js","sourceRoot":"","sources":["../src/markdown.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/web/dist/panes.js b/web/dist/panes.js index facd438..a89ac34 100644 --- a/web/dist/panes.js +++ b/web/dist/panes.js @@ -5,7 +5,7 @@ import { mountFiles } from "./files.js"; import { mountInbox } from "./inbox.js"; import { mountLead } from "./lead.js"; import { findTask, focusedProject, focusTab, on, onEach, state, tabs } from "./state.js"; -import { mountPreview } from "./preview.js"; +import { previewLinks } from "./preview.js"; import { mountProject } from "./project.js"; import { isReviewEvent, latestFindingCount, mountReviews } from "./reviews.js"; import { mountSettings } from "./settings.js"; @@ -18,7 +18,6 @@ const views = { changes: { label: "Changes", mount: (root) => mountChanges(root) }, files: { label: "Files", mount: mountFiles }, terminal: { label: "Terminal", mount: mountTerminal }, - preview: { label: "Preview", mount: mountPreview }, inbox: { label: "Inbox", mount: mountInbox }, reviews: { label: "Reviews", mount: mountReviews }, project: { label: "Project", mount: mountProject }, @@ -84,7 +83,7 @@ export function taskPane() { const body = h("div", { class: "pane-body" }); const picker = h("button", { class: "task-picker", title: "Switch task (⌘K)" }); picker.onclick = openSwitcher; - const pane = h("section", { class: "pane task-pane", tabIndex: -1 }, h("header", { class: "task-bar" }, picker), strip, body); + const pane = h("section", { class: "pane task-pane", tabIndex: -1 }, h("header", { class: "task-bar" }, picker, previewLinks()), strip, body); let shown; let dispose = () => { }; const renderPicker = () => { @@ -159,8 +158,6 @@ export function taskPane() { switch (t) { case "inbox": return waiting > 0; - case "preview": - return state.transcript.some((ev) => ev.kind === "preview.exposed"); case "reviews": return state.transcript.some(isReviewEvent); default: diff --git a/web/dist/panes.js.map b/web/dist/panes.js.map index 90de3ea..60c7a2a 100644 --- a/web/dist/panes.js.map +++ b/web/dist/panes.js.map @@ -1 +1 @@ -{"version":3,"file":"panes.js","sourceRoot":"","sources":["../src/panes.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"panes.js","sourceRoot":"","sources":["../src/panes.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/web/dist/preview.js b/web/dist/preview.js index d3bc1b3..0e7e25b 100644 --- a/web/dist/preview.js +++ b/web/dist/preview.js @@ -1,110 +1,43 @@ import { get } from "./api.js"; -import { errorText, h, replace } from "./dom.js"; +import { h, replace } from "./dom.js"; import { onEach, state } from "./state.js"; -const chosen = new Map(); export function previewURL(port) { return `https://${location.hostname}:${port}/`; } -export function mountPreview(root) { - const head = h("header", { class: "preview-header" }); - const body = h("div", { class: "preview-body" }); - let previews; - let error = ""; +export function previewLinks() { + const root = h("nav", { class: "preview-links" }); let target = 0; - let framed = ""; - let disposed = false; - const current = () => { - const taskId = state.selectedTaskId; - const name = taskId ? chosen.get(taskId) : undefined; - return previews?.find((p) => p.name === name) ?? previews?.[0]; - }; const load = async () => { const taskId = state.selectedTaskId; + const started = ++target; if (!taskId) { - render(); + replace(root); return; } - const started = ++target; try { - const fresh = await get("/api/tasks/{taskId}/previews", { path: { taskId } }); - if (started === target) { - previews = fresh; - error = ""; + const previews = await get("/api/tasks/{taskId}/previews", { path: { taskId } }); + if (started !== target) { + return; } + replace(root, ...previews.map((p) => h("a", { class: "preview-link", href: previewURL(p.port), target: "_blank", rel: "noopener", title: `Open ${p.name} (port ${p.port}) in a new window` }, p.name, " ↗"))); } catch (err) { if (started === target) { - previews = undefined; - error = errorText(err); + replace(root); } - } - if (!disposed && started === target) { - render(); + console.error("list previews", err); } }; - const render = () => { - const taskId = state.selectedTaskId; - const shown = current(); - replace(head, h("nav", { class: "preview-names" }, ...(previews ?? []).map((p) => { - const b = h("button", { type: "button", class: p === shown ? "preview-name active" : "preview-name" }, p.name, h("span", { class: "preview-port" }, ` :${p.port}`)); - b.onclick = () => { - if (taskId) { - chosen.set(taskId, p.name); - } - render(); - }; - return b; - })), shown ? h("a", { class: "preview-open", href: previewURL(shown.port), target: "_blank", rel: "noopener" }, "open ↗") : null); - if (!taskId) { - framed = ""; - replace(body, h("div", { class: "empty" }, "No task selected.")); - return; - } - if (error) { - framed = ""; - replace(body, h("div", { class: "empty error-text" }, error)); - return; - } - if (!previews) { - framed = ""; - replace(body, h("div", { class: "empty" }, "Loading…")); - return; - } - if (!shown) { - framed = ""; - replace(body, h("div", { class: "empty" }, "Nothing exposed. The task's agent shows a running server here with expose_port.")); - return; - } - const url = previewURL(shown.port); - if (url === framed) { - return; - } - framed = url; - replace(body, h("iframe", { class: "preview-frame", src: url, title: shown.name })); - }; - const offs = [ - onEach(["selection"], () => { - target++; - previews = undefined; - error = ""; - render(); + onEach(["selection"], () => { + replace(root); + void load(); + }); + onEach(["transcript"], (fresh) => { + if (fresh?.some((ev) => ev.kind === "preview.exposed")) { void load(); - }), - onEach(["transcript"], (fresh) => { - if (fresh.some((ev) => ev.kind === "preview.exposed")) { - framed = ""; - void load(); - } - }), - ]; - replace(root, h("div", { class: "preview-view" }, head, body)); - render(); - void load(); - return () => { - disposed = true; - for (const off of offs) { - off(); } - }; + }); + void load(); + return root; } //# sourceMappingURL=preview.js.map \ No newline at end of file diff --git a/web/dist/preview.js.map b/web/dist/preview.js.map index 88e3a60..18ce5b7 100644 --- a/web/dist/preview.js.map +++ b/web/dist/preview.js.map @@ -1 +1 @@ -{"version":3,"file":"preview.js","sourceRoot":"","sources":["../src/preview.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"preview.js","sourceRoot":"","sources":["../src/preview.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAkB,MAAM,UAAU,CAAC;AAC/C,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAE3C,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,OAAO,WAAW,QAAQ,CAAC,QAAQ,IAAI,IAAI,GAAG,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,YAAY;IAC1B,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC,CAAC;IAClD,IAAI,MAAM,GAAG,CAAC,CAAC;IAEf,MAAM,IAAI,GAAG,KAAK,IAAI,EAAE;QACtB,MAAM,MAAM,GAAG,KAAK,CAAC,cAAc,CAAC;QACpC,MAAM,OAAO,GAAG,EAAE,MAAM,CAAC;QACzB,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,CAAC,IAAI,CAAC,CAAC;YACd,OAAO;QACT,CAAC;QACD,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,8BAA8B,EAAE,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;YACjF,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;gBACvB,OAAO;YACT,CAAC;YACD,OAAO,CACL,IAAI,EACJ,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACpB,CAAC,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,IAAI,mBAAmB,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CACvK,CACF,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;gBACvB,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC;YACD,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;QACtC,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,CAAC,CAAC,WAAW,CAAC,EAAE,GAAG,EAAE;QACzB,OAAO,CAAC,IAAI,CAAC,CAAC;QACd,KAAK,IAAI,EAAE,CAAC;IACd,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE;QAC/B,IAAK,KAAiC,EAAE,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,iBAAiB,CAAC,EAAE,CAAC;YACpF,KAAK,IAAI,EAAE,CAAC;QACd,CAAC;IACH,CAAC,CAAC,CAAC;IACH,KAAK,IAAI,EAAE,CAAC;IACZ,OAAO,IAAI,CAAC;AACd,CAAC"} \ No newline at end of file diff --git a/web/dist/state.js b/web/dist/state.js index dffafbb..18b637d 100644 --- a/web/dist/state.js +++ b/web/dist/state.js @@ -1,6 +1,6 @@ import { get, put, subscribe } from "./api.js"; import { notifyInbox, notifyTurn } from "./notifications.js"; -export const tabs = ["transcript", "changes", "files", "terminal", "preview", "inbox", "reviews", "project"]; +export const tabs = ["transcript", "changes", "files", "terminal", "inbox", "reviews", "project"]; export const state = { me: undefined, projects: [], diff --git a/web/dist/state.js.map b/web/dist/state.js.map index 147468d..ba71481 100644 --- a/web/dist/state.js.map +++ b/web/dist/state.js.map @@ -1 +1 @@ -{"version":3,"file":"state.js","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"state.js","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/web/src/api.gen.ts b/web/src/api.gen.ts index b9a33cc..469c0c4 100644 --- a/web/src/api.gen.ts +++ b/web/src/api.gen.ts @@ -1201,7 +1201,7 @@ export interface components { focused: boolean; }; /** @enum {string} */ - TaskTab: "transcript" | "changes" | "files" | "terminal" | "preview" | "inbox" | "reviews" | "project"; + TaskTab: "transcript" | "changes" | "files" | "terminal" | "inbox" | "reviews" | "project"; TerminalSize: { cols: number; rows: number; diff --git a/web/src/dom.ts b/web/src/dom.ts index 10c1909..69be9ca 100644 --- a/web/src/dom.ts +++ b/web/src/dom.ts @@ -39,8 +39,13 @@ export function replace(el: Element, ...children: Child[]): void { append(el, ...children); } +const copyIcon = + ''; +const copiedIcon = + ''; + export function copyable(pre: HTMLPreElement): HTMLElement { - const button = h("button", { type: "button", class: "copy", title: "Copy to the clipboard" }, "copy"); + const button = h("button", { type: "button", class: "copy", title: "Copy to the clipboard", ariaLabel: "Copy to the clipboard", innerHTML: copyIcon }); button.onclick = async () => { try { await navigator.clipboard.writeText(pre.textContent ?? ""); @@ -48,9 +53,9 @@ export function copyable(pre: HTMLPreElement): HTMLElement { void showAlert(errorText(err)); return; } - button.textContent = "copied"; + button.innerHTML = copiedIcon; setTimeout(() => { - button.textContent = "copy"; + button.innerHTML = copyIcon; }, 1500); }; return h("div", { class: "copyable" }, pre, button); diff --git a/web/src/inbox.ts b/web/src/inbox.ts index 6d3f2f3..aa19d85 100644 --- a/web/src/inbox.ts +++ b/web/src/inbox.ts @@ -82,12 +82,12 @@ function reconcile(parent: Element, nodes: Node[]): void { function clickable(el: HTMLElement, go: () => void): HTMLElement { el.onclick = (e) => { - if (!(e.target as HTMLElement).closest("a")) { + if (!(e.target as HTMLElement).closest("a, button")) { go(); } }; el.onkeydown = (e) => { - if (e.key === "Enter" || e.key === " ") { + if (e.target === el && (e.key === "Enter" || e.key === " ")) { e.preventDefault(); go(); } @@ -151,9 +151,12 @@ function card(item: InboxItem): HTMLElement { return null; } seen.add(text); - const tag = recommended.includes(text) && h("span", { class: "recommended" }, "recommended"); + const rec = recommended.includes(text); + const tag = rec && h("span", { class: "recommended" }, "recommended"); + const name = h("span", { class: "choice-name" }, inlineMarkdown(text)); if (!multiple) { - return clickable(h("div", { class: "pick", role: "button", tabIndex: 0 }, inlineMarkdown(text), tag), () => { + const head = h("div", { class: "choice-head" }, name, tag); + return clickable(h("div", { class: rec ? "pick choice-box rec" : "pick choice-box", role: "button", tabIndex: 0 }, head), () => { void submit({ item_id: item.id, type: "option", options: [text] }); }); } @@ -169,7 +172,7 @@ function card(item: InboxItem): HTMLElement { ); renderActions(); }; - return h("label", { class: "option" }, input, " ", inlineMarkdown(text), tag); + return h("label", { class: rec ? "option choice-box rec" : "option choice-box" }, h("div", { class: "choice-head" }, input, name, tag)); }; const textEntry = (label: string, placeholder: string, shared?: { onInput: () => void; onSubmit: () => void }) => { diff --git a/web/src/markdown.ts b/web/src/markdown.ts index 7516b4d..23d8239 100644 --- a/web/src/markdown.ts +++ b/web/src/markdown.ts @@ -51,7 +51,16 @@ function blocks(lines: string[], opts: Options): Block[] { i++; } i++; - out.push(f[2]!.toLowerCase() === "mermaid" ? diagram(body.join("\n")) : copyable(h("pre", { class: "md-code" }, h("code", {}, body.join("\n"))))); + const lang = f[2]!.toLowerCase(); + if (lang === "mermaid") { + out.push(diagram(body.join("\n"))); + continue; + } + if (lang === "diff" || lang === "patch") { + out.push(copyable(h("pre", { class: "md-code diff" }, h("code", {}, ...body.map(diffLine))))); + continue; + } + out.push(copyable(h("pre", { class: "md-code" }, h("code", {}, body.join("\n"))))); continue; } @@ -137,6 +146,11 @@ function blocks(lines: string[], opts: Options): Block[] { return out; } +function diffLine(l: string): HTMLElement { + const cls = l.startsWith("@@") ? "hunk" : l.startsWith("+++") || l.startsWith("---") ? "meta" : l.startsWith("+") ? "add" : l.startsWith("-") ? "del" : "ctx"; + return h("span", { class: `line ${cls}` }, l + "\n"); +} + function startsBlock(lines: string[], i: number): boolean { const line = lines[i]!; return ( @@ -218,17 +232,18 @@ function item(body: string[], opts: Options): HTMLElement { const li = h("li"); const m = opts.choice && choiceMarker.exec(body[0]!); const picker = m ? opts.choice!(m[2]!) : null; + const detail = h("div", { class: "choice-detail" }); if (picker) { li.className = "choice"; li.append(picker); + if (body.slice(1).some((l) => l.trim() !== "")) { + picker.append(detail); + } } - const target = picker ?? li; + const target = picker ? detail : li; const first = picker ? [] : [body[0]!]; const rest = body.slice(1); if (rest.every((l) => !startsBlockLine(l)) && !rest.includes("")) { - if (picker && rest.length > 0) { - target.append(h("br")); - } target.append(...joinLines([...first, ...rest].map((l) => l.trim()), opts)); return li; } @@ -238,9 +253,6 @@ function item(body: string[], opts: Options): HTMLElement { head.push(body[k]!.trim()); k++; } - if (picker && head.length > 0) { - target.append(h("br")); - } target.append(...joinLines(head, opts), ...blocks(body.slice(k), opts)); return li; } diff --git a/web/src/panes.ts b/web/src/panes.ts index 3a3476a..faea998 100644 --- a/web/src/panes.ts +++ b/web/src/panes.ts @@ -5,7 +5,7 @@ import { mountFiles } from "./files.js"; import { mountInbox } from "./inbox.js"; import { mountLead } from "./lead.js"; import { findTask, focusedProject, focusTab, on, onEach, state, tabs } from "./state.js"; -import { mountPreview } from "./preview.js"; +import { previewLinks } from "./preview.js"; import { mountProject } from "./project.js"; import { isReviewEvent, latestFindingCount, mountReviews } from "./reviews.js"; import { mountSettings } from "./settings.js"; @@ -19,7 +19,6 @@ const views: Record () = changes: { label: "Changes", mount: (root) => mountChanges(root) }, files: { label: "Files", mount: mountFiles }, terminal: { label: "Terminal", mount: mountTerminal }, - preview: { label: "Preview", mount: mountPreview }, inbox: { label: "Inbox", mount: mountInbox }, reviews: { label: "Reviews", mount: mountReviews }, project: { label: "Project", mount: mountProject }, @@ -100,7 +99,7 @@ export function taskPane(): HTMLElement { const body = h("div", { class: "pane-body" }); const picker = h("button", { class: "task-picker", title: "Switch task (⌘K)" }); picker.onclick = openSwitcher; - const pane = h("section", { class: "pane task-pane", tabIndex: -1 }, h("header", { class: "task-bar" }, picker), strip, body); + const pane = h("section", { class: "pane task-pane", tabIndex: -1 }, h("header", { class: "task-bar" }, picker, previewLinks()), strip, body); let shown: TaskTab | undefined; let dispose: () => void = () => {}; @@ -182,8 +181,6 @@ export function taskPane(): HTMLElement { switch (t) { case "inbox": return waiting > 0; - case "preview": - return state.transcript.some((ev) => ev.kind === "preview.exposed"); case "reviews": return state.transcript.some(isReviewEvent); default: diff --git a/web/src/preview.ts b/web/src/preview.ts index c56a732..0a74752 100644 --- a/web/src/preview.ts +++ b/web/src/preview.ts @@ -1,126 +1,50 @@ -import { get, type ByreEvent, type Schemas } from "./api.js"; -import { errorText, h, replace } from "./dom.js"; +import { get, type ByreEvent } from "./api.js"; +import { h, replace } from "./dom.js"; import { onEach, state } from "./state.js"; -type Preview = Schemas["Preview"]; - -const chosen = new Map(); - export function previewURL(port: number): string { return `https://${location.hostname}:${port}/`; } -export function mountPreview(root: HTMLElement): () => void { - const head = h("header", { class: "preview-header" }); - const body = h("div", { class: "preview-body" }); - let previews: Preview[] | undefined; - let error = ""; +export function previewLinks(): HTMLElement { + const root = h("nav", { class: "preview-links" }); let target = 0; - let framed = ""; - let disposed = false; - - const current = (): Preview | undefined => { - const taskId = state.selectedTaskId; - const name = taskId ? chosen.get(taskId) : undefined; - return previews?.find((p) => p.name === name) ?? previews?.[0]; - }; const load = async () => { const taskId = state.selectedTaskId; + const started = ++target; if (!taskId) { - render(); + replace(root); return; } - const started = ++target; try { - const fresh = await get("/api/tasks/{taskId}/previews", { path: { taskId } }); - if (started === target) { - previews = fresh; - error = ""; + const previews = await get("/api/tasks/{taskId}/previews", { path: { taskId } }); + if (started !== target) { + return; } + replace( + root, + ...previews.map((p) => + h("a", { class: "preview-link", href: previewURL(p.port), target: "_blank", rel: "noopener", title: `Open ${p.name} (port ${p.port}) in a new window` }, p.name, " ↗"), + ), + ); } catch (err) { if (started === target) { - previews = undefined; - error = errorText(err); + replace(root); } - } - if (!disposed && started === target) { - render(); + console.error("list previews", err); } }; - const render = () => { - const taskId = state.selectedTaskId; - const shown = current(); - replace( - head, - h( - "nav", - { class: "preview-names" }, - ...(previews ?? []).map((p) => { - const b = h("button", { type: "button", class: p === shown ? "preview-name active" : "preview-name" }, p.name, h("span", { class: "preview-port" }, ` :${p.port}`)); - b.onclick = () => { - if (taskId) { - chosen.set(taskId, p.name); - } - render(); - }; - return b; - }), - ), - shown ? h("a", { class: "preview-open", href: previewURL(shown.port), target: "_blank", rel: "noopener" }, "open ↗") : null, - ); - if (!taskId) { - framed = ""; - replace(body, h("div", { class: "empty" }, "No task selected.")); - return; - } - if (error) { - framed = ""; - replace(body, h("div", { class: "empty error-text" }, error)); - return; - } - if (!previews) { - framed = ""; - replace(body, h("div", { class: "empty" }, "Loading…")); - return; - } - if (!shown) { - framed = ""; - replace(body, h("div", { class: "empty" }, "Nothing exposed. The task's agent shows a running server here with expose_port.")); - return; - } - const url = previewURL(shown.port); - if (url === framed) { - return; - } - framed = url; - replace(body, h("iframe", { class: "preview-frame", src: url, title: shown.name })); - }; - - const offs = [ - onEach(["selection"], () => { - target++; - previews = undefined; - error = ""; - render(); + onEach(["selection"], () => { + replace(root); + void load(); + }); + onEach(["transcript"], (fresh) => { + if ((fresh as ByreEvent[] | undefined)?.some((ev) => ev.kind === "preview.exposed")) { void load(); - }), - onEach(["transcript"], (fresh) => { - if ((fresh as ByreEvent[]).some((ev) => ev.kind === "preview.exposed")) { - framed = ""; - void load(); - } - }), - ]; - - replace(root, h("div", { class: "preview-view" }, head, body)); - render(); - void load(); - return () => { - disposed = true; - for (const off of offs) { - off(); } - }; + }); + void load(); + return root; } diff --git a/web/src/state.ts b/web/src/state.ts index 42bb864..c8d305d 100644 --- a/web/src/state.ts +++ b/web/src/state.ts @@ -19,7 +19,7 @@ export type Topic = | "lead.transcript" | "lead.stream"; -export const tabs: TaskTab[] = ["transcript", "changes", "files", "terminal", "preview", "inbox", "reviews", "project"]; +export const tabs: TaskTab[] = ["transcript", "changes", "files", "terminal", "inbox", "reviews", "project"]; export const state = { me: undefined as User | undefined, diff --git a/web/style.css b/web/style.css index f507291..c7cfc3d 100644 --- a/web/style.css +++ b/web/style.css @@ -283,14 +283,16 @@ textarea { } .task-bar { - display: flex; - justify-content: center; + display: grid; + grid-template-columns: 1fr minmax(0, auto) 1fr; + align-items: center; padding: 0 12px; border-bottom: 1px solid var(--border); background: color-mix(in srgb, var(--task) 12%, var(--bg)); } .task-bar .task-picker { + grid-column: 2; min-width: 0; overflow: hidden; text-overflow: ellipsis; @@ -303,6 +305,20 @@ textarea { font-weight: 700; } +.preview-links { + grid-column: 3; + justify-self: end; + display: flex; + gap: 12px; + min-width: 0; + overflow: hidden; +} + +.preview-link { + white-space: nowrap; + color: var(--task); +} + .task-pane > .pane-tabs button.active { border-bottom-color: var(--task); } @@ -381,7 +397,6 @@ a.task-link { .changes-view, .files-view, .terminal-view, -.preview-view, .inbox-view, .reviews-view { flex: 1; @@ -669,9 +684,17 @@ button.compact.danger { margin: 0 0 8px; } -.md ul, +.md ul { + padding-left: 3ch; +} + .md ol { - padding-left: 22px; + padding-left: 4ch; +} + +.md li .copyable, +.md li .md-table { + margin-top: 6px; } .md li > ul, @@ -724,6 +747,15 @@ button.compact.danger { padding: 0; } +.md pre.md-code.diff { + padding: 6px 0; + font-size: inherit; +} + +.md pre.md-code.diff .line { + padding: 0 8px; +} + .md .md-table { overflow-x: auto; } @@ -880,9 +912,10 @@ button.compact.danger { position: absolute; top: 4px; right: 4px; - padding: 0 6px; + display: flex; + padding: 4px; border-radius: 4px; - font-size: 11px; + line-height: 0; color: var(--muted); background: var(--raised); opacity: 0; @@ -1351,58 +1384,6 @@ pre.diff .meta { background: var(--bg); } -.preview-header { - display: flex; - justify-content: space-between; - align-items: baseline; - gap: 12px; - padding: 8px 16px; - border-bottom: 1px solid var(--border); -} - -.preview-names { - display: flex; - flex-wrap: wrap; - gap: 4px; - min-width: 0; -} - -.preview-name { - padding: 0 6px; - border: 1px solid transparent; - border-radius: 4px; - background: none; - color: var(--accent); -} - -.preview-name.active { - border-color: var(--border); - color: var(--text); -} - -.preview-port { - color: var(--muted); -} - -.preview-open { - font-size: 11px; - white-space: nowrap; -} - -.preview-body { - flex: 1; - min-height: 0; - display: flex; - flex-direction: column; -} - -.preview-frame { - flex: 1; - width: 100%; - border: none; - background: var(--bg); -} - .entries { display: flex; flex-direction: column; @@ -1604,7 +1585,77 @@ pre.file-text .line::before { } .md li.choice + li.choice { - margin-top: 4px; + margin-top: 8px; +} + +.md ul:has(> li.choice) { + padding-left: 0; +} + +.choice-box, +.pick.choice-box { + display: block; + padding: 0; + overflow: hidden; + border: 1px solid var(--border); + border-radius: 6px; + background: var(--raised); +} + +.choice-box.rec { + border-color: color-mix(in srgb, var(--ok) 55%, var(--border)); +} + +.choice-head { + display: flex; + align-items: baseline; + gap: 10px; + padding: 6px 10px; + background: var(--surface); + font-weight: 600; +} + +.choice-box.rec > .choice-head { + background: color-mix(in srgb, var(--ok) 12%, var(--surface)); +} + +.choice-name { + flex: 1; + min-width: 0; +} + +.choice-head .recommended { + margin-left: 0; + font-weight: 400; +} + +.choice-head input { + flex: none; + margin: 0; + align-self: center; +} + +.choice-detail { + padding: 8px 10px; + border-top: 1px solid var(--border); +} + +.choice-detail > :last-child { + margin-bottom: 0; +} + +.choice-detail > .copyable:first-child { + margin-top: 0; +} + +.pick.choice-box:hover, +.pick.choice-box:focus-visible { + border-color: var(--accent); +} + +.pick.choice-box:hover > .choice-head, +.pick.choice-box:focus-visible > .choice-head { + background: var(--accent-tint); } .pick {