chore: v2.8.12 — clone queue and progress, session defaults, chat agents, drops as @ mentions
Whole tree from parallel sessions, plus the version bump: - Clone: a queue with live progress (Add workspace and extra folders), clones run under nice/ionice so the machine stays responsive. - Settings → AI tools → Session defaults: a new session's default permission mode / bypass per account. - Chat lists the background subagents that have not reported back yet. - A file pasted or dropped into a claude pane goes in as an @ mention. - Changes panel: say why amend/undo is refused on a pushed commit. - openapi.yaml regenerated (Artifacts, Host, resumeById).
This commit is contained in:
@@ -3576,11 +3576,22 @@ export const api = {
|
||||
title?: string;
|
||||
tool?: LaneTool;
|
||||
credentials?: { username: string; password: string; remember?: boolean };
|
||||
/** Blobless clone (`--filter=blob:none`): file contents fetched on checkout. */
|
||||
partial?: boolean;
|
||||
/** This clone's name for {@link lanes.cloneProgress}. */
|
||||
progressToken?: string;
|
||||
}) =>
|
||||
request<{ lane: Lane; created: boolean; path: string }>("/lanes/clone", {
|
||||
method: "POST",
|
||||
body: JSON.stringify(body),
|
||||
}),
|
||||
/**
|
||||
* GET /api/lanes/clone/progress/:token — a clone's place in the
|
||||
* machine-wide queue, then git's own progress; 404 until the POST
|
||||
* carrying `progressToken` arrives, and a minute after it ends.
|
||||
*/
|
||||
cloneProgress: (token: string) =>
|
||||
request<CloneProgressView>(`/lanes/clone/progress/${encodeURIComponent(token)}`),
|
||||
/**
|
||||
* GET /api/lanes/pipelines — every pipeline template the server can render
|
||||
* a lane against, built-in plus any `DASHBOARD_PIPELINES_DIR` override.
|
||||
@@ -3977,6 +3988,9 @@ export const api = {
|
||||
url: string;
|
||||
name?: string;
|
||||
credentials?: { username: string; password: string; remember?: boolean };
|
||||
/** Blobless clone, like {@link lanes.clone}'s `partial`. */
|
||||
partial?: boolean;
|
||||
progressToken?: string;
|
||||
}
|
||||
) =>
|
||||
request<LaneSourcesView & { path: string }>(`/lanes/${id}/sources/clone`, {
|
||||
@@ -5290,6 +5304,23 @@ export interface LaneSource {
|
||||
}
|
||||
|
||||
/** Response shape of GET /api/lanes/:id/sources (and of every sources write). */
|
||||
/** `GET /api/lanes/clone/progress/:token` — see server/lib/clone-queue.js. */
|
||||
export interface CloneProgressView {
|
||||
state: "queued" | "running" | "done" | "failed";
|
||||
/** 1-based place among the waiting clones while `queued`. */
|
||||
position: number | null;
|
||||
/** Clones running / waiting machine-wide, and how many may run at once. */
|
||||
running: number;
|
||||
waiting: number;
|
||||
limit: number;
|
||||
phase: "remote" | "receiving" | "resolving" | "checkout" | "other" | null;
|
||||
/** git's own words for the phase (shown for `other`). */
|
||||
label: string | null;
|
||||
percent: number | null;
|
||||
/** e.g. "450/1000, 120.50 MiB | 5.20 MiB/s". */
|
||||
detail: string | null;
|
||||
}
|
||||
|
||||
export interface LaneSourcesView {
|
||||
instructions: string;
|
||||
/** The workspace's tool can take folders and instructions (claude, codex). */
|
||||
|
||||
Reference in New Issue
Block a user