ask primitive.
Given a prompt, optional accessibility/structural text, and zero or
more images, [AskModel.ask] returns the model’s response as a plain
string. The wire format is OpenAI-compatible chat completions, so any
provider config that points at such an endpoint works.
Constructor
Returns
AskModel
Properties
string
required
The wire-level model identifier sent in the request body.
Methods
ask()
prompt: the question or task to answer.text: optional accessibility-tree (or any) text included as structural context. Passnull/ omit to skip.images: zero or more images to attach. Each is encoded as a base64 data URL in a model-supported format and sent as animage_urlchat content part. Passnull/ omit for none.
Parameters
string
required
null | string
Returns
string
askJson()
schema.
Same prompt, text, and images as [AskModel.ask]. schema is a
JSON Schema document. A caller that has it as text parses it before
calling. The request sends that document unchanged. "answer" is
only the name the chat API requires on the schema; it is not a key
in the reply. One call carries one schema.
The schema is compiled locally before the request. The reply is
parsed and checked against that same schema. A reply that is not
JSON, or that does not match, throws. A document that is not valid
JSON Schema throws and no request is sent.
The provider is also asked for strict mode. The local check is what
decides whether the value is returned. additionalProperties and
required are sent exactly as the caller wrote them.
Throws and sends no request when this model does not support it.
[AskModel.jsonSchemaAliases] lists the models that do.
Parameters
string
required
undefined | null | string
required
any
required
Returns
any
availableAliases()
byAlias on this machine,
deduplicated and sorted alphabetically. Use to discover what aliases
the loaded config (bundled defaults plus any user provider files)
advertises.
Returns
string[]
byAlias()
"openrouter_gpt_4o_mini" / "openrouter_claude_opus" from the
bundled openrouter provider, or any alias declared by a user provider).
Throws if the alias is unknown.
Parameters
string
required
Returns
AskModel
checkAuth()
default()
Returns
AskModel
jsonSchemaAliases()
json_schema to true, using the
same auth filter and first-provider-wins rule as [AskModel.byAlias].
[AskModel.availableAliases] still lists every LLM, including models
that only serve [AskModel.ask].
Returns
string[]
