mirror of
https://github.com/Jeuners/agenttwo-tools.git
synced 2026-09-09 15:02:31 +02:00
fix: Dezimalkomma im Rechner, Anhang-Vorschau über der Eingabezeile
Beide Fehler zeigten sich beim Durchspielen mit einem Bild in der laufenden Oberfläche: - calculate lehnte "87,50" ab. Das Modell rechnet bei deutschen Beträgen natürlicherweise mit Komma und musste einen Aufruf verschwenden, um sich selbst zu korrigieren — sichtbar als fehlgeschlagener erster Aufruf. Der Tokenizer nimmt Komma jetzt als Dezimaltrenner an, die Beschreibung des Werkzeugs sagt das auch. Danach genügten zwei Aufrufe statt drei. - Die Anhang-Vorschau saß neben der Eingabezeile statt darüber: .composer war bereits eine Flex-Zeile, wodurch .attachments zum Flex-Geschwister wurde. Der Container ist jetzt eine Spalte, .composer-row übernimmt die Zeile. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01S1NXUpHbxTusqQmsjrFfbU
This commit is contained in:
parent
33125e1420
commit
9936b35b48
2 changed files with 15 additions and 4 deletions
|
|
@ -18,10 +18,12 @@ function tokenize(input: string): Token[] {
|
|||
while (i < input.length) {
|
||||
const c = input[i];
|
||||
if (/\s/.test(c)) { i++; continue; }
|
||||
if (/[0-9.]/.test(c)) {
|
||||
if (/[0-9.,]/.test(c)) {
|
||||
let num = "";
|
||||
while (i < input.length && /[0-9._]/.test(input[i])) num += input[i++];
|
||||
const value = Number(num.replace(/_/g, ""));
|
||||
while (i < input.length && /[0-9._,]/.test(input[i])) num += input[i++];
|
||||
// Das Modell rechnet mit deutschen Beträgen und schreibt "87,50".
|
||||
// Komma gilt deshalb als Dezimaltrenner.
|
||||
const value = Number(num.replace(/_/g, "").replace(",", "."));
|
||||
if (!Number.isFinite(value)) throw new ToolError(`Ungültige Zahl: ${num}`);
|
||||
tokens.push({ kind: "num", value });
|
||||
continue;
|
||||
|
|
@ -95,7 +97,8 @@ export const calculateTool: Tool = {
|
|||
name: "calculate",
|
||||
description:
|
||||
"Berechnet einen arithmetischen Ausdruck exakt. Nutze dies für jede " +
|
||||
"Rechnung statt selbst zu rechnen. Erlaubt: + - * / % ^ und Klammern.",
|
||||
"Rechnung statt selbst zu rechnen. Erlaubt: + - * / % ^ und Klammern. " +
|
||||
"Dezimaltrenner darf Punkt oder Komma sein (87.50 wie 87,50).",
|
||||
parameters: {
|
||||
type: "object",
|
||||
properties: {
|
||||
|
|
|
|||
|
|
@ -545,6 +545,14 @@ body {
|
|||
outline-offset: -4px;
|
||||
}
|
||||
|
||||
/* .composer ist ursprünglich eine Flex-Zeile. Die Anhang-Vorschau gehört
|
||||
darüber, deshalb wird der Container zur Spalte und .composer-row übernimmt
|
||||
die frühere Zeilen-Rolle. */
|
||||
.composer {
|
||||
flex-direction: column;
|
||||
align-items: stretch;
|
||||
}
|
||||
|
||||
.composer-row {
|
||||
display: flex;
|
||||
align-items: flex-end;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue