feat(odin): scope to invoice processing only (guard general chat)
Odin currently advertises general Q&A via the /chat path, which burns API credits on open-ended questions. Guard it: a text-only message makes NO AI call — it gets a canned reply telling the user to attach an invoice. The invoice path (attachments → extract) is unchanged. Removing the guard re-enables the general /chat path for a later phase. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -208,6 +208,24 @@ export default function OdinChat() {
|
||||
const files = attachments.map((a) => a.file);
|
||||
if (!text && files.length === 0) return;
|
||||
|
||||
// Guard: Odin is scoped to invoice processing only (for now). A text-only
|
||||
// message makes NO AI call — it gets a canned reply locally, so open-ended
|
||||
// chat can't burn API credits. The invoice path (attachments) runs normally.
|
||||
// (Removing this guard re-enables the general /chat path below for Phase 2.)
|
||||
if (files.length === 0) {
|
||||
setTurns((t) => [
|
||||
...t,
|
||||
{ role: "user", content: text },
|
||||
{
|
||||
role: "assistant",
|
||||
content:
|
||||
"Momentálně umím zpracovat pouze přijaté faktury. Přiložte prosím fakturu (PDF) a já z ní načtu údaje k uložení.",
|
||||
},
|
||||
]);
|
||||
setInput("");
|
||||
return;
|
||||
}
|
||||
|
||||
setBusy(true);
|
||||
const prevTurns = turns;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user