feat(tools): persona-driven multi-domain corpus + model routing
Generalize the family-locked legal tools into caveauAI persona profiles (client 57 chat profiles, resolved in-process via the chat_profiles bridge). Each tool accepts an optional `profile` slug that scopes the corpus package(s), search method, system prompt and synthesis model; omitting it falls back to the family-legal package so existing behaviour is unchanged. - dbnToolsResolvePersona / dbnToolsListPersonas / dbnToolsBootChatProfiles in bootstrap.php; new api/personas.php + dbn.list_personas MCP tool. - LegalTools search/ask/corpusContextForSummarize and the BvjAnalyzer / LegalAnalysis / translate paths take the persona's packages + prompt + model. - Persona <select> on ask/search/summarize (populated from api/personas.php). Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
+4
-1
@@ -51,7 +51,10 @@ try {
|
||||
]);
|
||||
$svc = new DbnLegalToolsService();
|
||||
$query = mb_substr(trim($text), 0, 600, 'UTF-8');
|
||||
$corpusContext = $svc->corpusContextForSummarize($query, 8);
|
||||
$persona = (isset($input['profile']) && is_string($input['profile']) && trim($input['profile']) !== '')
|
||||
? trim($input['profile'])
|
||||
: null;
|
||||
$corpusContext = $svc->corpusContextForSummarize($query, 8, $persona);
|
||||
$emit('progress', [
|
||||
'step' => 'corpus_done',
|
||||
'detail' => $corpusContext !== ''
|
||||
|
||||
Reference in New Issue
Block a user