Skip to content

LLM help: include error descriptions, default values, enum values, and response shapes #4

@rafiki270

Description

@rafiki270

Problem

mollotov --llm-help outputs JSON metadata for each command, but several pieces of information are missing that LLMs need to work effectively:

Missing: Error code descriptions

Currently only error codes are listed (e.g., ELEMENT_NOT_FOUND). The descriptions exist in docs/api/README.md but aren't integrated into --llm-help output.

Missing: Default values for optional parameters

Optional params like quality (screenshot), timeout (wait), format (screenshot) have defaults that aren't shown. LLMs don't know what happens if they omit a param.

Missing: Enum values

Params like dialog defaultAction show type as "enum" but don't list the valid values (accept, dismiss, queue). LLMs have to guess.

Missing: Response structure

LLMs don't know what fields to expect in a successful response. For example, screenshot returns { image, format, width, height } but this isn't documented in help.

Missing: Complex parameter shapes

Array-of-object parameters (like request interception rules) show type as "array" with no indication of the nested object structure.

Proposed changes to llm-help.ts

{
  "params": [
    {
      "name": "format",
      "type": "enum",
      "values": ["png", "jpeg"],
      "default": "png",
      "required": false,
      "description": "Image format"
    }
  ],
  "errors": [
    { "code": "NO_WEBVIEW", "description": "Browser not loaded yet" }
  ],
  "response": {
    "image": "base64-encoded image data",
    "format": "png or jpeg",
    "width": "image width in pixels",
    "height": "image height in pixels"
  }
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions