You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Bundled set of editor-tool refinements driven by support traces:
- getEditorState now reports inDesignMode (true when the code editor
is hidden and the live preview is expanded full-bleed). The model
needs this to interpret "I can't see your code edits" cases —
design mode hides the code view, and that's a separate fact from
the active file.
- getEditorState response now appends a fallback hint pointing the
model at takeScreenshot (no selector) for any UI question the JSON
doesn't answer (e.g. "what's in the Problems panel" / "what does
this sidebar say" — UI panels not represented in the state object).
- takeScreenshot description rewritten to a clean binary rule —
"rendered live preview" → selector='#panel-live-preview-frame',
"anything else (Problems panel, file tree, toolbar, any Phoenix UI)"
→ no selector. Earlier "ALMOST ALWAYS pass a selector" framing was
over-discouraging the legit no-selector case where the user is
asking about Phoenix UI.
- controlEditor gains a toggleDesignMode operation with an `enabled`
boolean. The op description spells out what design mode is (full
live preview, code editor hidden, content-focused browser-like
view) so the model picks it for the right intents.
- System prompt: explains what the live preview actually is (the
rendered view of the active HTML/CSS/JS/SVG/Markdown file), so
Claude has a mental model before reading the per-tool sections.
filePath: z.string().optional().describe("Absolute path to the file (not required for toggleLivePreview / toggleDesignMode / reloadLivePreview)"),
261
275
startLine: z.number().optional().describe("Start line (1-based) for setSelection"),
262
276
startCh: z.number().optional().describe("Start column (1-based) for setSelection"),
263
277
endLine: z.number().optional().describe("End line (1-based) for setSelection"),
264
278
endCh: z.number().optional().describe("End column (1-based) for setSelection"),
265
279
line: z.number().optional().describe("Line number (1-based) for setCursorPos"),
266
280
ch: z.number().optional().describe("Column (1-based) for setCursorPos"),
267
-
showPreview: z.boolean().optional().describe("true to show, false to hide live preview (for toggleLivePreview)")
281
+
showPreview: z.boolean().optional().describe("true to show, false to hide live preview (for toggleLivePreview)"),
282
+
enabled: z.boolean().optional().describe("true to turn design mode on (full live preview, code editor hidden), false to return to code editor view (for toggleDesignMode)")
268
283
})).describe("Array of editor operations to execute sequentially")
0 commit comments