• feat: rich-editor fill, box centers, screenshot downscale, disabled+docs (#41-#45)

    oimwiodev released this 2026-06-17 08:49:38 +00:00 | 11 commits to main since this release

    Dogfooding backlog from this session's embedded-form/editor work.

    #41 fill on rich editors: detect CodeMirror 5 / Monaco / ProseMirror /
    contenteditable and set via their own API or execCommand('insertText') so
    beforeinput/input fire (a raw .value/textContent write no-op'd juejin's
    CodeMirror and skipped React composers). Response echoes the engine used.
    fill <sel> --file <path> / --stdin set large multiline text without
    shell-escaping. get value now reads CodeMirror/Monaco/contenteditable too.

    #42 screenshot --max-width/--max-height/--scale, plus a default 2000px
    longest-edge cap (AGENT_BROWSER_SCREENSHOT_MAX_EDGE; 0 disables) so retina
    full-page shots fit an agent's image reader and --scale 0.5 makes screenshot
    px line up with click px. Annotated shots are never downscaled.

    #43 box @ref (already a top-level alias of get box) now also returns
    centerX/centerY/inViewport in CSS px — feed straight into click x y when a
    ref-click no-ops (e.g. a button in a cross-origin iframe).

    #44 no code change needed — disabled elements already list as
    button "Save" [disabled, ref=eN]; the reporter's missing button was
    DOM-gated on validity. Added a skill note: find text can't reach into a
    cross-origin iframe — target those by snapshot @ref.

    #45 core skill now distinguishes screenshot-to-locate (discouraged) from
    screenshot-to-capture a reusable image asset via screenshot [--clip] <file>
    (encouraged), so agents stop over-reading the prohibition.

    #40 (group-scoped relay) stays deferred — needs an ab-connect extension change.

    Verified live: fill --file round-trips multiline+CJK+backticks; contenteditable
    engine=contenteditable + get value reads it back; box gives centerX/centerY/
    inViewport; screenshot of retina example.com → 2000px; disabled button shows
    [disabled]. 856 tests pass.

    Downloads