feat(tools): converge two-tier Quick/Pro selector onto .no fork
Port the dobetterlegal-tools two-tier quality stack to dobetternorge.no: QUALITY_TIERS registry + resolveTier (ToolModels), dbnToolsResolveToolRun (bootstrap), tier read+charge in the 6 analytical endpoints, Quick/Pro UI + payload.tier on the 6 tool pages/JS, and the bounded corpusContextForSummarize RAG fix (per-passage trim + total budget + reranker_enabled). Back-compat: requests without `tier` keep legacy engine behavior. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
+6
-3
@@ -6,11 +6,12 @@ require_once __DIR__ . '/../includes/ToolModels.php';
|
||||
|
||||
dbnToolsRequireMethod('POST');
|
||||
dbnToolsRequireAuth();
|
||||
$ftUid = dbnToolsFreeTierCheck('summarize');
|
||||
|
||||
$input = dbnToolsJsonInput(400000);
|
||||
$language = dbnToolsNormalizeLanguage($input['language'] ?? 'en');
|
||||
$engine = ToolModels::engineForUser($ftUid, (string)($input['engine'] ?? 'azure_mini'));
|
||||
$run = dbnToolsResolveToolRun('summarize', $input);
|
||||
$ftUid = $run['ftUid'];
|
||||
$engine = $run['engine'];
|
||||
$depth = in_array($input['depth'] ?? '', ['brief', 'standard', 'detailed'], true)
|
||||
? (string)$input['depth'] : 'standard';
|
||||
$slices = is_array($input['slices'] ?? null) ? array_values(array_filter($input['slices'])) : [];
|
||||
@@ -73,7 +74,9 @@ try {
|
||||
$result = (new DbnLegalToolsService())->summarizeWithContext($text, $language, $engine, $corpusContext, $depth);
|
||||
|
||||
if ($ftUid > 0) {
|
||||
$balance = dbnToolsFreeTierDeduct($ftUid, 'summarize');
|
||||
$balance = $run['credits'] === null
|
||||
? dbnToolsFreeTierDeduct($ftUid, 'summarize')
|
||||
: dbnToolsFreeTierDeductAmount($ftUid, 'summarize', $run['credits'], $run['metadata']);
|
||||
$result['balance'] = $balance;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user