timeline: remove GPU, add SSE status updates, DOCX export, single-file, engine-aware credits
- Remove GPU/cuttlefish engine from timeline.php, api/timeline.php, LegalTools.php, tools.js (all 4 langs) - Add engine-aware credit cost: gpt-4o-mini=1 credit, gpt-4o=2 credits (matches redact pattern) - Remove multiple attribute from file input (single document only) - New api/timeline-stream.php: SSE endpoint emitting status events + final result - New api/timeline-download.php: DOCX export of timeline events - LegalTools::timeline() gains ?callable $onProgress for live status updates - tools.js: spinner on run, SSE streaming fetch, Export to Word button - Save to My Docs was already wired (showSaveResultButton at line 1136) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
+8
-4
@@ -6,8 +6,12 @@ require_once __DIR__ . '/../includes/ToolModels.php';
|
||||
|
||||
dbnToolsRequireMethod('POST');
|
||||
dbnToolsRequireAuth();
|
||||
$ftUid = dbnToolsFreeTierCheck('timeline');
|
||||
$input = dbnToolsJsonInput(400000);
|
||||
$_validEngines = ['azure_mini', 'azure_full'];
|
||||
$_engine = in_array((string)($input['engine'] ?? ''), $_validEngines, true)
|
||||
? (string)$input['engine'] : 'azure_mini';
|
||||
$_engineCredits = $_engine === 'azure_full' ? 2 : 1;
|
||||
$ftUid = dbnToolsFreeTierCheckAmount('timeline', $_engineCredits);
|
||||
$language = dbnToolsNormalizeLanguage($input['language'] ?? 'en');
|
||||
|
||||
dbnToolsWithChargedTelemetry('timeline', $language, $ftUid, function () use ($input, $language, $ftUid): array {
|
||||
@@ -16,7 +20,7 @@ dbnToolsWithChargedTelemetry('timeline', $language, $ftUid, function () use ($in
|
||||
dbnToolsAbort('Paste text, upload a file, or select a document before running.', 422, 'empty_text');
|
||||
}
|
||||
|
||||
$validEngines = ['azure_mini', 'azure_full', 'gpu'];
|
||||
$validEngines = ['azure_mini', 'azure_full'];
|
||||
$engine = in_array((string)($input['engine'] ?? ''), $validEngines, true)
|
||||
? (string)$input['engine'] : 'azure_mini';
|
||||
$engine = ToolModels::engineForUser($ftUid, $engine);
|
||||
@@ -42,7 +46,7 @@ dbnToolsWithChargedTelemetry('timeline', $language, $ftUid, function () use ($in
|
||||
}
|
||||
}
|
||||
|
||||
$result = (new DbnLegalToolsService())->timeline($text, $language, $engine, $focus, $confidenceFilter, $includeRelative, $includeBackground, $userNotes);
|
||||
$result = (new DbnLegalToolsService())->timeline($text, $language, $engine, $focus, $confidenceFilter, $includeRelative, $includeBackground, $userNotes, null);
|
||||
|
||||
return $result;
|
||||
});
|
||||
}, $_engineCredits);
|
||||
|
||||
Reference in New Issue
Block a user