Member Junction
    Preparing search index...

    Complete configuration for a Computer Use engine run.

    Hierarchy (View Summary)

    Index

    Constructors

    Properties

    AllowedDomains?: string[]

    Domains the browser may visit. When set, all others are blocked.

    APIKeyResolver?: AIAPIKeyResolver

    Key-resolution seam for the controller and judge LLMs this engine instantiates itself — the direct-LLM path, taken when the caller pins ControllerModel / JudgeModel. Asked for ONE driver class; its answer is used when it has one, else the platform key — the same order as GetAIAPIKey (a run's key, then the environment's), which for prompts is only the legacy tier: MJ Credentials are not consulted here. A resolver rather than a key list, so the engine can ask for the class it needs without holding the caller's credentials.

    Not wired in MJ yet. ComputerUseAction does not set it, and MJComputerUseEngine's default path runs the controller and judge through stored prompts via AIPromptRunner, which does not consult it. Absent ⇒ platform keys, which is every run today that does not set it.

    ApplicationContext?: string

    Free-form markdown about the application under test, rendered into the controller prompt under "## Application Context" so the LLM doesn't rediscover navigation landmarks every test. Typically sourced from TestSuite.Configuration.applicationContext.

    AppProfile?: AppProfile

    App-specific readiness/busy signals the adaptive settle loop consults before perceiving. Merged with the engine's app-neutral defaults. Omit for zero-config heuristic settling.

    Per-domain authentication configuration

    BlockedDomains?: string[]

    Domains explicitly blocked. Evaluated after AllowedDomains — blocked always wins.

    BrowserConfig?: BrowserConfig

    Browser-specific configuration (viewport, user agent, timeouts)

    Checkpoints?: RunCheckpoint[]

    Ordered tour checkpoints. When set, the run passes iff every checkpoint latches met (sticky) and the final verdict is synthesized from the latch state rather than a single end-state judge. Empty → single-end-state judging over ValidationCriteria.

    ContextSeed?: ContextSeed

    localStorage + IndexedDB captured once post-login and restored before the app boots, so it doesn't cold-boot its metadata cache. Restored best-effort. Omit to cold-boot.

    ControllerModel?: ModelConfig

    Model selection for the controller LLM

    ControllerPrompt?: string

    Override for the controller system prompt

    ElementGrounding?: boolean

    Extract the page's interactive elements into a stable indexed list each step so the controller can act by index (ClickElement/TypeIntoElement) with locator-based auto-wait instead of estimating coordinates. Default off (coordinate/vision mode).

    EphemeralContext?: boolean

    The browser context will be destroyed right after this run rather than recycled. Teardown then skips the between-test state scrub, which would otherwise re-navigate to the app origin — a wasted app boot. Leave false/unset for recycled shared contexts, where the scrub is required.

    Goal: string = ''

    Natural-language goal for the agent to accomplish

    Headless: boolean = true

    Run browser in headless mode (default: true)

    Hints?: string[]

    Per-test UI hints injected after the goal in the controller prompt — e.g. "the filter panel opens via the funnel icon".

    JudgeFrequency?: JudgeFrequency

    Judge evaluation frequency (default: EveryStep). Use EveryNSteps or OnStagnation to reduce LLM costs.

    JudgeModel?: ModelConfig

    Model selection for the judge LLM

    JudgePrompt?: string

    Override for the judge prompt

    LogCallback?: (level: "info" | "warn" | "error", message: string) => void

    Receives all engine log messages in addition to console output.

    MaxActionsPerStep?: number

    Max browser actions executed per step before the batch stops (default 4). The engine also halts on a failed action, a mid-batch route change, or a page-changing action.

    MaxExecutionTimeMs?: number

    Maximum agent time (ms) before the run expires with TimeBudgetExceeded, excluding engine-side settle waiting so a slow app doesn't consume the agent's reasoning budget. On expiry one forced final judge runs so the run is still scored. Omit/0 to disable. Distinct from MaxSteps, which bounds decision count.

    MaxSteps: number = 30

    Maximum controller loop steps before forced termination (default: 30)

    Prelude?: RunPrelude

    Scripted navigation run before the agentic loop, zero LLM. Omit for tests that begin at StartUrl, or whose subject IS navigation.

    PreviousAttemptSummary?: string

    A memo from a prior failed attempt at this goal, injected into the controller prompt so a retry is non-blind. Typically the previous attempt's ComputerUseResult.FailureMemo.

    ReplayHeal?: ReplayHealPolicy

    How far a diverged replay step may be repaired before the run gives up.

    • llm (default) — deterministic role+name re-resolution, escalating an ambiguous or failed match to ComputerUseEngine.healTargetViaLLM.
    • deterministic — role+name re-resolution only; the model is never asked.
    • off — no repair at all; the first failed guard diverges.

    off is the setting for a script treated as a contract: a step that no longer matches is the finding, and healing it would hide the UI change the test exists to catch. Pair it with AllowLLMFallback: false for a replay that can only pass by executing exactly what was recorded.

    ScreenshotDelayMs: number = 500

    Delay before each screenshot capture, giving the page time to render. (default: 500, 0 disables). Only the floor fallback when no AppProfile is supplied — otherwise the settle loop's MinWaitMs governs.

    ScreenshotHistoryDepth: number = 20

    Recent screenshots included in controller context, as a ring buffer. Higher values give more context but increase token usage. (default: 20)

    StartUrl?: string

    Starting URL to navigate to

    Tools?: ComputerUseTool<Record<string, unknown>, unknown>[]

    Tools the LLM can invoke during execution

    TracePath?: string

    When set, records a forensic browser trace (DOM + screenshots + network + console) and writes it here on completion, echoed on ComputerUseResult.TracePath. Retain-or-discard is the caller's policy. Unset skips tracing entirely.

    ValidationCriteria?: string[]

    The test's authored pass criteria, threaded into the judge, which returns a per-criterion verdict; Done is derived as all-criteria-met. Empty → scalar judging.

    VariableValues?: Record<string, string>

    Values substituted into the %placeholder% tokens a recorded trace stores in typed text / navigate URLs, so a "create record named %recordName%" trace runs with a fresh name each time. Ignored on the LLM tier.