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:
+20
-2
@@ -41,7 +41,23 @@ try {
|
||||
}
|
||||
|
||||
$language = dbnToolsNormalizeLanguage($input['language'] ?? 'en');
|
||||
$engine = ToolModels::engineForUser($ftUid, (string)($input['engine'] ?? 'azure_mini'));
|
||||
if (isset($input['tier'])) {
|
||||
$run = ToolModels::resolveTier(dbnToolsFreeTierUid(), 'discrepancy', (string)$input['tier']);
|
||||
$engine = $run['engine'];
|
||||
$tierCredits = $run['credits'];
|
||||
$tierMeta = ['tier' => $run['tier'], 'engine' => $engine];
|
||||
if ($ftUid > 0) {
|
||||
$gate = FreeTier::checkAmount($ftUid, 'discrepancy', $tierCredits);
|
||||
if (empty($gate['ok'])) {
|
||||
$emit('error', ['code' => $gate['reason'] ?? 'no_credits', 'message' => 'Insufficient credits for the selected tier.']);
|
||||
exit;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
$engine = ToolModels::engineForUser($ftUid, (string)($input['engine'] ?? 'azure_mini'));
|
||||
$tierCredits = null;
|
||||
$tierMeta = [];
|
||||
}
|
||||
$sliceInput = $input['slices'] ?? [];
|
||||
|
||||
// Extract file A
|
||||
@@ -144,7 +160,9 @@ try {
|
||||
'deployment' => $result['trace_metadata']['deployment'] ?? null,
|
||||
]);
|
||||
|
||||
$ftRemaining = dbnToolsFreeTierDeduct($ftUid, 'discrepancy');
|
||||
$ftRemaining = $tierCredits === null
|
||||
? dbnToolsFreeTierDeduct($ftUid, 'discrepancy')
|
||||
: dbnToolsFreeTierDeductAmount($ftUid, 'discrepancy', $tierCredits, $tierMeta);
|
||||
if ($ftRemaining >= 0) {
|
||||
$result['balance'] = $ftRemaining;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user