fix: allow empty text field when doc_ids supplied to all tool APIs
dbnToolsString was called with required=true (default), so it aborted before dbnToolsInjectDocContent could inject content from the doc picker. Now passes required=false and validates after injection so doc-only submissions work in timeline, redact, ask, and summarize. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
+4
-1
@@ -12,6 +12,9 @@ $input = dbnToolsJsonInput(25000);
|
|||||||
$language = dbnToolsNormalizeLanguage($input['language'] ?? 'en');
|
$language = dbnToolsNormalizeLanguage($input['language'] ?? 'en');
|
||||||
|
|
||||||
dbnToolsWithTelemetry('ask', $language, function () use ($input, $language): array {
|
dbnToolsWithTelemetry('ask', $language, function () use ($input, $language): array {
|
||||||
$question = dbnToolsInjectDocContent($input, dbnToolsString($input, 'question', 4000));
|
$question = dbnToolsInjectDocContent($input, dbnToolsString($input, 'question', 4000, false));
|
||||||
|
if (mb_strlen(trim($question), 'UTF-8') < 5) {
|
||||||
|
dbnToolsAbort('Enter a question or select a document before running.', 422, 'empty_text');
|
||||||
|
}
|
||||||
return (new DbnLegalToolsService())->ask($question, $language);
|
return (new DbnLegalToolsService())->ask($question, $language);
|
||||||
});
|
});
|
||||||
|
|||||||
+4
-1
@@ -11,7 +11,10 @@ if ($ftRemaining >= 0) { header('X-Credits-Remaining: ' . $ftRemaining); }
|
|||||||
$input = dbnToolsJsonInput(400000);
|
$input = dbnToolsJsonInput(400000);
|
||||||
|
|
||||||
dbnToolsWithTelemetry('redact', '', function () use ($input): array {
|
dbnToolsWithTelemetry('redact', '', function () use ($input): array {
|
||||||
$text = dbnToolsInjectDocContent($input, dbnToolsString($input, 'text', 128000));
|
$text = dbnToolsInjectDocContent($input, dbnToolsString($input, 'text', 128000, false));
|
||||||
|
if (mb_strlen(trim($text), 'UTF-8') < 10) {
|
||||||
|
dbnToolsAbort('Paste text, upload a file, or select a document before running.', 422, 'empty_text');
|
||||||
|
}
|
||||||
$mode = (string)($input['mode'] ?? 'standard');
|
$mode = (string)($input['mode'] ?? 'standard');
|
||||||
$region = dbnToolsNormalizeRegion($input['region'] ?? 'nordic');
|
$region = dbnToolsNormalizeRegion($input['region'] ?? 'nordic');
|
||||||
$language = dbnToolsNormalizeLanguage($input['language'] ?? 'en');
|
$language = dbnToolsNormalizeLanguage($input['language'] ?? 'en');
|
||||||
|
|||||||
+1
-1
@@ -27,7 +27,7 @@ $emit = static function (string $event, array $payload): void {
|
|||||||
};
|
};
|
||||||
|
|
||||||
try {
|
try {
|
||||||
$text = dbnToolsInjectDocContent($input, dbnToolsString($input, 'text', 128000));
|
$text = dbnToolsInjectDocContent($input, dbnToolsString($input, 'text', 128000, false));
|
||||||
|
|
||||||
if (mb_strlen(trim($text), 'UTF-8') < 50) {
|
if (mb_strlen(trim($text), 'UTF-8') < 50) {
|
||||||
$emit('error', [
|
$emit('error', [
|
||||||
|
|||||||
+4
-1
@@ -14,7 +14,10 @@ $input = dbnToolsJsonInput(400000);
|
|||||||
$language = dbnToolsNormalizeLanguage($input['language'] ?? 'en');
|
$language = dbnToolsNormalizeLanguage($input['language'] ?? 'en');
|
||||||
|
|
||||||
dbnToolsWithTelemetry('timeline', $language, function () use ($input, $language, $ftUid): array {
|
dbnToolsWithTelemetry('timeline', $language, function () use ($input, $language, $ftUid): array {
|
||||||
$text = dbnToolsInjectDocContent($input, dbnToolsString($input, 'text', 128000));
|
$text = dbnToolsInjectDocContent($input, dbnToolsString($input, 'text', 128000, false));
|
||||||
|
if (mb_strlen(trim($text), 'UTF-8') < 10) {
|
||||||
|
dbnToolsAbort('Paste text, upload a file, or select a document before running.', 422, 'empty_text');
|
||||||
|
}
|
||||||
|
|
||||||
$validEngines = ['azure_mini', 'azure_full', 'gpu'];
|
$validEngines = ['azure_mini', 'azure_full', 'gpu'];
|
||||||
$engine = in_array((string)($input['engine'] ?? ''), $validEngines, true)
|
$engine = in_array((string)($input['engine'] ?? ''), $validEngines, true)
|
||||||
|
|||||||
Reference in New Issue
Block a user