hazo_collab_forms 3.1.7 → 5.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGE_LOG.md +207 -0
- package/README.md +3 -0
- package/dist/components/clarification/clarification_item_body.d.ts +19 -1
- package/dist/components/clarification/clarification_item_body.d.ts.map +1 -1
- package/dist/components/clarification/clarification_item_body.js +114 -6
- package/dist/components/clarification/clarification_item_body.js.map +1 -1
- package/dist/components/clarification/clarification_thread.js +1 -1
- package/dist/components/clarification/clarification_thread.js.map +1 -1
- package/dist/components/clarification/index.d.ts +2 -0
- package/dist/components/clarification/index.d.ts.map +1 -1
- package/dist/components/clarification/index.js +1 -0
- package/dist/components/clarification/index.js.map +1 -1
- package/dist/components/clarification/resolution_status_strip.d.ts +18 -0
- package/dist/components/clarification/resolution_status_strip.d.ts.map +1 -0
- package/dist/components/clarification/resolution_status_strip.js +20 -0
- package/dist/components/clarification/resolution_status_strip.js.map +1 -0
- package/dist/components/hazo_fb_form/context.d.ts +1 -1
- package/dist/components/hazo_fb_form/context.d.ts.map +1 -1
- package/dist/components/hazo_fb_form/hazo_fb_form.d.ts.map +1 -1
- package/dist/components/hazo_fb_form/hazo_fb_form.js +330 -113
- package/dist/components/hazo_fb_form/hazo_fb_form.js.map +1 -1
- package/dist/components/hazo_fb_form/hooks/use_fb_form_state.d.ts +3 -3
- package/dist/components/hazo_fb_form/hooks/use_fb_form_state.d.ts.map +1 -1
- package/dist/components/hazo_fb_form/hooks/use_fb_form_state.js +339 -46
- package/dist/components/hazo_fb_form/hooks/use_fb_form_state.js.map +1 -1
- package/dist/components/hazo_fb_form/hooks/use_llm_run.d.ts +3 -1
- package/dist/components/hazo_fb_form/hooks/use_llm_run.d.ts.map +1 -1
- package/dist/components/hazo_fb_form/hooks/use_llm_run.js +89 -11
- package/dist/components/hazo_fb_form/hooks/use_llm_run.js.map +1 -1
- package/dist/components/hazo_fb_form/shared/agent_stepper.js +1 -1
- package/dist/components/hazo_fb_form/shared/agent_stepper.js.map +1 -1
- package/dist/components/hazo_fb_form/shared/file_status_accordion.d.ts +9 -0
- package/dist/components/hazo_fb_form/shared/file_status_accordion.d.ts.map +1 -0
- package/dist/components/hazo_fb_form/shared/file_status_accordion.js +39 -0
- package/dist/components/hazo_fb_form/shared/file_status_accordion.js.map +1 -0
- package/dist/components/hazo_fb_form/shared/format.d.ts.map +1 -1
- package/dist/components/hazo_fb_form/shared/format.js +8 -3
- package/dist/components/hazo_fb_form/shared/format.js.map +1 -1
- package/dist/components/hazo_fb_form/shared/send_back_item_card.d.ts +7 -1
- package/dist/components/hazo_fb_form/shared/send_back_item_card.d.ts.map +1 -1
- package/dist/components/hazo_fb_form/shared/send_back_item_card.js +6 -3
- package/dist/components/hazo_fb_form/shared/send_back_item_card.js.map +1 -1
- package/dist/components/hazo_fb_form/types.d.ts +3 -1
- package/dist/components/hazo_fb_form/types.d.ts.map +1 -1
- package/dist/components/hazo_fb_form/views/back_office_view.js +1 -1
- package/dist/components/hazo_fb_form/views/back_office_view.js.map +1 -1
- package/dist/components/hazo_fb_form/views/clarifications_view.js +2 -2
- package/dist/components/hazo_fb_form/views/clarifications_view.js.map +1 -1
- package/dist/components/hazo_fb_form/views/front_office_view.d.ts.map +1 -1
- package/dist/components/hazo_fb_form/views/front_office_view.js +62 -41
- package/dist/components/hazo_fb_form/views/front_office_view.js.map +1 -1
- package/dist/components/hazo_fb_form/views/interim_view.js +3 -3
- package/dist/components/hazo_fb_form/views/interim_view.js.map +1 -1
- package/dist/components/hazo_fb_form/views/review_queue_view.d.ts.map +1 -1
- package/dist/components/hazo_fb_form/views/review_queue_view.js +22 -9
- package/dist/components/hazo_fb_form/views/review_queue_view.js.map +1 -1
- package/dist/components/hazo_validation_rule_editor/components/rule_editor.d.ts.map +1 -1
- package/dist/components/hazo_validation_rule_editor/components/rule_editor.js +32 -3
- package/dist/components/hazo_validation_rule_editor/components/rule_editor.js.map +1 -1
- package/dist/components/hazo_validation_rule_editor/components/variable_chain_input.d.ts +20 -0
- package/dist/components/hazo_validation_rule_editor/components/variable_chain_input.d.ts.map +1 -0
- package/dist/components/hazo_validation_rule_editor/components/variable_chain_input.js +34 -0
- package/dist/components/hazo_validation_rule_editor/components/variable_chain_input.js.map +1 -0
- package/dist/components/hazo_validation_rule_editor/context.d.ts +3 -2
- package/dist/components/hazo_validation_rule_editor/context.d.ts.map +1 -1
- package/dist/components/hazo_validation_rule_editor/context.js +15 -3
- package/dist/components/hazo_validation_rule_editor/context.js.map +1 -1
- package/dist/components/hazo_validation_rule_editor/types.d.ts +7 -1
- package/dist/components/hazo_validation_rule_editor/types.d.ts.map +1 -1
- package/dist/components/hazo_validation_rule_editor/validation_rule_editor.d.ts +1 -1
- package/dist/components/hazo_validation_rule_editor/validation_rule_editor.d.ts.map +1 -1
- package/dist/components/hazo_validation_rule_editor/validation_rule_editor.js +2 -2
- package/dist/components/hazo_validation_rule_editor/validation_rule_editor.js.map +1 -1
- package/dist/components/index.d.ts +2 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +2 -0
- package/dist/components/index.js.map +1 -1
- package/dist/components/shared/document_type_editor.d.ts +31 -0
- package/dist/components/shared/document_type_editor.d.ts.map +1 -0
- package/dist/components/shared/document_type_editor.js +60 -0
- package/dist/components/shared/document_type_editor.js.map +1 -0
- package/dist/components/shared/file_bar/file_bar.d.ts +7 -1
- package/dist/components/shared/file_bar/file_bar.d.ts.map +1 -1
- package/dist/components/shared/file_bar/file_bar.js +5 -3
- package/dist/components/shared/file_bar/file_bar.js.map +1 -1
- package/dist/components/shared/file_bar/file_bar_validation_dialog.js +4 -4
- package/dist/components/shared/file_bar/file_bar_validation_dialog.js.map +1 -1
- package/dist/components/shared/file_status_icon.d.ts +23 -0
- package/dist/components/shared/file_status_icon.d.ts.map +1 -0
- package/dist/components/shared/file_status_icon.js +38 -0
- package/dist/components/shared/file_status_icon.js.map +1 -0
- package/dist/components/shared/json_data_panel/json_data_panel.d.ts +1 -1
- package/dist/components/shared/json_data_panel/json_data_panel.d.ts.map +1 -1
- package/dist/components/shared/json_data_panel/json_data_panel.js +27 -2
- package/dist/components/shared/json_data_panel/json_data_panel.js.map +1 -1
- package/dist/components/shared/rule_result_card.d.ts.map +1 -1
- package/dist/components/shared/rule_result_card.js +5 -4
- package/dist/components/shared/rule_result_card.js.map +1 -1
- package/dist/components/thread_form/components/add_question_dialog.d.ts +12 -0
- package/dist/components/thread_form/components/add_question_dialog.d.ts.map +1 -0
- package/dist/components/thread_form/components/add_question_dialog.js +36 -0
- package/dist/components/thread_form/components/add_question_dialog.js.map +1 -0
- package/dist/components/thread_form/components/agent_compose_dialog.d.ts +30 -0
- package/dist/components/thread_form/components/agent_compose_dialog.d.ts.map +1 -0
- package/dist/components/thread_form/components/agent_compose_dialog.js +45 -0
- package/dist/components/thread_form/components/agent_compose_dialog.js.map +1 -0
- package/dist/components/thread_form/components/clarification.d.ts +14 -0
- package/dist/components/thread_form/components/clarification.d.ts.map +1 -0
- package/dist/components/thread_form/components/clarification.js +12 -0
- package/dist/components/thread_form/components/clarification.js.map +1 -0
- package/dist/components/thread_form/components/collected_data_view.d.ts +15 -0
- package/dist/components/thread_form/components/collected_data_view.d.ts.map +1 -0
- package/dist/components/thread_form/components/collected_data_view.js +121 -0
- package/dist/components/thread_form/components/collected_data_view.js.map +1 -0
- package/dist/components/thread_form/components/coverage_card.d.ts +11 -0
- package/dist/components/thread_form/components/coverage_card.d.ts.map +1 -0
- package/dist/components/thread_form/components/coverage_card.js +60 -0
- package/dist/components/thread_form/components/coverage_card.js.map +1 -0
- package/dist/components/thread_form/components/file_bar.d.ts +93 -0
- package/dist/components/thread_form/components/file_bar.d.ts.map +1 -0
- package/dist/components/thread_form/components/file_bar.js +251 -0
- package/dist/components/thread_form/components/file_bar.js.map +1 -0
- package/dist/components/thread_form/components/file_info_dialog.d.ts +15 -0
- package/dist/components/thread_form/components/file_info_dialog.d.ts.map +1 -0
- package/dist/components/thread_form/components/file_info_dialog.js +64 -0
- package/dist/components/thread_form/components/file_info_dialog.js.map +1 -0
- package/dist/components/thread_form/components/issue_group_tree.d.ts +20 -0
- package/dist/components/thread_form/components/issue_group_tree.d.ts.map +1 -0
- package/dist/components/thread_form/components/issue_group_tree.js +164 -0
- package/dist/components/thread_form/components/issue_group_tree.js.map +1 -0
- package/dist/components/thread_form/components/pdf_side_panel.d.ts +20 -0
- package/dist/components/thread_form/components/pdf_side_panel.d.ts.map +1 -0
- package/dist/components/thread_form/components/pdf_side_panel.js +63 -0
- package/dist/components/thread_form/components/pdf_side_panel.js.map +1 -0
- package/dist/components/thread_form/components/rule_decision_row.d.ts +31 -0
- package/dist/components/thread_form/components/rule_decision_row.d.ts.map +1 -0
- package/dist/components/thread_form/components/rule_decision_row.js +20 -0
- package/dist/components/thread_form/components/rule_decision_row.js.map +1 -0
- package/dist/components/thread_form/components/send_back_message.d.ts +32 -0
- package/dist/components/thread_form/components/send_back_message.d.ts.map +1 -0
- package/dist/components/thread_form/components/send_back_message.js +82 -0
- package/dist/components/thread_form/components/send_back_message.js.map +1 -0
- package/dist/components/thread_form/components/shared.d.ts +54 -0
- package/dist/components/thread_form/components/shared.d.ts.map +1 -0
- package/dist/components/thread_form/components/shared.js +136 -0
- package/dist/components/thread_form/components/shared.js.map +1 -0
- package/dist/components/thread_form/components/task_card.d.ts +90 -0
- package/dist/components/thread_form/components/task_card.d.ts.map +1 -0
- package/dist/components/thread_form/components/task_card.js +63 -0
- package/dist/components/thread_form/components/task_card.js.map +1 -0
- package/dist/components/thread_form/components/text_doc_check.d.ts +15 -0
- package/dist/components/thread_form/components/text_doc_check.d.ts.map +1 -0
- package/dist/components/thread_form/components/text_doc_check.js +16 -0
- package/dist/components/thread_form/components/text_doc_check.js.map +1 -0
- package/dist/components/thread_form/components/text_extraction.d.ts +14 -0
- package/dist/components/thread_form/components/text_extraction.d.ts.map +1 -0
- package/dist/components/thread_form/components/text_extraction.js +16 -0
- package/dist/components/thread_form/components/text_extraction.js.map +1 -0
- package/dist/components/thread_form/components/thread_composer.d.ts +15 -0
- package/dist/components/thread_form/components/thread_composer.d.ts.map +1 -0
- package/dist/components/thread_form/components/thread_composer.js +93 -0
- package/dist/components/thread_form/components/thread_composer.js.map +1 -0
- package/dist/components/thread_form/components/thread_timeline.d.ts +65 -0
- package/dist/components/thread_form/components/thread_timeline.d.ts.map +1 -0
- package/dist/components/thread_form/components/thread_timeline.js +225 -0
- package/dist/components/thread_form/components/thread_timeline.js.map +1 -0
- package/dist/components/thread_form/hooks/use_file_pipeline.d.ts +126 -0
- package/dist/components/thread_form/hooks/use_file_pipeline.d.ts.map +1 -0
- package/dist/components/thread_form/hooks/use_file_pipeline.js +760 -0
- package/dist/components/thread_form/hooks/use_file_pipeline.js.map +1 -0
- package/dist/components/thread_form/hooks/use_thread_form.d.ts +36 -0
- package/dist/components/thread_form/hooks/use_thread_form.d.ts.map +1 -0
- package/dist/components/thread_form/hooks/use_thread_form.js +126 -0
- package/dist/components/thread_form/hooks/use_thread_form.js.map +1 -0
- package/dist/components/thread_form/index.d.ts +33 -0
- package/dist/components/thread_form/index.d.ts.map +1 -0
- package/dist/components/thread_form/index.js +30 -0
- package/dist/components/thread_form/index.js.map +1 -0
- package/dist/components/thread_form/sample_data.d.ts +8 -0
- package/dist/components/thread_form/sample_data.d.ts.map +1 -0
- package/dist/components/thread_form/sample_data.js +658 -0
- package/dist/components/thread_form/sample_data.js.map +1 -0
- package/dist/components/thread_form/thread_form.d.ts +7 -0
- package/dist/components/thread_form/thread_form.d.ts.map +1 -0
- package/dist/components/thread_form/thread_form.js +1385 -0
- package/dist/components/thread_form/thread_form.js.map +1 -0
- package/dist/components/thread_form/types.d.ts +402 -0
- package/dist/components/thread_form/types.d.ts.map +1 -0
- package/dist/components/thread_form/types.js +23 -0
- package/dist/components/thread_form/types.js.map +1 -0
- package/dist/components/thread_form/utils/file_decision_state.d.ts +22 -0
- package/dist/components/thread_form/utils/file_decision_state.d.ts.map +1 -0
- package/dist/components/thread_form/utils/file_decision_state.js +37 -0
- package/dist/components/thread_form/utils/file_decision_state.js.map +1 -0
- package/dist/components/thread_form/utils/merge_send_back.d.ts +13 -0
- package/dist/components/thread_form/utils/merge_send_back.d.ts.map +1 -0
- package/dist/components/thread_form/utils/merge_send_back.js +23 -0
- package/dist/components/thread_form/utils/merge_send_back.js.map +1 -0
- package/dist/lib/autofill_handler.d.ts.map +1 -1
- package/dist/lib/autofill_handler.js +5 -44
- package/dist/lib/autofill_handler.js.map +1 -1
- package/dist/lib/classification_handler.d.ts +105 -0
- package/dist/lib/classification_handler.d.ts.map +1 -0
- package/dist/lib/classification_handler.js +342 -0
- package/dist/lib/classification_handler.js.map +1 -0
- package/dist/lib/content_gate_handler.d.ts +37 -0
- package/dist/lib/content_gate_handler.d.ts.map +1 -0
- package/dist/lib/content_gate_handler.js +126 -0
- package/dist/lib/content_gate_handler.js.map +1 -0
- package/dist/lib/index.d.ts +10 -0
- package/dist/lib/index.d.ts.map +1 -1
- package/dist/lib/index.js +5 -0
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/periodic_coverage_runner.d.ts +24 -0
- package/dist/lib/periodic_coverage_runner.d.ts.map +1 -0
- package/dist/lib/periodic_coverage_runner.js +121 -0
- package/dist/lib/periodic_coverage_runner.js.map +1 -0
- package/dist/lib/resolution_handler.d.ts +150 -0
- package/dist/lib/resolution_handler.d.ts.map +1 -0
- package/dist/lib/resolution_handler.js +597 -0
- package/dist/lib/resolution_handler.js.map +1 -0
- package/dist/lib/resolve_variable.d.ts +25 -0
- package/dist/lib/resolve_variable.d.ts.map +1 -0
- package/dist/lib/resolve_variable.js +77 -0
- package/dist/lib/resolve_variable.js.map +1 -0
- package/dist/lib/validation_handler.d.ts +27 -3
- package/dist/lib/validation_handler.d.ts.map +1 -1
- package/dist/lib/validation_handler.js +338 -288
- package/dist/lib/validation_handler.js.map +1 -1
- package/dist/types/clarification.d.ts +54 -0
- package/dist/types/clarification.d.ts.map +1 -1
- package/dist/types/fb_form_data.d.ts +273 -123
- package/dist/types/fb_form_data.d.ts.map +1 -1
- package/dist/types/fb_form_data.js +44 -58
- package/dist/types/fb_form_data.js.map +1 -1
- package/dist/types/fb_form_data_v1.d.ts +250 -0
- package/dist/types/fb_form_data_v1.d.ts.map +1 -0
- package/dist/types/fb_form_data_v1.js +117 -0
- package/dist/types/fb_form_data_v1.js.map +1 -0
- package/dist/types/fb_form_instance.d.ts +1 -1
- package/dist/types/fb_form_instance.d.ts.map +1 -1
- package/dist/types/index.d.ts +5 -3
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +2 -1
- package/dist/types/index.js.map +1 -1
- package/dist/types/validation.d.ts +134 -12
- package/dist/types/validation.d.ts.map +1 -1
- package/dist/utils/expectation_extractor.d.ts +31 -0
- package/dist/utils/expectation_extractor.d.ts.map +1 -0
- package/dist/utils/expectation_extractor.js +142 -0
- package/dist/utils/expectation_extractor.js.map +1 -0
- package/dist/utils/fb_data_adapter.d.ts +7 -2
- package/dist/utils/fb_data_adapter.d.ts.map +1 -1
- package/dist/utils/fb_data_adapter.js +58 -7
- package/dist/utils/fb_data_adapter.js.map +1 -1
- package/dist/utils/fb_data_adapter_v2.d.ts +17 -0
- package/dist/utils/fb_data_adapter_v2.d.ts.map +1 -0
- package/dist/utils/fb_data_adapter_v2.js +483 -0
- package/dist/utils/fb_data_adapter_v2.js.map +1 -0
- package/dist/utils/fb_data_helpers.d.ts +1 -1
- package/dist/utils/fb_data_helpers.d.ts.map +1 -1
- package/dist/utils/fb_data_mutations.d.ts +1 -1
- package/dist/utils/fb_data_mutations.d.ts.map +1 -1
- package/dist/utils/fb_data_mutations_v2.d.ts +46 -0
- package/dist/utils/fb_data_mutations_v2.d.ts.map +1 -0
- package/dist/utils/fb_data_mutations_v2.js +341 -0
- package/dist/utils/fb_data_mutations_v2.js.map +1 -0
- package/dist/utils/fb_data_queries.d.ts +81 -0
- package/dist/utils/fb_data_queries.d.ts.map +1 -0
- package/dist/utils/fb_data_queries.js +354 -0
- package/dist/utils/fb_data_queries.js.map +1 -0
- package/dist/utils/index.d.ts +4 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +6 -0
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/issue_bucketing.d.ts +36 -0
- package/dist/utils/issue_bucketing.d.ts.map +1 -0
- package/dist/utils/issue_bucketing.js +107 -0
- package/dist/utils/issue_bucketing.js.map +1 -0
- package/dist/utils/validation_result.d.ts +32 -0
- package/dist/utils/validation_result.d.ts.map +1 -0
- package/dist/utils/validation_result.js +55 -0
- package/dist/utils/validation_result.js.map +1 -0
- package/package.json +16 -4
package/CHANGE_LOG.md
CHANGED
|
@@ -7,6 +7,213 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [5.0.2] - 2026-04-30
|
|
11
|
+
|
|
12
|
+
### Changed
|
|
13
|
+
|
|
14
|
+
- **`ThreadComposer` add-question button** is now visible to the `client` role as well as the `agent` role, with the label adapted per role: `"Add a question"` for clients and `"+ Question"` for agents. Lets clients raise a new question on the thread without having to wait for an agent prompt. Wires through the existing `on_add_question` callback — no API change for consumers.
|
|
15
|
+
|
|
16
|
+
## [5.0.0] - 2026-04-30
|
|
17
|
+
|
|
18
|
+
### BREAKING CHANGES — Batch Decisions UI for Pending Review
|
|
19
|
+
|
|
20
|
+
The agent's per-rule "Send Back" button on multi-rule files is replaced by a new **batch decisions panel**: each rule shows a 3-state radio (Pending / Accept / Send Back) and a single **Submit Decisions** button commits the batch. Single-rule files keep today's fast-path UX. Per-rule Send Back clicks for the same parent question now **merge** into one open clarifications task instead of spawning a new task per click. Consecutive `send_back` messages with the same source file render as one panel (file shown once, N stacked "ACTION REQUIRED" boxes). Existing data continues to work — the file-level `accepted` / `sent_back` booleans on `ContentItem` are now derived from the new `rule_actions` map but the booleans are still written for backward compatibility.
|
|
21
|
+
|
|
22
|
+
### Added
|
|
23
|
+
|
|
24
|
+
- **`ContentItem.rule_actions?: Record<string, RuleAction>`** — per-rule decision map keyed by `rule_id` (`'accepted' | 'sent_back'`). Drives the file-level pill state (Sent Back wins over Accepted in mixed states) and the panel's visible-rule filter. Absence of an entry means the rule is still Pending.
|
|
25
|
+
- **`RuleAction` and `RuleDecision` named types** in `src/components/thread_form/types.ts` — shared across `FileBarProps`, `ThreadTimelineProps`, `TaskCardProps`, and `handle_submit_decisions` so the per-rule decision payload has one source of truth.
|
|
26
|
+
- **`ThreadTask.parent_task_id?: string`** — links a clarifications task back to its parent question. Lets new Send Backs find an open clarifications task to merge into instead of spawning a new task per click.
|
|
27
|
+
- **`compute_file_decision_state(rule_actions, rules_with_issues)`** in `src/components/thread_form/utils/file_decision_state.ts` — pure helper deriving `{ accepted, sent_back, pending_count }` from a rule_actions map. 9 vitest cases.
|
|
28
|
+
- **`merge_send_back_message(tasks, parent_task_id, msg, build_new_task)`** in `src/components/thread_form/utils/merge_send_back.ts` — pure helper that appends a `send_back` message to an open clarifications task (matched by `parent_task_id` + `status !== 'completed'`) or asks the caller to build a fresh task. 5 vitest cases. Closed clarifications tasks are ineligible — the next Send Back starts a fresh round.
|
|
29
|
+
- **`RuleDecisionRow` component** at `src/components/thread_form/components/rule_decision_row.tsx` — per-rule row in the batch decisions panel: 3-state radio + comment editor (visible only when Send Back is selected) + display-only `IssueGroupTree` for issue drill-down.
|
|
30
|
+
- **`BatchDecisionPanel` sub-component** inside `file_bar.tsx` — owns per-rule decisions and comments, renders one `RuleDecisionRow` per visible rule, and provides header buttons `[Accept all]` + `[Submit Decisions (N)]`. Accept all stamps every visible rule as accepted in one click. Submit is disabled when no rule is decided.
|
|
31
|
+
- **`IssueGroupTree.hide_actions?: boolean` prop** — suppresses rule-level and category-level Send Back buttons in agent mode. Used by the batch decisions panel to embed `IssueGroupTree` in display-only mode.
|
|
32
|
+
- **`FileBar.show_keep_checkbox?: boolean` prop** and matching **`SendBackMessage.show_keep_checkbox`** — explicit prop-level control over the Keep checkbox. Default behaviour unchanged when undefined; client-side callers now pass `false` so the Keep checkbox is agent-only.
|
|
33
|
+
- **`FileBar.on_submit_decisions?` prop** — callback fired when the agent submits a batch of per-rule decisions. Wired through `TaskCard` and `ThreadTimeline` from `thread_form.tsx`.
|
|
34
|
+
- **`handle_submit_decisions(item, decisions)`** in `thread_form.tsx` — walks each decision: `'sent_back'` rules build a `send_back` message and route through `merge_send_back_message` so cross-file Q1 batches still consolidate into one clarifications task; `'accepted'` rules just stamp `rule_actions`. Atomic single update for tasks + per-file fields.
|
|
35
|
+
- **Render-time consolidation of consecutive `send_back` messages** — `group_messages` in `shared.tsx` merges consecutive send_back messages sharing the same `source_content_id` into one render group. `SendBackMessage.data` accepts `SendBackData | SendBackData[]`; the pinned file row is rendered once and the ACTION REQUIRED block renders once per entry.
|
|
36
|
+
- **Clickable `ref` badge** on a clarifications task's pinned file — scrolls smoothly to the original file in the parent question and briefly highlights it. `FileBar` sets `data-content-id` on its root for the lookup.
|
|
37
|
+
- **Resolved RFI accordion (client view)** — `file_bar.tsx` switched to `display="collapsed"` on `HazoCollabFormRFIbox`, so once the client submits a response the panel folds into a one-line summary that they can click to expand.
|
|
38
|
+
- **`periodic_coverage` validation type** — detects missing files across a period (biweekly rental statements, quarterly council rates, monthly utility bills). Authored in the existing Validation Rule Editor via a new `VALIDATION TYPE` dropdown that swaps the form body between LLM Prompt fields and Coverage Configuration fields (Cadence, Alignment, Period Start, Period End).
|
|
39
|
+
- **Variable-chain inputs for period bounds** — Period Start and Period End accept an ordered list of variable references (e.g. `[@tenant_start_date, @Beginning_Of_Tax_Year]`); first non-empty resolved value wins. Rule skips silently when neither resolves.
|
|
40
|
+
- **Form-field variables in the rule editor** — `HazoValidationRuleEditor` accepts a new `form_field_variables?: PromptVariable[]` prop. These merge into `prompt_config.variables` and appear in the @-popup alongside session-level constants. Available to both `llm_prompt` and `periodic_coverage` rules.
|
|
41
|
+
- **`extracted_data` field on `ValidationRuleResult`** — standardises structured outputs from per-file LLM rules. Today consumed by `periodic_coverage` rules, which read `{ period_start, period_end }` populated by date-extraction LLM rules.
|
|
42
|
+
- **Per-group periodic-coverage pass** in `use_file_pipeline.ts` — runs after `run_backoffice_validation`. Groups files by primary classification tag, fetches matching `periodic_coverage` rules, computes gaps deterministically. Returns `GroupCoverageResult[]` for the consuming app to surface.
|
|
43
|
+
- **Pure utilities in `src/lib/`** — `compute_coverage_gaps` (deterministic gap arithmetic with calendar-aligned and flexible cadence tiling), `resolve_variable_chain` (form-field + session-variable resolution).
|
|
44
|
+
|
|
45
|
+
### Changed
|
|
46
|
+
|
|
47
|
+
- **Pending Review pill** counts only **un-actioned** rules (was: total issues regardless of agent decisions). Once all rules are accepted or sent back the pill disappears; partial state shows the remaining count.
|
|
48
|
+
- **`handle_send_back_issues`** routes new `send_back` messages through `merge_send_back_message`. First click creates the new clarifications task and stamps `parent_task_id`; subsequent clicks for the same parent merge into that task while it remains open.
|
|
49
|
+
- **`handle_run_backoffice` pending count** excludes files in completed (approved) tasks and files with `accepted: true`. Resolved files no longer inflate the "Run Backoffice (N)" pill.
|
|
50
|
+
- **Locked-task affordances** — files in completed tasks now suppress the Document Type pencil, the Remove (×) button, and the Keep checkbox; thread message edit/delete actions are hidden. Tasks are read-only once the agent approves them.
|
|
51
|
+
- **`MessageEditor` attached file rows** — replaced the full-width red list with the same compact two-column grid styling used by the regular timeline.
|
|
52
|
+
- **`classify_file`** skips classification with a `console.warn` (and `null` return) when the inferred MIME type is `application/octet-stream` (no recognised file extension), instead of POSTing to the API and surfacing a `console.error`. The file still uploads; validation just doesn't run for unknown types.
|
|
53
|
+
- **`FbEntryValidation.processed_data_ref`** is now `string | null` to support group-level missing-file validations that have no specific file reference.
|
|
54
|
+
- Mock `/api/mock-validate` populates `extracted_data` from filename date patterns so end-to-end coverage testing works without real LLM calls.
|
|
55
|
+
|
|
56
|
+
### Migration
|
|
57
|
+
|
|
58
|
+
- No persistence migration required. Existing `ContentItem` records without `rule_actions` are treated as all-pending and continue to work; the file-level `accepted` / `sent_back` booleans are still written for backward compatibility.
|
|
59
|
+
- Consumers that previously read `effective_validation_results` directly to render per-rule Send Back buttons in agent mode should rely on the built-in panel — those buttons no longer render in agent mode on multi-rule files.
|
|
60
|
+
- `SendBackMessage.data` widened from `SendBackData` to `SendBackData | SendBackData[]`. Existing single-payload callsites work unchanged.
|
|
61
|
+
- The verbose validation-prompt LLM output that some consumers were rendering verbatim now has a recommended pattern: produce a tight `client_comment` (max 1–2 sentences, plain English, addressed to the client) on each issue. The agent's audit fields (`description`, `reason`) can stay verbose.
|
|
62
|
+
|
|
63
|
+
## [4.0.0] - 2026-04-25
|
|
64
|
+
|
|
65
|
+
### BREAKING CHANGES — Unified Validation Result Shape
|
|
66
|
+
|
|
67
|
+
Collapses single-issue and multi-issue validation results into one uniform shape. The LLM is now told one schema via one wrapper; the `issues[]` array is always present (empty when the check passed). This simplifies 26 consumer files that previously branched on "does this result have `issues[]`, or should I fall back to `issue_description`?". The `get_issues()` normalizer is gone — consumers iterate `result.issues` directly.
|
|
68
|
+
|
|
69
|
+
### Changed
|
|
70
|
+
|
|
71
|
+
- **`ValidationRuleResult` shape** — `issues: ValidationIssue[]` is now **required** (was optional). Deleted top-level `has_issue` and `issue_description`; use `result.issues.length > 0` and `result.summary ?? result.issues[0]?.issue_description`. Added optional rule-level `summary` for pass/fail explanation and rule-level `confidence`.
|
|
72
|
+
- **`ValidationIssue` shape** — Promoted `client_comment`, `amount`, `date`, `reason`, `confidence` to first-class optional fields. Deleted the `context` escape hatch (all LLM fields now have typed homes). The agent's send-back message now reads `issue.client_comment` directly.
|
|
73
|
+
- **Single-issue vs multi-issue is gone** — Removed `ValidationRule.multi_issue` and `ValidationRuleExecution.multi_issue`. All rules produce an array; a "single-issue" rule just returns 1 entry (or 0 when passing).
|
|
74
|
+
- **Prompts DB** — `validation/single_issue_wrapper` row **deleted**. `validation/multi_issue_wrapper` **renamed to `validation/response_wrapper`** with an updated JSON schema including `summary`, per-issue `client_comment` / `amount` / `date` / `reason` / `confidence`, and rule-level `confidence`. No code-level fallback — unseeded wrappers still throw a 500 with a seeding hint.
|
|
75
|
+
- **Server execution paths collapsed** — `execute_rule` + `execute_rule_batch` + inline text-mode branch merged into one `run_rule(rule, input, variables, wrappers)` with a tagged `ValidationInput` union (`document | documents | text`). Handler is thinner; parsing is shared.
|
|
76
|
+
- **Parser consolidated** — Deleted `parse_validation_response` and `extract_validation_fields`. Kept one parser (`parse_response`) that produces the unified shape.
|
|
77
|
+
- **Deleted `get_issues()` normalizer** (`src/utils/validation_result.ts`) — no longer needed.
|
|
78
|
+
|
|
79
|
+
### Migration
|
|
80
|
+
|
|
81
|
+
- No persistence migration shipped. Consuming test-apps should reset their SQLite DBs (`test-app/data/prompt_library.sqlite` and any DB that persists `ValidationRuleResult` rows) and re-run `test-app/scripts/seed-prompts.mjs`.
|
|
82
|
+
- Rule prompts should **not** instruct the LLM to return extra fields — wrappers own the response shape. Audit rule prompts for stray "return a JSON with field X" language and remove it.
|
|
83
|
+
|
|
84
|
+
### Files changed
|
|
85
|
+
- `src/types/validation.ts` — `ValidationRuleResult` / `ValidationIssue` shape; removed `multi_issue` on rules
|
|
86
|
+
- `src/lib/validation_handler.ts` — rewritten: one parser, one `run_rule`, tagged input, loads `response_wrapper` instead of the old two
|
|
87
|
+
- `src/utils/validation_result.ts` — deleted `get_issues()`
|
|
88
|
+
- `src/utils/fb_data_adapter.ts` / `src/utils/fb_data_adapter_v2.ts` — read `issues.length` / `summary` instead of `has_issue` / `issue_description`
|
|
89
|
+
- `src/utils/rule_to_execution.ts` — dropped `multi_issue`
|
|
90
|
+
- `src/components/hazo_fb_form/**` (views, hooks, format) — migrated reads
|
|
91
|
+
- `src/components/thread_form/**` (file_bar, file_info_dialog, hooks, types, thread_form) — migrated reads, `ContentItem.validation_rule_results` now uses the canonical type
|
|
92
|
+
- `src/components/shared/rule_result_card.tsx`, `src/components/shared/file_bar/file_bar_validation_dialog.tsx` — migrated reads
|
|
93
|
+
- `test-app/scripts/seed-prompts.mjs` — deleted single_issue_wrapper, renamed + updated response_wrapper
|
|
94
|
+
- `test-app/app/api/mock-validate/route.ts` — emits new shape
|
|
95
|
+
|
|
96
|
+
## [3.2.0] - 2026-04-15
|
|
97
|
+
|
|
98
|
+
### Fixed
|
|
99
|
+
|
|
100
|
+
- **Review acceptance not persisting to v2 data model** — `confirm_review_decisions` now calls `set_review_decision()` mutation to persist accept/send_back decisions to `form_data_entries`, updating clarification `status` (→ `accepted`/`sent_back`) and `review` object. Previously, only UI-level state was updated while the data model retained `status: 'responded'` and `review: null`.
|
|
101
|
+
- **File status showing "Pending Review" after acceptance** — With the review persistence fix, `get_file_status()` now correctly reads `status === 'accepted'` from clarifications.
|
|
102
|
+
- **Process Data button disabled for file-only forms** — `has_front_data` now recognizes `__files_*` and `__private_files_*` keys as valid data, so submissions containing only file uploads enable the button.
|
|
103
|
+
- **Process Data button disabled in Tax Data step after review** — Button disabled condition now also checks `skipped_file_ids` and `classification_results`, enabling it when files were accepted in the review step.
|
|
104
|
+
- **MIME type `application/octet-stream` for files in Instance 2+** — Added `mime_from_name()` to infer MIME type from file extension as fallback. Also checks `__files_${field_id}` prefix when looking up file attachments in `front_form_data`, since later instances may only have files under the prefixed key.
|
|
105
|
+
- **Classification results lost on instance switch** — New restoration effect reconstructs `classification_results` from `form_data_entries` when empty (e.g., Instance 2 after send-back), walking the v2 data model to extract file_id, tags, and document_type.
|
|
106
|
+
|
|
107
|
+
### Added
|
|
108
|
+
|
|
109
|
+
- **Autofill deduplication via `FbAutofillRun` tracking** — New `autofill_runs` field on `FbDataEntry` records each autofill execution per file+group with status, fields_populated, timestamp, and form_instance. Prevents duplicate data on page refresh by skipping files already successfully autofilled.
|
|
110
|
+
- New type: `FbAutofillRun` — tracks file_id, file_name, group_id, status, fields_populated, time, form_instance, error
|
|
111
|
+
- New query helpers: `get_autofill_runs_for_file()`, `is_file_autofilled()`, `get_autofilled_file_groups()`
|
|
112
|
+
- New mutation helper: `add_autofill_run()` — records run on the entry containing the file, replaces existing run for same file+group (idempotent)
|
|
113
|
+
- All `route_files_to_back_office` call sites pass autofill history and record results
|
|
114
|
+
|
|
115
|
+
### Files Changed
|
|
116
|
+
- `src/types/fb_form_data.ts` — Added `FbAutofillRun` type and `autofill_runs` field on `FbDataEntry`
|
|
117
|
+
- `src/utils/fb_data_queries.ts` — Added autofill query functions
|
|
118
|
+
- `src/utils/fb_data_mutations_v2.ts` — Added `add_autofill_run()` mutation
|
|
119
|
+
- `src/components/hazo_fb_form/hazo_fb_form.tsx` — Review persistence, classification restore, has_front_data fix, Process Data button enablement
|
|
120
|
+
- `src/components/hazo_fb_form/hooks/use_llm_run.ts` — MIME inference, `__files_` prefix fallback, autofill dedup skip logic, autofill run recording
|
|
121
|
+
|
|
122
|
+
## [3.1.20] - 2026-04-13
|
|
123
|
+
|
|
124
|
+
### Changed
|
|
125
|
+
|
|
126
|
+
- **MAJOR: V2 Flattened Data Model — Single Source of Truth Across Instances** — Complete re-architecture of the form data model for improved clarity and cross-instance consistency:
|
|
127
|
+
- Old hierarchical model (v1) with nested activities, validations, and clarifications replaced with flattened structure
|
|
128
|
+
- New model stores validations and clarifications as direct arrays on `FbDataEntry`, not nested in activities
|
|
129
|
+
- **Instance-independent design:** Same JSON output regardless of active instance — data flows forward through the form sequence, not sideways between instances
|
|
130
|
+
- **Thread captures full conversation:** `FbEntryClarification.thread[]` now spans all form instances, showing complete history from issue detection through all client responses and agent reviews
|
|
131
|
+
- **Review decisions linked to thread entries:** `FbClarificationReview.thread_ref` points to the specific client response being reviewed (not just the clarification ID)
|
|
132
|
+
- **Per-instance keyed Maps:** `review_queue_decisions` and `send_back_comments` now stored as `Map<string, T>` keyed by instance ID to prevent data from Instance 1 leaking into Instance 2
|
|
133
|
+
- **Review clears on new input:** When a newer client response arrives after a send-back, the review is set to null (cleared) to reflect that the previous decision no longer applies
|
|
134
|
+
- **New utilities:** `flat_to_data_v2()` converter, `fb_data_queries.ts` read helpers, `fb_data_mutations_v2.ts` immutable update functions
|
|
135
|
+
- **V1 types preserved:** Old types kept in `fb_form_data_v1.ts` for backward compatibility during migration
|
|
136
|
+
- **File status accordion reads from V2:** Rebuilt to use v2 queries instead of parallel v1 state tracking
|
|
137
|
+
- **Review queue items enriched:** Now include full v2 thread data for complete cross-instance conversation context
|
|
138
|
+
- **JSON data panel:** Added copy-to-clipboard button for easier export/debugging
|
|
139
|
+
- **Reconciliation effect:** Clears stale v1 decisions when v2 data shows `review=null`, ensuring consistency after instance switches
|
|
140
|
+
|
|
141
|
+
### Added
|
|
142
|
+
|
|
143
|
+
- **E2E test for send-back flow:** `test-app/tests/e2e/fb-form-sendback.spec.ts` — Playwright test covering full multi-instance clarification workflow with thread history validation
|
|
144
|
+
|
|
145
|
+
### Files Changed
|
|
146
|
+
- `src/types/fb_form_data.ts` — Completely rewritten with v2 flattened structure
|
|
147
|
+
- `src/types/fb_form_data_v1.ts` — New file preserving v1 types
|
|
148
|
+
- `src/utils/fb_data_adapter_v2.ts` — New adapter implementing v2 conversion logic
|
|
149
|
+
- `src/utils/fb_data_queries.ts` — New query helpers for reading v2 data
|
|
150
|
+
- `src/utils/fb_data_mutations_v2.ts` — New mutation utilities for updating v2 data
|
|
151
|
+
- `src/components/hazo_fb_form/hooks/use_instance_state.ts` — Updated to use Map-based decisions
|
|
152
|
+
- `src/components/hazo_fb_form/components/review_queue_view.tsx` — Updated to use v2 thread data
|
|
153
|
+
- `test-app/tests/e2e/fb-form-sendback.spec.ts` — New Playwright E2E test
|
|
154
|
+
|
|
155
|
+
### Migration Notes
|
|
156
|
+
- Old `flat_to_data()` (v1 adapter) still functional but deprecated. New code should use `flat_to_data_v2()`
|
|
157
|
+
- Review queue decisions now accessed via `review_queue_decisions.get(instance_id)` instead of direct property access
|
|
158
|
+
- Clarification status now read from `clarification.status` directly instead of inferring from activities array
|
|
159
|
+
- Thread history now accessible via `clarification.thread[]` instead of separate activity records
|
|
160
|
+
|
|
161
|
+
## [3.1.19] - 2026-04-13
|
|
162
|
+
|
|
163
|
+
### Fixed
|
|
164
|
+
|
|
165
|
+
- **Client clarification responses reliably persist across page refresh** — `update_clarification_status` now falls back to `file_validation_results.errors` when the clarification item isn't found in `draft_clarifications` (which can be empty due to dedup timing). Previously, if the draft was already deduped against sent_clarifications, the upsert silently failed and the response was lost.
|
|
166
|
+
|
|
167
|
+
## [3.1.18] - 2026-04-13
|
|
168
|
+
|
|
169
|
+
### Added
|
|
170
|
+
|
|
171
|
+
- **File Status Accordion on Tax Data step** — Collapsible panel at the top of Tax Data showing all classified files with their status (Accepted, Sending Back, Pending Review, No Issues). Includes file name, tags, issue counts, and color-coded status badges.
|
|
172
|
+
|
|
173
|
+
### Fixed
|
|
174
|
+
|
|
175
|
+
- **Test-app data persists across page refresh** — Added `initialized` guard to prevent localStorage save effects from firing before async init completes. Previously, the empty initial state (`back_form_data: {}`, `form_data: []`) was saved to localStorage on mount, overwriting restored data before the init effect ran.
|
|
176
|
+
|
|
177
|
+
### Changed
|
|
178
|
+
|
|
179
|
+
- **RFI card read-only after submit** — After clicking "Submit Response" on a review item, the card becomes grayed out (`opacity-70`) with a "✓ Submitted" badge, all fields become read-only, and the card collapses. The "Submit Response" button is hidden once submitted.
|
|
180
|
+
|
|
181
|
+
### Fixed
|
|
182
|
+
|
|
183
|
+
- **Review decisions (accept + send_back) now persist across page reload** — The restoration effect now handles both `'approve'` → accept AND `'skip_process'` → send_back decisions from persisted `sent_clarifications[].review_decision`. Also restores `agent_feedback` as send_back comments. Fixed stepper init effect overwriting restored decisions by checking `has_restored_decisions` before resetting.
|
|
184
|
+
|
|
185
|
+
## [3.1.15] - 2026-04-12
|
|
186
|
+
|
|
187
|
+
### Added
|
|
188
|
+
|
|
189
|
+
- **"Submit Response" button per RFI card in Review Queue** — Each review item card now has its own "Submit Response" button at the bottom (inside the card, not in the footer). The button appears once a decision (Accept/Send Back) is made, is disabled until feedback is provided (for send-back items), and shows "✓ Response submitted" after clicking. Confirms and persists review decisions to the data model per item.
|
|
190
|
+
|
|
191
|
+
### Fixed
|
|
192
|
+
|
|
193
|
+
- **Review step clickable after page reload** — Two fixes:
|
|
194
|
+
1. Review step now enabled when `sent_clarifications` has responded items (not just when `review_was_completed` or `effective_review_items` exist)
|
|
195
|
+
2. Active step's `onClick` handler now fires even when `is_clickable` is false — the guard `is_clickable && on_step_click()` blocked the active step from switching the tab view since it's neither completed nor past
|
|
196
|
+
|
|
197
|
+
## [3.1.10] - 2026-04-12
|
|
198
|
+
|
|
199
|
+
### Fixed
|
|
200
|
+
|
|
201
|
+
- **Clarification form no longer grays out when selecting a response option** — The data model enrichment was setting `status: 'responded'` on pending (unconfirmed) responses, which caused `flat_to_data` to produce `input_status: 'complete'`, triggering `is_complete_in_data` in `immediate_clarifications` and forcing `'resolved'` status. Now pending responses preserve the item's original status — only confirmed responses (OK button clicked) set `'responded'`.
|
|
202
|
+
|
|
203
|
+
- **Clarification responses persist across page reloads** — After client submit + refresh, clarifications now show as resolved with the original response choice and comment. Two fixes:
|
|
204
|
+
1. `immediate_clarifications` now forces `'resolved'` when instance is `client_submitted`/`completed` and the sent clarification has a response — client can't edit after submission anyway
|
|
205
|
+
2. Test-app `handle_submit` now merges submitted clarifications into existing `sent_clarifications` instead of replacing (prevents wiping responses persisted via `on_instance_update`)
|
|
206
|
+
|
|
207
|
+
### Added
|
|
208
|
+
|
|
209
|
+
- **Test-app localStorage persistence** — FB Form page now persists instances, back_form_data, form_data, and active_instance_id to localStorage. Survives page refresh. "Clear Data" button resets all state and localStorage. `front_sections` are stripped from saves to prevent quota issues.
|
|
210
|
+
|
|
211
|
+
## [3.1.8] - 2026-04-12
|
|
212
|
+
|
|
213
|
+
### Fixed
|
|
214
|
+
|
|
215
|
+
- **Client RFI responses no longer prematurely forced to 'resolved'** — `immediate_clarifications` was forcing `status: 'resolved'` when `sent_clarifications` had any `response_choice`, even if the agent hadn't reviewed it yet. This grayed out the form immediately after the client selected a response option, preventing them from adding mandatory comments. Now only `is_complete_in_data` (from hierarchical data model) and `is_confirmed` (same-session OK click) force resolved status. Items with a sent response but no agent review remain `'responded'` so clients can still edit.
|
|
216
|
+
|
|
10
217
|
## [3.1.7] - 2026-04-12
|
|
11
218
|
|
|
12
219
|
### Fixed
|
package/README.md
CHANGED
|
@@ -35,6 +35,9 @@ React form components with integrated chat collaboration, built for Next.js with
|
|
|
35
35
|
- **Autofill Dropzone**: LLM-powered document extraction with multi-file support, progressive data table population, and overwrite conflict detection
|
|
36
36
|
- **Data Table in Summary Views**: Proper HTML table rendering for data table fields in Summary, Print, and Approval views with aggregation support
|
|
37
37
|
- **Document Clarifications**: Full lifecycle for document validation issues - flag problems, reference documents, collect structured client responses, and track resolution status (pending, responded, resolved, dismissed)
|
|
38
|
+
- **Batch Decisions Panel (Agent View)**: Multi-rule files render a per-rule radio (Pending / Accept / Send Back) plus a single "Submit Decisions" button — the agent picks the action per rule, optionally edits the LLM-suggested client comment, and commits all decisions in one click. Single-rule files keep the existing fast-path UX.
|
|
39
|
+
- **Send Back Merging**: Per-rule Send Back clicks for the same parent question merge into a single open "Clarifications regarding…" task as separate messages instead of spawning a task per click. Closed clarifications tasks start a fresh round.
|
|
40
|
+
- **Consolidated Action Required Rendering**: Consecutive send_back messages sharing the same source file render as one panel — file row shown once, N stacked "ACTION REQUIRED" boxes. The `ref` badge is clickable, scrolling to the original file in the parent question and briefly highlighting it.
|
|
38
41
|
- **Validation Rule Editor**: LLM-powered document validation with visual rule management UI, prompt editor with slash commands and variable references, and automatic clarification generation
|
|
39
42
|
- **Content Tagging**: LLM-based document classification at upload time via hazo_llm_api integration
|
|
40
43
|
- **Configurable Response Types & Sets**: Manage response options for validation rules via config editor, with dynamic type/set loading and tag picker UI for interactive option management
|
|
@@ -22,7 +22,8 @@
|
|
|
22
22
|
* └───────────────────────────────────────────────────────────┘
|
|
23
23
|
*/
|
|
24
24
|
import React from 'react';
|
|
25
|
-
import type { ClarificationItem, ClarificationResponse, ResponseValidationState } from '../../types/clarification.js';
|
|
25
|
+
import type { ClarificationItem, ClarificationResponse, ClarificationResponseOption, ResponseValidationState } from '../../types/clarification.js';
|
|
26
|
+
import type { ExtractedResponseFields } from '../../types/fb_form_data.js';
|
|
26
27
|
import type { FileManagerCallbacks } from '../../types/file_manager.js';
|
|
27
28
|
export interface ClarificationItemBodyProps {
|
|
28
29
|
/** The clarification item to render */
|
|
@@ -72,6 +73,23 @@ export interface ClarificationItemBodyProps {
|
|
|
72
73
|
file_pipeline_status?: Record<string, string>;
|
|
73
74
|
/** Compact mode: hides the "ISSUE FOUND · rule_name" label line */
|
|
74
75
|
compact?: boolean;
|
|
76
|
+
/**
|
|
77
|
+
* Endpoint that runs the aggregate resolver (sum_match, etc.) at send time.
|
|
78
|
+
* When provided alongside item.expectation, ClarificationItemBody intercepts
|
|
79
|
+
* the submit, calls this URL with the response files, and either passes the
|
|
80
|
+
* verdict through to on_respond or surfaces the rfibox-style mismatch sub-form.
|
|
81
|
+
*/
|
|
82
|
+
resolution_api_url?: string;
|
|
83
|
+
/**
|
|
84
|
+
* Pulls structured fields (total/date/vendor) from a response file. Called
|
|
85
|
+
* for each file lacking extracted_fields prior to running the resolver.
|
|
86
|
+
* Typically wired to use_file_pipeline.extract_response_fields.
|
|
87
|
+
*/
|
|
88
|
+
extract_response_fields?: (file_id: string, file_name: string, mime_type: string) => Promise<ExtractedResponseFields | null>;
|
|
89
|
+
/** Pre-existing extracted fields keyed by file_id, used to skip re-extraction. */
|
|
90
|
+
initial_extracted_fields?: Record<string, ExtractedResponseFields>;
|
|
91
|
+
/** The radio options for the mismatch sub-form (typically loaded from the resolution_mismatch response set). */
|
|
92
|
+
resolution_mismatch_options?: ClarificationResponseOption[];
|
|
75
93
|
}
|
|
76
94
|
/** Removed inset shadow styles — using flat zone design */
|
|
77
95
|
export declare const ClarificationItemBody: React.NamedExoticComponent<ClarificationItemBodyProps>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clarification_item_body.d.ts","sourceRoot":"","sources":["../../../src/components/clarification/clarification_item_body.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAIH,OAAO,
|
|
1
|
+
{"version":3,"file":"clarification_item_body.d.ts","sourceRoot":"","sources":["../../../src/components/clarification/clarification_item_body.tsx"],"names":[],"mappings":"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"}
|
|
@@ -23,22 +23,122 @@
|
|
|
23
23
|
*/
|
|
24
24
|
'use client';
|
|
25
25
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
26
|
-
import React, { useCallback } from 'react';
|
|
26
|
+
import React, { useCallback, useState } from 'react';
|
|
27
27
|
import { cn } from '../../utils/cn.js';
|
|
28
28
|
import { ClarificationDocReferenceList } from './clarification_doc_reference.js';
|
|
29
29
|
import { ClarificationResponseForm } from './clarification_response_form.js';
|
|
30
30
|
import { ClarificationThread } from './clarification_thread.js';
|
|
31
|
+
import { ResolutionStatusStrip } from './resolution_status_strip.js';
|
|
31
32
|
import { STATUS_CONFIG, get_issue_text_class, get_issue_detail_text_class } from './clarification_status_config.js';
|
|
32
33
|
import { IoAlertCircle, IoCheckmarkCircle } from 'react-icons/io5';
|
|
33
34
|
/** Removed inset shadow styles — using flat zone design */
|
|
34
|
-
export const ClarificationItemBody = React.memo(function ClarificationItemBody({ item, show_doc_references = true, read_only = false, hide_submit, submit_label, hide_response_form, file_manager, on_respond, on_resolve, on_dismiss, on_reopen, on_doc_click, on_doc_view, on_doc_delete, on_field_click, on_response_change, file_validation, response_validation, on_validation_click, file_validation_details, file_pipeline_status, compact, }) {
|
|
35
|
+
export const ClarificationItemBody = React.memo(function ClarificationItemBody({ item, show_doc_references = true, read_only = false, hide_submit, submit_label, hide_response_form, file_manager, on_respond, on_resolve, on_dismiss, on_reopen, on_doc_click, on_doc_view, on_doc_delete, on_field_click, on_response_change, file_validation, response_validation, on_validation_click, file_validation_details, file_pipeline_status, compact, resolution_api_url, extract_response_fields, initial_extracted_fields, resolution_mismatch_options, }) {
|
|
35
36
|
const is_actionable = item.status === 'pending' || item.status === 'responded';
|
|
36
37
|
const is_closed = item.status === 'resolved' || item.status === 'dismissed';
|
|
37
38
|
const is_responded = item.status === 'responded' || item.status === 'resolved';
|
|
38
39
|
const config = STATUS_CONFIG[item.status] ?? STATUS_CONFIG.pending;
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
40
|
+
// ── Resolution state (sum_match path) ─────────────────────────────────
|
|
41
|
+
const [pending_check, set_pending_check] = useState(null);
|
|
42
|
+
const [mismatch_active, set_mismatch_active] = useState(false);
|
|
43
|
+
const [resolver_running, set_resolver_running] = useState(false);
|
|
44
|
+
const [pending_response, set_pending_response] = useState(null);
|
|
45
|
+
const has_resolver = Boolean(resolution_api_url && item.expectation);
|
|
46
|
+
const run_resolver = useCallback(async (response) => {
|
|
47
|
+
if (!resolution_api_url || !item.expectation)
|
|
48
|
+
return null;
|
|
49
|
+
const files = response.response_files ?? [];
|
|
50
|
+
const enriched_files = await Promise.all(files.map(async (f) => {
|
|
51
|
+
const existing = initial_extracted_fields?.[f.file_id];
|
|
52
|
+
if (existing)
|
|
53
|
+
return { file_id: f.file_id, file_name: f.file_name, extracted_fields: existing };
|
|
54
|
+
if (extract_response_fields) {
|
|
55
|
+
try {
|
|
56
|
+
const fields = await extract_response_fields(f.file_id, f.file_name, f.mime_type);
|
|
57
|
+
return {
|
|
58
|
+
file_id: f.file_id,
|
|
59
|
+
file_name: f.file_name,
|
|
60
|
+
...(fields ? { extracted_fields: fields } : {}),
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
catch (err) {
|
|
64
|
+
console.warn('[clarification] extract_response_fields failed', err);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
return { file_id: f.file_id, file_name: f.file_name };
|
|
68
|
+
}));
|
|
69
|
+
try {
|
|
70
|
+
const res = await fetch(resolution_api_url, {
|
|
71
|
+
method: 'POST',
|
|
72
|
+
headers: { 'Content-Type': 'application/json' },
|
|
73
|
+
body: JSON.stringify({ expectation: item.expectation, response_files: enriched_files }),
|
|
74
|
+
});
|
|
75
|
+
const data = await res.json();
|
|
76
|
+
if (!res.ok || data?.success === false) {
|
|
77
|
+
console.warn('[clarification] resolution API returned non-success', data);
|
|
78
|
+
return null;
|
|
79
|
+
}
|
|
80
|
+
return (data.check ?? null);
|
|
81
|
+
}
|
|
82
|
+
catch (err) {
|
|
83
|
+
console.warn('[clarification] resolution call failed', err);
|
|
84
|
+
return null;
|
|
85
|
+
}
|
|
86
|
+
}, [resolution_api_url, item.expectation, extract_response_fields, initial_extracted_fields]);
|
|
87
|
+
const handle_respond = useCallback(async (response) => {
|
|
88
|
+
if (!has_resolver) {
|
|
89
|
+
on_respond?.(item.id, response);
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
set_resolver_running(true);
|
|
93
|
+
const check = await run_resolver(response);
|
|
94
|
+
set_resolver_running(false);
|
|
95
|
+
if (!check) {
|
|
96
|
+
// Resolver unreachable — let the response through without the check.
|
|
97
|
+
on_respond?.(item.id, response);
|
|
98
|
+
return;
|
|
99
|
+
}
|
|
100
|
+
set_pending_check(check);
|
|
101
|
+
if (check.passed) {
|
|
102
|
+
on_respond?.(item.id, { ...response, resolution_check: check });
|
|
103
|
+
set_pending_response(null);
|
|
104
|
+
set_mismatch_active(false);
|
|
105
|
+
return;
|
|
106
|
+
}
|
|
107
|
+
if (mismatch_active) {
|
|
108
|
+
// Second submit attempt — client has already chosen a fallback path.
|
|
109
|
+
// Forward the response through with the check so the agent can review.
|
|
110
|
+
on_respond?.(item.id, { ...response, resolution_check: check });
|
|
111
|
+
return;
|
|
112
|
+
}
|
|
113
|
+
// First failure — surface mismatch sub-form
|
|
114
|
+
set_pending_response(response);
|
|
115
|
+
set_mismatch_active(true);
|
|
116
|
+
}, [has_resolver, run_resolver, on_respond, item.id, mismatch_active]);
|
|
117
|
+
const handle_mismatch_submit = useCallback(async (sub_response) => {
|
|
118
|
+
if (!pending_response)
|
|
119
|
+
return;
|
|
120
|
+
// Merge: sub_response carries the mismatch_choice, optional comment, and
|
|
121
|
+
// optional new files. Combine with the held pending_response.
|
|
122
|
+
const merged_files = [
|
|
123
|
+
...(pending_response.response_files ?? []),
|
|
124
|
+
...(sub_response.response_files ?? []),
|
|
125
|
+
];
|
|
126
|
+
const merged = {
|
|
127
|
+
response_choice: pending_response.response_choice,
|
|
128
|
+
user_comment: pending_response.user_comment,
|
|
129
|
+
response_files: merged_files.length > 0 ? merged_files : undefined,
|
|
130
|
+
mismatch_choice: sub_response.response_choice,
|
|
131
|
+
mismatch_comment: sub_response.user_comment,
|
|
132
|
+
};
|
|
133
|
+
set_resolver_running(true);
|
|
134
|
+
const check = await run_resolver(merged);
|
|
135
|
+
set_resolver_running(false);
|
|
136
|
+
if (check)
|
|
137
|
+
set_pending_check(check);
|
|
138
|
+
on_respond?.(item.id, { ...merged, ...(check ? { resolution_check: check } : {}) });
|
|
139
|
+
set_pending_response(null);
|
|
140
|
+
set_mismatch_active(false);
|
|
141
|
+
}, [pending_response, run_resolver, on_respond, item.id]);
|
|
42
142
|
const handle_doc_delete = useCallback((file_id) => {
|
|
43
143
|
on_doc_delete?.(item.id, file_id);
|
|
44
144
|
}, [on_doc_delete, item.id]);
|
|
@@ -49,7 +149,15 @@ export const ClarificationItemBody = React.memo(function ClarificationItemBody({
|
|
|
49
149
|
/* Standard issue panel (first-time clarifications with no thread history) */
|
|
50
150
|
_jsxs("div", { className: cn('rounded-lg border p-3.5', config.issue_bg, 'border-stone-200/80 dark:border-stone-700/50'), children: [!compact && (_jsxs("div", { className: "flex items-center gap-2 mb-2", children: [is_responded ? (_jsx(IoCheckmarkCircle, { className: cn('w-3.5 h-3.5 flex-shrink-0', config.issue_icon_color) })) : (_jsx(IoAlertCircle, { className: cn('w-3.5 h-3.5 flex-shrink-0', config.issue_icon_color) })), _jsx("span", { className: cn('text-[10px] font-bold uppercase tracking-[0.08em]', config.issue_label_color), children: is_responded ? 'Issue (Responded)' : 'Issue Found' }), item.rule_name && (_jsxs(_Fragment, { children: [_jsx("span", { className: "text-muted-foreground/30 mx-0.5", children: "\u00B7" }), _jsx("span", { className: "text-[10px] text-muted-foreground/50 uppercase tracking-wide", children: item.rule_name })] }))] })), _jsxs("div", { className: "pl-[22px]", children: [_jsx("p", { className: cn('text-sm leading-relaxed', get_issue_text_class(item.status)), children: item.issue_description }), item.validation_details && item.validation_details !== item.issue_description && (_jsx("p", { className: cn('text-sm mt-1.5 italic leading-relaxed', get_issue_detail_text_class(item.status)), children: item.validation_details })), show_doc_references && item.doc_references.length > 0 && (_jsx(ClarificationDocReferenceList, { references: item.doc_references, on_click: on_doc_click, on_view: on_doc_view, on_delete: on_doc_delete && !is_closed ? handle_doc_delete : undefined, file_validation: file_validation }))] })] })) }), !hide_response_form && (_jsx("div", { className: "px-4 py-3.5", children: _jsxs("div", { className: cn('rounded-lg border p-3.5', config.response_bg, config.response_border), children: [_jsx("div", { className: cn('text-[10px] font-bold uppercase tracking-[0.08em] mb-3', config.response_label_color), children: item.thread && item.thread.length > 0 && item.status === 'pending'
|
|
51
151
|
? 'Response Required'
|
|
52
|
-
: config.divider_label }), _jsx(ClarificationResponseForm, { action_description: item.action_description, response_options: item.response_options, initial_choice: item.response_choice, initial_comment: item.user_comment, initial_files: item.response_files, read_only: read_only || !is_actionable, on_submit: is_actionable ? handle_respond : undefined, hide_submit: hide_submit, submit_label: submit_label, on_change: on_response_change ? handle_response_change : undefined, file_manager: file_manager, radio_accent: config.response_radio_accent, submit_bg: config.submit_bg, response_validation: response_validation, file_validations: file_validation, on_validation_click: on_validation_click, file_validation_details: file_validation_details, file_pipeline_status: file_pipeline_status })
|
|
152
|
+
: config.divider_label }), _jsx(ClarificationResponseForm, { action_description: item.action_description, response_options: item.response_options, initial_choice: item.response_choice, initial_comment: item.user_comment, initial_files: item.response_files, read_only: read_only || !is_actionable || mismatch_active, on_submit: is_actionable && !mismatch_active ? handle_respond : undefined, hide_submit: hide_submit || mismatch_active, submit_label: submit_label, on_change: on_response_change ? handle_response_change : undefined, file_manager: file_manager, radio_accent: config.response_radio_accent, submit_bg: config.submit_bg, response_validation: response_validation, file_validations: file_validation, on_validation_click: on_validation_click, file_validation_details: file_validation_details, file_pipeline_status: file_pipeline_status }), (pending_check || resolver_running) && (_jsx("div", { className: "mt-3", children: resolver_running && !pending_check ? (_jsx(ResolutionStatusStrip, { check: {
|
|
153
|
+
passed: false,
|
|
154
|
+
delta: 0,
|
|
155
|
+
sum_actual: 0,
|
|
156
|
+
sum_expected: 0,
|
|
157
|
+
file_notes: {},
|
|
158
|
+
summary: 'Checking response against expected total…',
|
|
159
|
+
ran_at: new Date().toISOString(),
|
|
160
|
+
}, loading: true })) : pending_check ? (_jsx(ResolutionStatusStrip, { check: pending_check, loading: resolver_running })) : null })), mismatch_active && resolution_mismatch_options && resolution_mismatch_options.length > 0 && (_jsxs("div", { className: "mt-3 rounded-lg border border-amber-200 bg-amber-50/50 p-3 dark:border-amber-900/40 dark:bg-amber-950/20", children: [_jsx("p", { className: "text-[10px] font-bold uppercase tracking-[0.08em] text-amber-700 dark:text-amber-300 mb-2", children: "How would you like to proceed?" }), _jsx(ClarificationResponseForm, { response_options: resolution_mismatch_options, read_only: read_only, on_submit: handle_mismatch_submit, file_manager: file_manager, radio_accent: "accent-amber-600", submit_bg: "bg-amber-600 hover:bg-amber-700", submit_label: "Send response" })] }))] }) }))] }));
|
|
53
161
|
});
|
|
54
162
|
/** Action buttons (Resolve / Dismiss / Re-open) — extracted to reduce duplication */
|
|
55
163
|
function ActionButtons({ item, is_closed, on_resolve, on_dismiss, on_reopen, }) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clarification_item_body.js","sourceRoot":"","sources":["../../../src/components/clarification/clarification_item_body.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,YAAY,CAAC;;AAEb,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"clarification_item_body.js","sourceRoot":"","sources":["../../../src/components/clarification/clarification_item_body.tsx"],"names":[],"mappings":"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"}
|
|
@@ -89,6 +89,6 @@ function ThreadEntry({ entry, response_options, on_file_view, locale = 'en-AU' }
|
|
|
89
89
|
mime_type: f.mime_type ?? 'application/octet-stream',
|
|
90
90
|
visibility: 'public',
|
|
91
91
|
attached_at: '',
|
|
92
|
-
}, on_view: on_file_view ? () => on_file_view(f.file_id, f.file_name) : undefined, max_width: "max-w-full" }, f.file_id))) }))] })] }));
|
|
92
|
+
}, on_view: on_file_view ? () => on_file_view(f.file_id, f.file_name) : undefined, max_width: "max-w-full", info_validations: entry.validations, classification_tags: entry.classification_tags?.map(t => ({ id: t, label: t })) }, f.file_id))) }))] })] }));
|
|
93
93
|
}
|
|
94
94
|
//# sourceMappingURL=clarification_thread.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clarification_thread.js","sourceRoot":"","sources":["../../../src/components/clarification/clarification_thread.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"clarification_thread.js","sourceRoot":"","sources":["../../../src/components/clarification/clarification_thread.tsx"],"names":[],"mappings":"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"}
|
|
@@ -19,6 +19,8 @@ export { ClarificationDocReferenceList } from './clarification_doc_reference.js'
|
|
|
19
19
|
export type { ClarificationDocReferenceListProps } from './clarification_doc_reference.js';
|
|
20
20
|
export { ClarificationResponseForm } from './clarification_response_form.js';
|
|
21
21
|
export type { ClarificationResponseFormProps } from './clarification_response_form.js';
|
|
22
|
+
export { ResolutionStatusStrip } from './resolution_status_strip.js';
|
|
23
|
+
export type { ResolutionStatusStripProps } from './resolution_status_strip.js';
|
|
22
24
|
export { ClarificationDialog } from './clarification_dialog.js';
|
|
23
25
|
export type { ClarificationDialogProps } from './clarification_dialog.js';
|
|
24
26
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/clarification/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,yBAAyB,CAAC;AACjC,YAAY,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAGvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,YAAY,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAEtE,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,YAAY,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAEjF,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,YAAY,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAE/E,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAC3J,YAAY,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAErE,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,YAAY,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AAE5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,YAAY,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAExE,OAAO,EAAE,6BAA6B,EAAE,MAAM,kCAAkC,CAAC;AACjF,YAAY,EAAE,kCAAkC,EAAE,MAAM,kCAAkC,CAAC;AAE3F,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAC7E,YAAY,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAC;AAEvF,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,YAAY,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/clarification/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,yBAAyB,CAAC;AACjC,YAAY,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAGvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,YAAY,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAEtE,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,YAAY,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAEjF,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,YAAY,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAE/E,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAC3J,YAAY,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAErE,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,YAAY,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AAE5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,YAAY,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAExE,OAAO,EAAE,6BAA6B,EAAE,MAAM,kCAAkC,CAAC;AACjF,YAAY,EAAE,kCAAkC,EAAE,MAAM,kCAAkC,CAAC;AAE3F,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAC7E,YAAY,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAC;AAEvF,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,YAAY,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAE/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,YAAY,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC"}
|
|
@@ -12,5 +12,6 @@ export { ClarificationSection } from './clarification_section.js';
|
|
|
12
12
|
export { ClarificationBadge } from './clarification_badge.js';
|
|
13
13
|
export { ClarificationDocReferenceList } from './clarification_doc_reference.js';
|
|
14
14
|
export { ClarificationResponseForm } from './clarification_response_form.js';
|
|
15
|
+
export { ResolutionStatusStrip } from './resolution_status_strip.js';
|
|
15
16
|
export { ClarificationDialog } from './clarification_dialog.js';
|
|
16
17
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/clarification/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO;AACP,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,yBAAyB,CAAC;AAGjC,aAAa;AACb,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAG5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAGvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAGrE,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAG3J,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAGlE,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAG9D,OAAO,EAAE,6BAA6B,EAAE,MAAM,kCAAkC,CAAC;AAGjF,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAG7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/clarification/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO;AACP,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,yBAAyB,CAAC;AAGjC,aAAa;AACb,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAG5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAGvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAGrE,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAG3J,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAGlE,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAG9D,OAAO,EAAE,6BAA6B,EAAE,MAAM,kCAAkC,CAAC;AAGjF,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAG7E,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAGrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ResolutionStatusStrip — compact pass/fail banner for an aggregate resolver
|
|
3
|
+
* (sum_match, etc.). Renders below the response file list so client and agent
|
|
4
|
+
* see the same verdict.
|
|
5
|
+
*/
|
|
6
|
+
import type { ResolutionCheck } from '../../types/fb_form_data.js';
|
|
7
|
+
export interface ResolutionStatusStripProps {
|
|
8
|
+
check: ResolutionCheck;
|
|
9
|
+
/** Optional file_id → file_name map so per-file notes can show readable names. */
|
|
10
|
+
file_names?: Record<string, string>;
|
|
11
|
+
/** When true, hides the "Re-evaluate" or other action affordances. Used on the agent's read-only view. */
|
|
12
|
+
read_only?: boolean;
|
|
13
|
+
/** Spinner state — overrides icon when true. */
|
|
14
|
+
loading?: boolean;
|
|
15
|
+
className?: string;
|
|
16
|
+
}
|
|
17
|
+
export declare function ResolutionStatusStrip({ check, file_names, read_only, loading, className, }: ResolutionStatusStripProps): import("react/jsx-runtime").JSX.Element;
|
|
18
|
+
//# sourceMappingURL=resolution_status_strip.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolution_status_strip.d.ts","sourceRoot":"","sources":["../../../src/components/clarification/resolution_status_strip.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAGnE,MAAM,WAAW,0BAA0B;IACzC,KAAK,EAAE,eAAe,CAAC;IACvB,kFAAkF;IAClF,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,0GAA0G;IAC1G,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,gDAAgD;IAChD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,qBAAqB,CAAC,EACpC,KAAK,EACL,UAAU,EACV,SAAS,EACT,OAAO,EACP,SAAS,GACV,EAAE,0BAA0B,2CAqC5B"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ResolutionStatusStrip — compact pass/fail banner for an aggregate resolver
|
|
3
|
+
* (sum_match, etc.). Renders below the response file list so client and agent
|
|
4
|
+
* see the same verdict.
|
|
5
|
+
*/
|
|
6
|
+
'use client';
|
|
7
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
8
|
+
import { IoCheckmarkCircle, IoAlertCircle } from 'react-icons/io5';
|
|
9
|
+
import { cn } from '../../utils/cn.js';
|
|
10
|
+
export function ResolutionStatusStrip({ check, file_names, read_only, loading, className, }) {
|
|
11
|
+
const passed = check.passed;
|
|
12
|
+
const Icon = passed ? IoCheckmarkCircle : IoAlertCircle;
|
|
13
|
+
const tone = passed
|
|
14
|
+
? 'border-emerald-200 bg-emerald-50 text-emerald-900 dark:border-emerald-900/40 dark:bg-emerald-950/30 dark:text-emerald-200'
|
|
15
|
+
: 'border-amber-200 bg-amber-50 text-amber-900 dark:border-amber-900/40 dark:bg-amber-950/30 dark:text-amber-200';
|
|
16
|
+
const icon_color = passed ? 'text-emerald-600' : 'text-amber-600';
|
|
17
|
+
const file_note_entries = Object.entries(check.file_notes ?? {});
|
|
18
|
+
return (_jsx("div", { className: cn('cls_resolution_status_strip rounded-md border px-3 py-2 text-sm', tone, className), "data-passed": passed, children: _jsxs("div", { className: "flex items-start gap-2", children: [loading ? (_jsxs("svg", { className: "h-4 w-4 mt-0.5 animate-spin", xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", children: [_jsx("circle", { className: "opacity-25", cx: "12", cy: "12", r: "10", stroke: "currentColor", strokeWidth: "4" }), _jsx("path", { className: "opacity-75", fill: "currentColor", d: "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z" })] })) : (_jsx(Icon, { className: cn('h-4 w-4 mt-0.5 flex-shrink-0', icon_color) })), _jsxs("div", { className: "flex-1 min-w-0", children: [_jsx("p", { className: "font-medium leading-snug", children: check.summary }), file_note_entries.length > 0 && (_jsx("ul", { className: "mt-1.5 space-y-0.5 text-xs", children: file_note_entries.map(([file_id, note]) => (_jsxs("li", { className: "flex gap-1.5", children: [_jsxs("span", { className: "font-medium opacity-80", children: [file_names?.[file_id] ?? file_id, ":"] }), _jsx("span", { className: "opacity-90", children: note })] }, file_id))) }))] })] }) }));
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=resolution_status_strip.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolution_status_strip.js","sourceRoot":"","sources":["../../../src/components/clarification/resolution_status_strip.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,YAAY,CAAC;;AAGb,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEnE,OAAO,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAC;AAavC,MAAM,UAAU,qBAAqB,CAAC,EACpC,KAAK,EACL,UAAU,EACV,SAAS,EACT,OAAO,EACP,SAAS,GACkB;IAC3B,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAC5B,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,aAAa,CAAC;IACxD,MAAM,IAAI,GAAG,MAAM;QACjB,CAAC,CAAC,2HAA2H;QAC7H,CAAC,CAAC,+GAA+G,CAAC;IACpH,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,gBAAgB,CAAC;IAElE,MAAM,iBAAiB,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;IAEjE,OAAO,CACL,cAAK,SAAS,EAAE,EAAE,CAAC,iEAAiE,EAAE,IAAI,EAAE,SAAS,CAAC,iBAAe,MAAM,YACzH,eAAK,SAAS,EAAC,wBAAwB,aACpC,OAAO,CAAC,CAAC,CAAC,CACT,eAAK,SAAS,EAAC,6BAA6B,EAAC,KAAK,EAAC,4BAA4B,EAAC,IAAI,EAAC,MAAM,EAAC,OAAO,EAAC,WAAW,aAC7G,iBAAQ,SAAS,EAAC,YAAY,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,CAAC,EAAC,IAAI,EAAC,MAAM,EAAC,cAAc,EAAC,WAAW,EAAC,GAAG,GAAG,EAC9F,eAAM,SAAS,EAAC,YAAY,EAAC,IAAI,EAAC,cAAc,EAAC,CAAC,EAAC,iHAAiH,GAAG,IACnK,CACP,CAAC,CAAC,CAAC,CACF,KAAC,IAAI,IAAC,SAAS,EAAE,EAAE,CAAC,8BAA8B,EAAE,UAAU,CAAC,GAAI,CACpE,EACD,eAAK,SAAS,EAAC,gBAAgB,aAC7B,YAAG,SAAS,EAAC,0BAA0B,YAAE,KAAK,CAAC,OAAO,GAAK,EAC1D,iBAAiB,CAAC,MAAM,GAAG,CAAC,IAAI,CAC/B,aAAI,SAAS,EAAC,4BAA4B,YACvC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAC1C,cAAkB,SAAS,EAAC,cAAc,aACxC,gBAAM,SAAS,EAAC,wBAAwB,aAAE,UAAU,EAAE,CAAC,OAAO,CAAC,IAAI,OAAO,SAAS,EACnF,eAAM,SAAS,EAAC,YAAY,YAAE,IAAI,GAAQ,KAFnC,OAAO,CAGX,CACN,CAAC,GACC,CACN,IACG,IACF,GACF,CACP,CAAC;AACJ,CAAC"}
|