- evaluation_points.ts: LLMFieldConfig type, LLMFieldType union,
VLMField.multi_entity
- ExtractionSettings.tsx:
- LLM fields render as colored buttons (green=multi_entity, gray=normal)
- Click to toggle individual field multi_entity when switch is on
- Toggle switch on: converts all string fields to {name, multi_entity:true}
- Toggle switch off: converts back to plain strings
- New fields default to multi_entity:true when switch is on
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Vite/Remix tree-shaking was stripping pointCode from the return object
because it wasn't declared in the ReviewPointResult interface.
Also removed debug console.logs.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Add pointCode field to ReviewPoint interface and data pipeline
- Show code badge (e.g., JZ-DJ-001) before evaluation point name
- Search bar now matches against point code in addition to name
- Updated placeholder to indicate code search support
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Table tooltip now calculates maxWidth from column count (140px/col,
min 400, max 85vw) and maxHeight from row count (30px/row, min 150,
max 70vh) for better readability of large tables.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Table fields now show a compact summary (first row preview + table icon)
with the full rendered table appearing on hover via Tooltip component,
consistent with the existing overflow tooltip behavior.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- parseMarkdownTable now handles tables stored as single line by
counting columns from separator row and grouping cells accordingly
- Added isPipeTable detection for pipe-delimited data without header
(e.g., "1 | name | qty\n2 | name | qty")
- Added renderPipeTable for headerless pipe tables
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
ReactTableTooltip now detects and renders markdown tables (| delimited)
in addition to existing tab-delimited tables. Table content is rendered
directly as an HTML table instead of showing raw markdown text.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
When documents are processed through GraphRAG pipeline, coordinate
enrichment produces text_bbox (paragraph-level coordinates) instead of
char_positions (character-level OCR coordinates). Added resolveCharPositions()
helper that converts text_bbox to CharPosition[] format, enabling PDF
highlight rendering for GraphRAG-processed documents.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Second rendering path (entity fields) incorrectly hid values when
res=false, showing '缺失' even for fields with extracted values.
Fixed to match first rendering path: only show '缺失' when both
res=false AND value is empty. Values always display when present.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Create placeholder reviewPoints from not_applicable unified results
- Merge with existing reviewPoints for display
- Count notApplicable from reviewPoints for accurate statistics
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- failed_count should be 'warning' not 'error' for scored eval
- Show '未涉及' badge always, not only when count > 0
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Add notApplicable field to Statistics interface
- Show blue "未涉及" badge when count > 0 (display only, no filter)
- Map backend not_applicable_count to frontend statistics
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Add getUnifiedEvaluationResults API function
- Extend ReviewPointsListProps with flowType, scoredResults, scoredSummary
- Add ScoredResultCard rendering for graphrag flow_type
- Modify reviews.tsx loader to call unified API
- Add scored evaluation component imports
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
renderModelRule 对 AI 评查点的 res 计算改为优先使用后端写入
config.fields[key].res 的值,fallback 到原来的 value 非空判定。
解决了评查点不通过但所有细项都显示绿色的问题。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>