Skip to content

feat(actions): file upload via setInputFiles (browser_act kind:upload + run step)#69

Merged
fusengine merged 1 commit into
mainfrom
feat/upload-action
Jun 12, 2026
Merged

feat(actions): file upload via setInputFiles (browser_act kind:upload + run step)#69
fusengine merged 1 commit into
mainfrom
feat/upload-action

Conversation

@fusengine

Copy link
Copy Markdown
Owner

Adds file upload — the one form interaction fuse-browser was missing. A new upload action wires Playwright setInputFiles into browser_act (kind:"upload") and run step plans.

Changes

  • src/actions/upload.tsuploadFiles(page, target, files), normalize CSV/array, setInputFiles
  • performAction + act-by-ref + browser_act schema (files: string | string[]) + run step type
  • files accepts a path, comma-separated string, or array; targets by ref or selector
  • Docs (mcp-tools.md, cli.md) + README features + CHANGELOG, same commit

Not a new tool

Tool count stays 44upload is a new kind/step, not a new MCP tool.

Test plan

  • bun test tests/unit — 301 pass (incl. new upload.test.ts)
  • bun run test:integration — 20 pass (real Chromium)
  • Live: real upload on the-internet upload form → "File Uploaded!" + filename confirmed
  • tsc + Biome clean
  • CI green

Breaking changes

None — additive.

… + run step)

New 'upload' action wires Playwright setInputFiles into performAction, browser_act and run step plans. files accepts a path, a comma-separated string, or an array; targets by ref or selector. Enables attachment forms (job applications, avatars, CSV imports). Not a new MCP tool — count stays 44. Verified live on the-internet upload form; docs + README + CHANGELOG updated in the same commit.
@fusengine fusengine merged commit 94db7fe into main Jun 12, 2026
1 check passed
@fusengine fusengine deleted the feat/upload-action branch June 12, 2026 21:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant