Timeline: group same-date/actor events, clean badges, Bedrock routing

- renderTimeline(): group consecutive same-date+actor events into one card
  with a bullet list; single events keep their current layout
- Date format: YYYY-MM-DD → "1 Jun 2023" (3-letter month, international)
- Time shown in header when available
- Remove date_type badge; confidence badge replaced by amber ⚠ flag on
  low-confidence events only (high/medium border colour still shows)
- LegalTools.php: resolve azure_full/azure_mini to Bedrock Sonnet/Haiku
  when DbnBedrockGateway is active; claude_sonnet/claude_haiku also handled
- timeline.php + api/timeline.php: engine labels updated (Claude Haiku/Sonnet);
  claude_haiku + claude_sonnet added to valid engine list
- i18n engine labels updated in all 4 languages

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-25 23:21:35 +02:00
parent 25c2cf826d
commit 234ab7278b
5 changed files with 130 additions and 44 deletions
+3 -3
View File
@@ -26,10 +26,10 @@ require_once __DIR__ . '/includes/layout.php';
<div class="control-row" id="timelineEngineControl">
<span class="control-label" data-i18n="timelineEngine">Mode</span>
<label><input type="radio" name="timelineEngine" value="nova_lite" id="timelineEngineNovaLite"> <span>Quick</span> <small class="control-hint">(nova-lite · 1 credit · fastest)</small></label>
<label><input type="radio" name="timelineEngine" value="azure_mini" checked id="timelineEngineAzureMini"> <span data-i18n="timelineEngineAzureMini">Standard</span> &#9733; <small class="control-hint">(gpt-4o-mini · 1 credit)</small></label>
<label><input type="radio" name="timelineEngine" value="azure_full" id="timelineEngineAzureFull"> <span data-i18n="timelineEngineAzureFull">Deep</span> <small class="control-hint">(gpt-4o · 2 credits · Pro)</small></label>
<label><input type="radio" name="timelineEngine" value="azure_mini" checked id="timelineEngineAzureMini"> <span data-i18n="timelineEngineAzureMini">Standard</span> &#9733; <small class="control-hint">(Claude Haiku · 1 credit)</small></label>
<label><input type="radio" name="timelineEngine" value="azure_full" id="timelineEngineAzureFull"> <span data-i18n="timelineEngineAzureFull">Deep</span> <small class="control-hint">(Claude Sonnet · 2 credits · Pro)</small></label>
</div>
<p class="upload-hint" data-i18n="timelineEngineHint">Quick uses Amazon Bedrock nova-lite (fast, cheap). Standard and Deep use Azure OpenAI.</p>
<p class="upload-hint" data-i18n="timelineEngineHint">Standard uses Claude Haiku 4.5 — fast and accurate for most documents. Deep uses Claude Sonnet 4.6 — better for complex multi-actor cases.</p>
<details class="advanced-panel" id="timelineAdvanced">
<summary class="advanced-toggle" data-i18n="timelineAdvancedToggle">Advanced settings</summary>