Files
kandev/apps/web/lib/walkthrough-editor-range.ts
José Almeida 3e237e177a feat: add agent-authored code walkthroughs (#1647)
* feat: add code-walkthrough backend (MCP tool, service, persistence, WS events)

* feat: render agent code walkthroughs as line-anchored cards + editor window

* test: add code-walkthrough re-emit mock-agent scenario

* fix: rework code-walkthrough UX (floating card, line reveal, minimize, clickable file)

* fix: improve code walkthrough editor UX

* fix: backfill walkthrough launcher after websocket connect

* fix: improve walkthrough requests and editor anchors

* fix: clear walkthrough highlights on close

* feat: add walkthrough discard and prompt customization

* fix: send walkthrough requests through saved prompt

* fix: support postgres built-in prompt seeding

* fix: address walkthrough review feedback

* fix: address walkthrough review follow-ups

* fix: harden walkthrough lifecycle races

* fix: reuse walkthrough notification cleanup

* fix: guard stale walkthrough file opens

* fix: abort stale file opens before paint

* fix: stabilize github settings e2e readiness

* fix: use stable github settings e2e selector
2026-07-10 08:34:57 +01:00

29 lines
746 B
TypeScript

import {
walkthroughStepMatchesFile,
type WalkthroughTargetFile,
} from "@/lib/diff/walkthrough-match";
import type { WalkthroughStep } from "@/lib/types/http";
export type WalkthroughEditorRange = {
startLine: number;
endLine: number;
};
export type WalkthroughRangeBox = WalkthroughEditorRange & {
top: number;
left: number;
width: number;
height: number;
};
export function getWalkthroughEditorRange(
file: WalkthroughTargetFile,
step: WalkthroughStep | null | undefined,
): WalkthroughEditorRange | null {
if (!step || !walkthroughStepMatchesFile(file, step)) return null;
return {
startLine: Math.min(step.line, step.line_end ?? step.line),
endLine: Math.max(step.line, step.line_end ?? step.line),
};
}