OptionalActionsMJ Actions to expose as tools to the controller LLM. Each action is auto-wrapped into a ComputerUseTool with:
OptionalAgentParent agent run ID for linking prompt runs and media to the agent execution. When set, all AIPromptRun records created during the run will have their AgentRunID field set to this value.
OptionalAgentParent agent-run STEP ID under which to nest a child Prompt step per controller/judge prompt
this run executes. Requires AgentRunId to also be set. When both are present, the engine
creates a child MJ: AI Agent Run Steps row (ParentID = this) for each prompt — grouping the run's
many prompt runs under the single parent step the caller created for the goal. Absent this, prompt
runs are only linked to the run (via AgentRunId), not nested under a step.
OptionalAllowedDomains the browser is allowed to visit. If set, all other domains are blocked. If empty/undefined, all domains are allowed (open navigation).
OptionalApplicationFree-form markdown context about the application being tested. Rendered
into the controller's system prompt under an "## Application Context"
heading so the LLM doesn't rediscover navigation landmarks, route
conventions, etc. on every test. When the engine is driven by the
TestingFramework, this is typically sourced from TestSuite.Configuration. applicationContext and optionally extended per-test.
OptionalAuthPer-domain authentication configuration
OptionalBlockedDomains explicitly blocked. Evaluated AFTER AllowedDomains — blocked always wins.
OptionalBrowserBrowser-specific configuration (viewport, user agent, timeouts)
OptionalContextUser context for all MJ entity operations. Required on the server side for:
OptionalControllerModel selection for the controller LLM
OptionalControllerOverride for the controller system prompt
OptionalControllerReference to an MJ AI Prompt entity for the controller LLM. When set, MJComputerUseEngine resolves this to a full AIPromptEntityExtended and routes ExecuteControllerPrompt() through AIPromptRunner. This gives us:
Natural-language goal for the agent to accomplish
Run browser in headless mode (default: true)
OptionalJudgeJudge evaluation frequency (default: EveryStep). Use EveryNSteps or OnStagnation to reduce LLM costs.
OptionalJudgeModel selection for the judge LLM
OptionalJudgeOverride for the judge prompt
OptionalJudgeReference to an MJ AI Prompt entity for the judge LLM. Same resolution and benefits as ControllerPromptRef.
OptionalLogOptional callback for logging engine messages. If provided, all log messages will be sent to this callback in addition to (or instead of) console output. Useful for test drivers to capture logs for test run records.
Maximum number of controller loop steps before forced termination (default: 30)
Delay in milliseconds before each screenshot capture. Gives the page time to render after actions (clicks, navigation, typing) before the screenshot is taken for the next LLM reasoning step. Set to 0 to disable. (default: 500)
Number of recent screenshots to include in controller context. Acts as a ring buffer — older screenshots are dropped. Higher values give more context but increase token usage. (default: 20)
OptionalStartStarting URL to navigate to
OptionalToolsTools the LLM can invoke during execution
MJ-aware extension of RunComputerUseParams.
Adds: