Add monetization spine + Build Your Own Case (Min Sak)
- Stripe: StripeClient.php, checkout/portal/webhook endpoints, idempotent event handling - FreeTier: tier-aware credits (free/light/pro/pro_plus), bonus_balance, hourly caps per tier - pricing.php + billing.php: 4-tier cards, 3 topups, Customer Portal, balance breakdown - Min Sak: CaseStore.php, AzureDocIntelligence.php, AzureSearchAdmin.php — per-user hybrid RAG - api/case/: upload, list, delete, ingest-callback (HMAC-auth'd from n8n) - award-survey-credits: inter-site HMAC endpoint for dobetternorge.no survey bonus - dashboard.php: tier badge, balance breakdown card, Min Sak CTA, survey CTA - KorrespondAgent + all 3 other agents: use_my_case toggle wired to dbnToolsCaseContext() - bootstrap.php: dbnToolsCaseContext(), dbnToolsIntersiteSecret(), dbnToolsCurrentTier() Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -330,6 +330,18 @@ PROMPT;
|
||||
$parts[] = ' • ' . $key . ': ' . $value;
|
||||
}
|
||||
}
|
||||
|
||||
// Inject Min Sak (private case corpus) hits if user opted in and is on a paid tier.
|
||||
if (!empty($intake['use_my_case'])) {
|
||||
$caseQuery = trim((string)($intake['goal'] ?? '') . ' ' . (string)($intake['narrative'] ?? ''));
|
||||
if ($caseQuery !== '') {
|
||||
$caseBlock = dbnToolsCaseContext(true, $caseQuery, 5);
|
||||
if ($caseBlock !== '') {
|
||||
$parts[] = $caseBlock;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return mb_substr(implode("\n\n", $parts), 0, self::MAX_CONTEXT_CHARS, 'UTF-8');
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user