<section class="lumi-web-search-status" data-web-search-settings>
  <div class="lumi-web-search-status-grid">
    <div><span>Provider</span><strong data-web-status="provider">lumi_search_broker</strong></div>
    <div><span>Provider health</span><strong data-web-status="provider_health">Not tested</strong></div>
    <div><span>Policy</span><strong data-web-status="policy_mode">blacklist</strong></div>
    <div><span>Last success</span><strong data-web-status="last_success_at">Never</strong></div>
    <div><span>Last error</span><strong data-web-status="last_error">None</strong></div>
    <div><span>Cache</span><strong data-web-status="cache">0 entries</strong></div>
  </div>
  <div class="lumi-web-search-capabilities" data-web-capabilities></div>
  <details>
    <summary>Recent web tool calls</summary>
    <div class="lumi-web-search-recent" data-web-recent>No calls recorded.</div>
  </details>
  <form class="lumi-web-search-test" data-web-search-test>
    <label>
      Test through Lumi Assistant
      <input name="query" type="text" value="Find the latest public Lumi Bot information" maxlength="500" required />
    </label>
    <label>
      Origin
      <select name="origin">
        <option value="webui">WebUI</option>
        <option value="discord">Discord</option>
        <option value="twitch">Twitch</option>
      </select>
    </label>
    <button class="button subtle" type="submit">Run normal tool pipeline</button>
  </form>
  <pre class="lumi-web-search-test-output" data-web-search-test-output hidden></pre>
  <p class="hint">The default Lumi search broker requires no API key or separately installed search service. Trusted origin and user context are supplied by Lumi, not by model arguments.</p>
</section>
