Provider-specific requirements
Useai_inference for plain text or structured-output model calls with no tool use.
Model IDs are case-sensitive. Use the exact id string from the live
AI Gateway model catalog. The current
Deepline default is openai/gpt-5.6-luna. The describe CLI also shows
the selected model metadata and provider option schema:
deepline tools describe ai_inference --model openai/gpt-5.6-luna.
Use jsonSchema for a structured result. It is a strict subset of JSON
Schema: the root is "type": "object", and every field is always returned.
Omit required (Deepline then requires every property) or list every
property. A partial required list is rejected. Make a field optional with a
nullable type such as "type": ["string", "null"]. Deepline guides the model
to emit complete, compact JSON while preserving an explicit maxOutputTokens
limit.
Do not apply a small token cap indiscriminately to research or long free-text
fields. For a small budget, ask for brief values. leave enough headroom for
every required field and any model reasoning. Inspect describe for
the current model and operation contract. Incomplete JSON remains a failure,
not a partial successful result.
For inference and deeplineagent, read toolResponse.rawV2.result.text for
text, toolResponse.rawV2.result.object for optional structured data, and
toolResponse.rawV2.extracted_json for the compatibility JSON field. For
ai_evaluate, use toolResponse.rawV2.result.answers and
toolResponse.rawV2.extracted_json.
Use deeplineagent when the task benefits from streaming output and tool use across the current whitelist: serper_google_search, exa_search, firecrawl_scrape, firecrawl_map, firecrawl_crawl, and bash.
For research tasks, prefer an adaptive loop: cheap Serper search first, synthesize, then only run targeted Exa follow-up searches if key gaps remain.
When using exa_search, prefer type: "auto" with contents.highlights and no contents.summary. highlights are token-efficient snippets, while summaries add an extra AI pass.
Use Firecrawl only after you know the target site or section. Prefer firecrawl_scrape for one known URL, firecrawl_map for URL inventory before crawling, and keep firecrawl_crawl tightly scoped with explicit low limit, includePaths/excludePaths, or maxDiscoveryDepth. Firecrawl work scales with discovered pages, crawled pages, and requested modifiers, so do not run broad speculative crawls.
When bash is enabled, /refs/prompts.json is available as a lazily loaded reference file for GTM prompt-template lookup.
Prefer Deepline-native tools over freeform bash when structured provider actions already exist.
Find an applicable action
Confirm your effective workspace, then search the live catalog:Inspect the selected contract
Replace<returned-tool-id> with the identifier returned by discovery:
Prepare one reviewed input
Use one authorized record that matches the inspected schema. Preserve its source identity and define the result you will accept. Open the action reference for its payload and response shape. Provider-backed execution can incur usage or external effects. For reusable logic, follow Write Plays. For direct-call recovery, use Tool execution recovery.Continue only when the workspace, provider, required fields, acceptance rule, and applicable price are understood. Keep unavailable access separate from no-result evidence.