Skip to content

[browser] POST /v1/instances/:id/browse + browser.task runner type #72

Closed

Description

@serge-ivo

[browser] POST /v1/instances/:id/browse + browser.task runner type

The entry point that starts a generic browser task.

Do

  • POST /v1/instances/:id/browse { url, objective, dryRun? } — owner-scoped, requires a live runtime; starts BrowserTaskWorkflow (mirrors startJobApply in routes/instances-apply.ts).
  • New runner task type browser.task in packages/browser-runner (mirror job.apply_agent; reuse the existing /browser/* primitives; the runner already exposes generic snapshot/act).
  • dryRun guard that blocks irreversible actions (like apply's submit guard) for safe testing.

Acceptance

  • POST /browse starts a task; runner accepts browser.task (no "Unknown task type").
  • dryRun prevents irreversible actions; omitting it acts for real.
  • Owner-scoped (403 for non-owner); audit-logged.

Depends on the engine extraction + BrowserTaskWorkflow. Part of the browser-generalization epic.

Activity

  1. serge-ivo commented on Aug 6, 2026

    @serge-ivo
    ContributorAuthor

    Closing as implemented on main. Evidence: workers/api/src/routes/instances-browse.ts registers POST /v1/instances/:instanceId/browse, creates browser.task runtime tasks, starts BROWSER_TASK, enforces ownership/pro billing, and packages/browser-runner/src/task-types.ts accepts browser.task.

  2. serge-ivo commented on Aug 6, 2026

    @serge-ivo
    ContributorAuthor

    Implementation links: no associated PR was found; this landed direct on main in 9303abb.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    browser-agentsBrowser automation generalization

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions