// Pure search engines exposed through the web-search runner.

provider "web" {
	default-model "public"
	allow-unauthenticated #true

	seed api="web-search" base-url="web://search" bundle="always" {
		// Placeholder resolved at search time to the session's active model, when it declares a grounding.
		model "hosted" name="Session model" {
			reasoning #false
			input "text"
			cost input=0 output=0 cache-read=0 cache-write=0
			limits
			supports-tools #false
		}
		model "parallel" name="Parallel" {
			reasoning #false
			input "text"
			cost input=0 output=0 cache-read=0 cache-write=0
			limits
			supports-tools #false
		}
		model "perplexity" name="Perplexity" {
			reasoning #false
			input "text"
			cost input=0 output=0 cache-read=0 cache-write=0
			limits
			supports-tools #false
		}
		model "zai" name="Z.AI" {
			reasoning #false
			input "text"
			cost input=0 output=0 cache-read=0 cache-write=0
			limits
			supports-tools #false
		}
		model "exa" name="Exa" {
			reasoning #false
			input "text"
			cost input=0 output=0 cache-read=0 cache-write=0
			limits
			supports-tools #false
		}
		model "anysearch" name="AnySearch" {
			reasoning #false
			input "text"
			cost input=0 output=0 cache-read=0 cache-write=0
			limits
			supports-tools #false
		}
		model "tinyfish" name="TinyFish" {
			reasoning #false
			input "text"
			cost input=0 output=0 cache-read=0 cache-write=0
			limits
			supports-tools #false
		}
		model "keenable" name="Keenable" {
			reasoning #false
			input "text"
			cost input=0 output=0 cache-read=0 cache-write=0
			limits
			supports-tools #false
		}
		model "jina" name="Jina" {
			reasoning #false
			input "text"
			cost input=0 output=0 cache-read=0 cache-write=0
			limits
			supports-tools #false
		}
		model "kagi" name="Kagi" {
			reasoning #false
			input "text"
			cost input=0 output=0 cache-read=0 cache-write=0
			limits
			supports-tools #false
		}
		model "tavily" name="Tavily" {
			reasoning #false
			input "text"
			cost input=0 output=0 cache-read=0 cache-write=0
			limits
			supports-tools #false
		}
		model "firecrawl" name="Firecrawl" {
			reasoning #false
			input "text"
			cost input=0 output=0 cache-read=0 cache-write=0
			limits
			supports-tools #false
		}
		model "brave" name="Brave" {
			reasoning #false
			input "text"
			cost input=0 output=0 cache-read=0 cache-write=0
			limits
			supports-tools #false
		}
		model "deepseek" name="DeepSeek" {
			reasoning #false
			input "text"
			cost input=0 output=0 cache-read=0 cache-write=0
			limits
			supports-tools #false
		}
		model "kimi" name="Kimi" {
			reasoning #false
			input "text"
			cost input=0 output=0 cache-read=0 cache-write=0
			limits
			supports-tools #false
		}
		model "synthetic" name="Synthetic" {
			reasoning #false
			input "text"
			cost input=0 output=0 cache-read=0 cache-write=0
			limits
			supports-tools #false
		}
		model "ollama" name="Ollama" {
			reasoning #false
			input "text"
			cost input=0 output=0 cache-read=0 cache-write=0
			limits
			supports-tools #false
		}
		model "searxng" name="SearXNG" {
			reasoning #false
			input "text"
			cost input=0 output=0 cache-read=0 cache-write=0
			limits
			supports-tools #false
		}
		model "startpage" name="Startpage" {
			reasoning #false
			input "text"
			cost input=0 output=0 cache-read=0 cache-write=0
			limits
			supports-tools #false
		}
		model "duckduckgo" name="DuckDuckGo" {
			reasoning #false
			input "text"
			cost input=0 output=0 cache-read=0 cache-write=0
			limits
			supports-tools #false
		}
		model "ecosia" name="Ecosia" {
			reasoning #false
			input "text"
			cost input=0 output=0 cache-read=0 cache-write=0
			limits
			supports-tools #false
		}
		model "google" name="Google" {
			reasoning #false
			input "text"
			cost input=0 output=0 cache-read=0 cache-write=0
			limits
			supports-tools #false
		}
		model "mojeek" name="Mojeek" {
			reasoning #false
			input "text"
			cost input=0 output=0 cache-read=0 cache-write=0
			limits
			supports-tools #false
		}
		model "public" name="Public Web" {
			reasoning #false
			input "text"
			cost input=0 output=0 cache-read=0 cache-write=0
			limits
			supports-tools #false
		}
	}

	models "*" {
		kind "search"
	}
}
