b014638f39
- POST /api/save-to-corpus.php — saves tool output text to user's default CaveauAI corpus via ClientRagPipeline
- api/case/upload.php — dual-writes uploaded PDFs to CaveauAI client_documents (best-effort)
- assets/js/corpus-save.js — shared <dialog> handler for .js-save-corpus buttons on all tool pages
- includes/layout_footer.php — injects corpus-save.js + shared save dialog markup
- korrespond/deep-research/barnevernet/discrepancy JS — save-to-corpus buttons on output sections
- api/search.php + LegalTools::search() — corpus_scope param ('shared'|'private'|'both'), merges personal CaveauAI corpus with shared legal library when 'both'
- includes/tool_form.php + assets/js/tools.js — corpus scope radio toggle shown on search tab
- api/user-docs.php — add POST upload method for non-SSO authenticated users
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
52 lines
2.3 KiB
PHP
52 lines
2.3 KiB
PHP
</section><!-- /tool-panel -->
|
|
|
|
<aside class="reasoning-panel" aria-labelledby="reasoningTitle">
|
|
<?php if (!empty($reasoningPanelOverride)): ?>
|
|
<?= $reasoningPanelOverride ?>
|
|
<?php else: ?>
|
|
<div class="reasoning-head">
|
|
<p class="eyebrow"><?= htmlspecialchars(dbnToolsT('reasoning_eyebrow', $uiLang ?? dbnToolsCurrentLanguage())) ?></p>
|
|
<h2 id="reasoningTitle"><?= htmlspecialchars(dbnToolsT('reasoning_title', $uiLang ?? dbnToolsCurrentLanguage())) ?></h2>
|
|
</div>
|
|
<ol id="traceList" class="trace-list">
|
|
<li>
|
|
<span class="trace-status waiting"></span>
|
|
<div>
|
|
<strong><?= htmlspecialchars(dbnToolsT('waiting_title', $uiLang ?? dbnToolsCurrentLanguage())) ?></strong>
|
|
<p><?= htmlspecialchars(dbnToolsT('waiting_text', $uiLang ?? dbnToolsCurrentLanguage())) ?></p>
|
|
</div>
|
|
</li>
|
|
</ol>
|
|
<?php endif; ?>
|
|
</aside>
|
|
</section><!-- /workspace -->
|
|
</main><!-- /appShell -->
|
|
<?php require_once __DIR__ . '/footer.php'; ?>
|
|
<script src="assets/js/tools.js" defer></script>
|
|
<?php if (!empty($extraScripts) && is_array($extraScripts)): foreach ($extraScripts as $extraScript): ?>
|
|
<script src="<?= htmlspecialchars((string)$extraScript) ?>" defer></script>
|
|
<?php endforeach; endif; ?>
|
|
<script src="assets/js/corpus-save.js" defer></script>
|
|
|
|
<!-- Save-to-corpus dialog (shared across all tool pages) -->
|
|
<dialog id="save-corpus-dialog" class="save-corpus-dialog">
|
|
<form method="dialog" id="save-corpus-form">
|
|
<h3>Save to corpus</h3>
|
|
<p class="save-corpus-hint">This will be indexed and searchable in your private corpus.</p>
|
|
<label>
|
|
<span>Title <span aria-hidden="true">*</span></span>
|
|
<input id="save-corpus-title" type="text" required placeholder="Give this entry a title…" autocomplete="off">
|
|
</label>
|
|
<label>
|
|
<span>Tags <span class="save-corpus-optional">(comma-separated)</span></span>
|
|
<input id="save-corpus-tags" type="text" placeholder="e.g. barnevern, 2024, kjennelse">
|
|
</label>
|
|
<menu>
|
|
<button type="submit" class="btn-primary">Save to corpus</button>
|
|
<button type="button" id="save-corpus-cancel">Cancel</button>
|
|
</menu>
|
|
</form>
|
|
</dialog>
|
|
</body>
|
|
</html>
|