hazo_collab_forms 1.9.5 → 2.0.0
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 +49 -0
- package/README.md +416 -0
- package/dist/components/_internal_form_set.d.ts +41 -0
- package/dist/components/_internal_form_set.d.ts.map +1 -1
- package/dist/components/_internal_form_set.js +81 -3
- package/dist/components/_internal_form_set.js.map +1 -1
- package/dist/components/clarification/clarification_badge.d.ts +16 -0
- package/dist/components/clarification/clarification_badge.d.ts.map +1 -0
- package/dist/components/clarification/clarification_badge.js +15 -0
- package/dist/components/clarification/clarification_badge.js.map +1 -0
- package/dist/components/clarification/clarification_card.d.ts +48 -0
- package/dist/components/clarification/clarification_card.d.ts.map +1 -0
- package/dist/components/clarification/clarification_card.js +46 -0
- package/dist/components/clarification/clarification_card.js.map +1 -0
- package/dist/components/clarification/clarification_dialog.d.ts +32 -0
- package/dist/components/clarification/clarification_dialog.d.ts.map +1 -0
- package/dist/components/clarification/clarification_dialog.js +63 -0
- package/dist/components/clarification/clarification_dialog.js.map +1 -0
- package/dist/components/clarification/clarification_doc_reference.d.ts +18 -0
- package/dist/components/clarification/clarification_doc_reference.d.ts.map +1 -0
- package/dist/components/clarification/clarification_doc_reference.js +22 -0
- package/dist/components/clarification/clarification_doc_reference.js.map +1 -0
- package/dist/components/clarification/clarification_response_form.d.ts +32 -0
- package/dist/components/clarification/clarification_response_form.d.ts.map +1 -0
- package/dist/components/clarification/clarification_response_form.js +38 -0
- package/dist/components/clarification/clarification_response_form.js.map +1 -0
- package/dist/components/clarification/clarification_section.d.ts +26 -0
- package/dist/components/clarification/clarification_section.d.ts.map +1 -0
- package/dist/components/clarification/clarification_section.js +46 -0
- package/dist/components/clarification/clarification_section.js.map +1 -0
- package/dist/components/clarification/index.d.ts +18 -0
- package/dist/components/clarification/index.d.ts.map +1 -0
- package/dist/components/clarification/index.js +13 -0
- package/dist/components/clarification/index.js.map +1 -0
- package/dist/components/clarification/use_clarifications.d.ts +49 -0
- package/dist/components/clarification/use_clarifications.d.ts.map +1 -0
- package/dist/components/clarification/use_clarifications.js +160 -0
- package/dist/components/clarification/use_clarifications.js.map +1 -0
- package/dist/components/collab_form_file_upload.d.ts +16 -1
- package/dist/components/collab_form_file_upload.d.ts.map +1 -1
- package/dist/components/collab_form_file_upload.js +44 -10
- package/dist/components/collab_form_file_upload.js.map +1 -1
- package/dist/components/hazo_add_field_dialog/types.d.ts.map +1 -1
- package/dist/components/hazo_add_field_dialog/types.js +28 -0
- package/dist/components/hazo_add_field_dialog/types.js.map +1 -1
- package/dist/components/hazo_collab_form_base.d.ts +32 -2
- package/dist/components/hazo_collab_form_base.d.ts.map +1 -1
- package/dist/components/hazo_collab_form_base.js +11 -5
- package/dist/components/hazo_collab_form_base.js.map +1 -1
- package/dist/components/hazo_collab_form_computed.d.ts +33 -0
- package/dist/components/hazo_collab_form_computed.d.ts.map +1 -0
- package/dist/components/hazo_collab_form_computed.js +42 -0
- package/dist/components/hazo_collab_form_computed.js.map +1 -0
- package/dist/components/hazo_collab_form_currency.d.ts +29 -0
- package/dist/components/hazo_collab_form_currency.d.ts.map +1 -0
- package/dist/components/hazo_collab_form_currency.js +42 -0
- package/dist/components/hazo_collab_form_currency.js.map +1 -0
- package/dist/components/hazo_collab_form_data_table.d.ts +1 -1
- package/dist/components/hazo_collab_form_data_table.d.ts.map +1 -1
- package/dist/components/hazo_collab_form_data_table.js +7 -3
- package/dist/components/hazo_collab_form_data_table.js.map +1 -1
- package/dist/components/hazo_collab_form_group.d.ts +12 -0
- package/dist/components/hazo_collab_form_group.d.ts.map +1 -1
- package/dist/components/hazo_collab_form_group.js +27 -4
- package/dist/components/hazo_collab_form_group.js.map +1 -1
- package/dist/components/hazo_collab_form_masked.d.ts +32 -0
- package/dist/components/hazo_collab_form_masked.d.ts.map +1 -0
- package/dist/components/hazo_collab_form_masked.js +55 -0
- package/dist/components/hazo_collab_form_masked.js.map +1 -0
- package/dist/components/hazo_collab_form_percentage.d.ts +27 -0
- package/dist/components/hazo_collab_form_percentage.d.ts.map +1 -0
- package/dist/components/hazo_collab_form_percentage.js +41 -0
- package/dist/components/hazo_collab_form_percentage.js.map +1 -0
- package/dist/components/hazo_collab_form_static_text.d.ts +26 -0
- package/dist/components/hazo_collab_form_static_text.d.ts.map +1 -0
- package/dist/components/hazo_collab_form_static_text.js +24 -0
- package/dist/components/hazo_collab_form_static_text.js.map +1 -0
- package/dist/components/hazo_collab_form_summary_row.d.ts +41 -0
- package/dist/components/hazo_collab_form_summary_row.d.ts.map +1 -0
- package/dist/components/hazo_collab_form_summary_row.js +35 -0
- package/dist/components/hazo_collab_form_summary_row.js.map +1 -0
- package/dist/components/hazo_collab_form_view/context.d.ts.map +1 -1
- package/dist/components/hazo_collab_form_view/context.js +25 -1
- package/dist/components/hazo_collab_form_view/context.js.map +1 -1
- package/dist/components/hazo_collab_form_view/index.d.ts +1 -1
- package/dist/components/hazo_collab_form_view/index.d.ts.map +1 -1
- package/dist/components/hazo_collab_form_view/index.js +8 -0
- package/dist/components/hazo_collab_form_view/index.js.map +1 -1
- package/dist/components/hazo_collab_form_view/types.d.ts +167 -2
- package/dist/components/hazo_collab_form_view/types.d.ts.map +1 -1
- package/dist/components/hazo_collab_form_view/views/edit_view.d.ts.map +1 -1
- package/dist/components/hazo_collab_form_view/views/edit_view.js +76 -8
- package/dist/components/hazo_collab_form_view/views/edit_view.js.map +1 -1
- package/dist/components/hazo_collab_form_view/views/summary_view.d.ts.map +1 -1
- package/dist/components/hazo_collab_form_view/views/summary_view.js +237 -14
- package/dist/components/hazo_collab_form_view/views/summary_view.js.map +1 -1
- package/dist/components/hazo_data_form/field_renderers/boolean_field.d.ts +6 -0
- package/dist/components/hazo_data_form/field_renderers/boolean_field.d.ts.map +1 -0
- package/dist/components/hazo_data_form/field_renderers/boolean_field.js +9 -0
- package/dist/components/hazo_data_form/field_renderers/boolean_field.js.map +1 -0
- package/dist/components/hazo_data_form/field_renderers/computed_field.d.ts +7 -0
- package/dist/components/hazo_data_form/field_renderers/computed_field.d.ts.map +1 -0
- package/dist/components/hazo_data_form/field_renderers/computed_field.js +34 -0
- package/dist/components/hazo_data_form/field_renderers/computed_field.js.map +1 -0
- package/dist/components/hazo_data_form/field_renderers/currency_field.d.ts +7 -0
- package/dist/components/hazo_data_form/field_renderers/currency_field.d.ts.map +1 -0
- package/dist/components/hazo_data_form/field_renderers/currency_field.js +30 -0
- package/dist/components/hazo_data_form/field_renderers/currency_field.js.map +1 -0
- package/dist/components/hazo_data_form/field_renderers/date_field.d.ts +7 -0
- package/dist/components/hazo_data_form/field_renderers/date_field.d.ts.map +1 -0
- package/dist/components/hazo_data_form/field_renderers/date_field.js +17 -0
- package/dist/components/hazo_data_form/field_renderers/date_field.js.map +1 -0
- package/dist/components/hazo_data_form/field_renderers/email_field.d.ts +6 -0
- package/dist/components/hazo_data_form/field_renderers/email_field.d.ts.map +1 -0
- package/dist/components/hazo_data_form/field_renderers/email_field.js +12 -0
- package/dist/components/hazo_data_form/field_renderers/email_field.js.map +1 -0
- package/dist/components/hazo_data_form/field_renderers/index.d.ts +50 -0
- package/dist/components/hazo_data_form/field_renderers/index.d.ts.map +1 -0
- package/dist/components/hazo_data_form/field_renderers/index.js +95 -0
- package/dist/components/hazo_data_form/field_renderers/index.js.map +1 -0
- package/dist/components/hazo_data_form/field_renderers/masked_field.d.ts +7 -0
- package/dist/components/hazo_data_form/field_renderers/masked_field.d.ts.map +1 -0
- package/dist/components/hazo_data_form/field_renderers/masked_field.js +56 -0
- package/dist/components/hazo_data_form/field_renderers/masked_field.js.map +1 -0
- package/dist/components/hazo_data_form/field_renderers/number_field.d.ts +6 -0
- package/dist/components/hazo_data_form/field_renderers/number_field.d.ts.map +1 -0
- package/dist/components/hazo_data_form/field_renderers/number_field.js +15 -0
- package/dist/components/hazo_data_form/field_renderers/number_field.js.map +1 -0
- package/dist/components/hazo_data_form/field_renderers/option_field.d.ts +6 -0
- package/dist/components/hazo_data_form/field_renderers/option_field.d.ts.map +1 -0
- package/dist/components/hazo_data_form/field_renderers/option_field.js +15 -0
- package/dist/components/hazo_data_form/field_renderers/option_field.js.map +1 -0
- package/dist/components/hazo_data_form/field_renderers/percentage_field.d.ts +7 -0
- package/dist/components/hazo_data_form/field_renderers/percentage_field.d.ts.map +1 -0
- package/dist/components/hazo_data_form/field_renderers/percentage_field.js +22 -0
- package/dist/components/hazo_data_form/field_renderers/percentage_field.js.map +1 -0
- package/dist/components/hazo_data_form/field_renderers/static_text_field.d.ts +7 -0
- package/dist/components/hazo_data_form/field_renderers/static_text_field.d.ts.map +1 -0
- package/dist/components/hazo_data_form/field_renderers/static_text_field.js +11 -0
- package/dist/components/hazo_data_form/field_renderers/static_text_field.js.map +1 -0
- package/dist/components/hazo_data_form/field_renderers/summary_row_field.d.ts +7 -0
- package/dist/components/hazo_data_form/field_renderers/summary_row_field.d.ts.map +1 -0
- package/dist/components/hazo_data_form/field_renderers/summary_row_field.js +20 -0
- package/dist/components/hazo_data_form/field_renderers/summary_row_field.js.map +1 -0
- package/dist/components/hazo_data_form/field_renderers/table_field.d.ts +7 -0
- package/dist/components/hazo_data_form/field_renderers/table_field.d.ts.map +1 -0
- package/dist/components/hazo_data_form/field_renderers/table_field.js +179 -0
- package/dist/components/hazo_data_form/field_renderers/table_field.js.map +1 -0
- package/dist/components/hazo_data_form/field_renderers/tel_field.d.ts +6 -0
- package/dist/components/hazo_data_form/field_renderers/tel_field.d.ts.map +1 -0
- package/dist/components/hazo_data_form/field_renderers/tel_field.js +12 -0
- package/dist/components/hazo_data_form/field_renderers/tel_field.js.map +1 -0
- package/dist/components/hazo_data_form/field_renderers/text_field.d.ts +6 -0
- package/dist/components/hazo_data_form/field_renderers/text_field.d.ts.map +1 -0
- package/dist/components/hazo_data_form/field_renderers/text_field.js +12 -0
- package/dist/components/hazo_data_form/field_renderers/text_field.js.map +1 -0
- package/dist/components/hazo_data_form/field_renderers/textarea_field.d.ts +6 -0
- package/dist/components/hazo_data_form/field_renderers/textarea_field.d.ts.map +1 -0
- package/dist/components/hazo_data_form/field_renderers/textarea_field.js +12 -0
- package/dist/components/hazo_data_form/field_renderers/textarea_field.js.map +1 -0
- package/dist/components/hazo_data_form/file_manager_button.d.ts +12 -0
- package/dist/components/hazo_data_form/file_manager_button.d.ts.map +1 -0
- package/dist/components/hazo_data_form/file_manager_button.js +9 -0
- package/dist/components/hazo_data_form/file_manager_button.js.map +1 -0
- package/dist/components/hazo_data_form/group_renderer.d.ts +20 -0
- package/dist/components/hazo_data_form/group_renderer.d.ts.map +1 -0
- package/dist/components/hazo_data_form/group_renderer.js +74 -0
- package/dist/components/hazo_data_form/group_renderer.js.map +1 -0
- package/dist/components/hazo_data_form/hazo_data_form.d.ts +10 -0
- package/dist/components/hazo_data_form/hazo_data_form.d.ts.map +1 -0
- package/dist/components/hazo_data_form/hazo_data_form.js +100 -0
- package/dist/components/hazo_data_form/hazo_data_form.js.map +1 -0
- package/dist/components/hazo_data_form/index.d.ts +15 -0
- package/dist/components/hazo_data_form/index.d.ts.map +1 -0
- package/dist/components/hazo_data_form/index.js +14 -0
- package/dist/components/hazo_data_form/index.js.map +1 -0
- package/dist/components/hazo_data_form/section_renderer.d.ts +24 -0
- package/dist/components/hazo_data_form/section_renderer.d.ts.map +1 -0
- package/dist/components/hazo_data_form/section_renderer.js +34 -0
- package/dist/components/hazo_data_form/section_renderer.js.map +1 -0
- package/dist/components/hazo_data_form/shared/data_form_badge.d.ts +13 -0
- package/dist/components/hazo_data_form/shared/data_form_badge.d.ts.map +1 -0
- package/dist/components/hazo_data_form/shared/data_form_badge.js +13 -0
- package/dist/components/hazo_data_form/shared/data_form_badge.js.map +1 -0
- package/dist/components/hazo_data_form/shared/data_form_field_layout.d.ts +17 -0
- package/dist/components/hazo_data_form/shared/data_form_field_layout.d.ts.map +1 -0
- package/dist/components/hazo_data_form/shared/data_form_field_layout.js +31 -0
- package/dist/components/hazo_data_form/shared/data_form_field_layout.js.map +1 -0
- package/dist/components/hazo_data_form/shared/data_form_file_column.d.ts +17 -0
- package/dist/components/hazo_data_form/shared/data_form_file_column.d.ts.map +1 -0
- package/dist/components/hazo_data_form/shared/data_form_file_column.js +46 -0
- package/dist/components/hazo_data_form/shared/data_form_file_column.js.map +1 -0
- package/dist/components/hazo_data_form/shared/data_form_help_tooltip.d.ts +15 -0
- package/dist/components/hazo_data_form/shared/data_form_help_tooltip.d.ts.map +1 -0
- package/dist/components/hazo_data_form/shared/data_form_help_tooltip.js +25 -0
- package/dist/components/hazo_data_form/shared/data_form_help_tooltip.js.map +1 -0
- package/dist/components/hazo_data_form/shared/data_form_label.d.ts +12 -0
- package/dist/components/hazo_data_form/shared/data_form_label.d.ts.map +1 -0
- package/dist/components/hazo_data_form/shared/data_form_label.js +18 -0
- package/dist/components/hazo_data_form/shared/data_form_label.js.map +1 -0
- package/dist/components/hazo_data_form/shared/data_form_reference_value.d.ts +10 -0
- package/dist/components/hazo_data_form/shared/data_form_reference_value.d.ts.map +1 -0
- package/dist/components/hazo_data_form/shared/data_form_reference_value.js +10 -0
- package/dist/components/hazo_data_form/shared/data_form_reference_value.js.map +1 -0
- package/dist/components/hazo_data_form/shared/index.d.ts +16 -0
- package/dist/components/hazo_data_form/shared/index.d.ts.map +1 -0
- package/dist/components/hazo_data_form/shared/index.js +10 -0
- package/dist/components/hazo_data_form/shared/index.js.map +1 -0
- package/dist/components/hazo_data_form/shared/types.d.ts +6 -0
- package/dist/components/hazo_data_form/shared/types.d.ts.map +1 -0
- package/dist/components/hazo_data_form/shared/types.js +5 -0
- package/dist/components/hazo_data_form/shared/types.js.map +1 -0
- package/dist/components/hazo_data_form/types.d.ts +110 -0
- package/dist/components/hazo_data_form/types.d.ts.map +1 -0
- package/dist/components/hazo_data_form/types.js +6 -0
- package/dist/components/hazo_data_form/types.js.map +1 -0
- package/dist/components/hazo_template_generator/components/type_editors/data_table_editor.d.ts.map +1 -1
- package/dist/components/hazo_template_generator/components/type_editors/data_table_editor.js +2 -0
- package/dist/components/hazo_template_generator/components/type_editors/data_table_editor.js.map +1 -1
- package/dist/components/hazo_template_generator/types.d.ts +2 -2
- package/dist/components/hazo_template_generator/types.d.ts.map +1 -1
- package/dist/components/hazo_template_generator/types.js +62 -0
- package/dist/components/hazo_template_generator/types.js.map +1 -1
- package/dist/components/hazo_validation_rule_editor/components/clarification_settings.d.ts +10 -0
- package/dist/components/hazo_validation_rule_editor/components/clarification_settings.d.ts.map +1 -0
- package/dist/components/hazo_validation_rule_editor/components/clarification_settings.js +57 -0
- package/dist/components/hazo_validation_rule_editor/components/clarification_settings.js.map +1 -0
- package/dist/components/hazo_validation_rule_editor/components/prompt_editor.d.ts +11 -0
- package/dist/components/hazo_validation_rule_editor/components/prompt_editor.d.ts.map +1 -0
- package/dist/components/hazo_validation_rule_editor/components/prompt_editor.js +145 -0
- package/dist/components/hazo_validation_rule_editor/components/prompt_editor.js.map +1 -0
- package/dist/components/hazo_validation_rule_editor/components/rule_editor.d.ts +6 -0
- package/dist/components/hazo_validation_rule_editor/components/rule_editor.d.ts.map +1 -0
- package/dist/components/hazo_validation_rule_editor/components/rule_editor.js +149 -0
- package/dist/components/hazo_validation_rule_editor/components/rule_editor.js.map +1 -0
- package/dist/components/hazo_validation_rule_editor/components/rule_list.d.ts +6 -0
- package/dist/components/hazo_validation_rule_editor/components/rule_list.d.ts.map +1 -0
- package/dist/components/hazo_validation_rule_editor/components/rule_list.js +57 -0
- package/dist/components/hazo_validation_rule_editor/components/rule_list.js.map +1 -0
- package/dist/components/hazo_validation_rule_editor/context.d.ts +19 -0
- package/dist/components/hazo_validation_rule_editor/context.d.ts.map +1 -0
- package/dist/components/hazo_validation_rule_editor/context.js +95 -0
- package/dist/components/hazo_validation_rule_editor/context.js.map +1 -0
- package/dist/components/hazo_validation_rule_editor/hooks/use_file_validation.d.ts +20 -0
- package/dist/components/hazo_validation_rule_editor/hooks/use_file_validation.d.ts.map +1 -0
- package/dist/components/hazo_validation_rule_editor/hooks/use_file_validation.js +127 -0
- package/dist/components/hazo_validation_rule_editor/hooks/use_file_validation.js.map +1 -0
- package/dist/components/hazo_validation_rule_editor/hooks/use_validation_rules.d.ts +30 -0
- package/dist/components/hazo_validation_rule_editor/hooks/use_validation_rules.d.ts.map +1 -0
- package/dist/components/hazo_validation_rule_editor/hooks/use_validation_rules.js +216 -0
- package/dist/components/hazo_validation_rule_editor/hooks/use_validation_rules.js.map +1 -0
- package/dist/components/hazo_validation_rule_editor/index.d.ts +14 -0
- package/dist/components/hazo_validation_rule_editor/index.d.ts.map +1 -0
- package/dist/components/hazo_validation_rule_editor/index.js +12 -0
- package/dist/components/hazo_validation_rule_editor/index.js.map +1 -0
- package/dist/components/hazo_validation_rule_editor/types.d.ts +53 -0
- package/dist/components/hazo_validation_rule_editor/types.d.ts.map +1 -0
- package/dist/components/hazo_validation_rule_editor/types.js +5 -0
- package/dist/components/hazo_validation_rule_editor/types.js.map +1 -0
- package/dist/components/hazo_validation_rule_editor/validation_rule_editor.d.ts +3 -0
- package/dist/components/hazo_validation_rule_editor/validation_rule_editor.d.ts.map +1 -0
- package/dist/components/hazo_validation_rule_editor/validation_rule_editor.js +14 -0
- package/dist/components/hazo_validation_rule_editor/validation_rule_editor.js.map +1 -0
- package/dist/components/index.d.ts +30 -2
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +22 -1
- package/dist/components/index.js.map +1 -1
- package/dist/components/shared/field_state/normalize.d.ts.map +1 -1
- package/dist/components/shared/field_state/normalize.js +1 -0
- package/dist/components/shared/field_state/normalize.js.map +1 -1
- package/dist/components/shared/field_state/types.d.ts +6 -0
- package/dist/components/shared/field_state/types.d.ts.map +1 -1
- package/dist/components/shared/field_utils/types.d.ts +1 -1
- package/dist/components/shared/field_utils/types.d.ts.map +1 -1
- package/dist/components/shared/strip_base_props.d.ts.map +1 -1
- package/dist/components/shared/strip_base_props.js +2 -0
- package/dist/components/shared/strip_base_props.js.map +1 -1
- package/dist/components/shared/summary_files/summary_files.d.ts +9 -1
- package/dist/components/shared/summary_files/summary_files.d.ts.map +1 -1
- package/dist/components/shared/summary_files/summary_files.js +11 -5
- package/dist/components/shared/summary_files/summary_files.js.map +1 -1
- package/dist/components/shared/unified_field_controls/types.d.ts +8 -0
- package/dist/components/shared/unified_field_controls/types.d.ts.map +1 -1
- package/dist/components/shared/unified_field_controls/unified_field_controls.d.ts +1 -1
- package/dist/components/shared/unified_field_controls/unified_field_controls.d.ts.map +1 -1
- package/dist/components/shared/unified_field_controls/unified_field_controls.js +3 -2
- package/dist/components/shared/unified_field_controls/unified_field_controls.js.map +1 -1
- package/dist/components/shared/use_base_form_field.d.ts +14 -0
- package/dist/components/shared/use_base_form_field.d.ts.map +1 -1
- package/dist/components/shared/use_base_form_field.js +41 -2
- package/dist/components/shared/use_base_form_field.js.map +1 -1
- package/dist/components/status_badges.d.ts +33 -0
- package/dist/components/status_badges.d.ts.map +1 -1
- package/dist/components/status_badges.js +27 -2
- package/dist/components/status_badges.js.map +1 -1
- package/dist/config/clarification_templates.d.ts +24 -0
- package/dist/config/clarification_templates.d.ts.map +1 -0
- package/dist/config/clarification_templates.js +66 -0
- package/dist/config/clarification_templates.js.map +1 -0
- package/dist/config/defaults.d.ts +4 -0
- package/dist/config/defaults.d.ts.map +1 -1
- package/dist/config/defaults.js +4 -0
- package/dist/config/defaults.js.map +1 -1
- package/dist/config/index.d.ts +3 -1
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +3 -1
- package/dist/config/index.js.map +1 -1
- package/dist/config/validation_rule_commands.d.ts +12 -0
- package/dist/config/validation_rule_commands.d.ts.map +1 -0
- package/dist/config/validation_rule_commands.js +106 -0
- package/dist/config/validation_rule_commands.js.map +1 -0
- package/dist/index.client.d.ts +1 -0
- package/dist/index.client.d.ts.map +1 -1
- package/dist/index.client.js +1 -0
- package/dist/index.client.js.map +1 -1
- package/dist/lib/autofill_handler.d.ts +34 -0
- package/dist/lib/autofill_handler.d.ts.map +1 -0
- package/dist/lib/autofill_handler.js +330 -0
- package/dist/lib/autofill_handler.js.map +1 -0
- package/dist/lib/index.d.ts +9 -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/validation_handler.d.ts +27 -0
- package/dist/lib/validation_handler.d.ts.map +1 -0
- package/dist/lib/validation_handler.js +341 -0
- package/dist/lib/validation_handler.js.map +1 -0
- package/dist/types/clarification.d.ts +126 -0
- package/dist/types/clarification.d.ts.map +1 -0
- package/dist/types/clarification.js +8 -0
- package/dist/types/clarification.js.map +1 -0
- package/dist/types/doc_link.d.ts +42 -0
- package/dist/types/doc_link.d.ts.map +1 -0
- package/dist/types/doc_link.js +5 -0
- package/dist/types/doc_link.js.map +1 -0
- package/dist/types/field_type_definition.d.ts +67 -0
- package/dist/types/field_type_definition.d.ts.map +1 -0
- package/dist/types/field_type_definition.js +41 -0
- package/dist/types/field_type_definition.js.map +1 -0
- package/dist/types/file_attachment.d.ts +2 -0
- package/dist/types/file_attachment.d.ts.map +1 -1
- package/dist/types/file_attachment.js.map +1 -1
- package/dist/types/file_manager.d.ts +36 -0
- package/dist/types/file_manager.d.ts.map +1 -1
- package/dist/types/index.d.ts +8 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +2 -0
- package/dist/types/index.js.map +1 -1
- package/dist/types/style_variant.d.ts +93 -0
- package/dist/types/style_variant.d.ts.map +1 -0
- package/dist/types/style_variant.js +248 -0
- package/dist/types/style_variant.js.map +1 -0
- package/dist/types/validation.d.ts +192 -0
- package/dist/types/validation.d.ts.map +1 -0
- package/dist/types/validation.js +9 -0
- package/dist/types/validation.js.map +1 -0
- package/dist/utils/build_rule_field_map.d.ts +31 -0
- package/dist/utils/build_rule_field_map.d.ts.map +1 -0
- package/dist/utils/build_rule_field_map.js +53 -0
- package/dist/utils/build_rule_field_map.js.map +1 -0
- package/dist/utils/data_form_uploads.d.ts +25 -0
- package/dist/utils/data_form_uploads.d.ts.map +1 -0
- package/dist/utils/data_form_uploads.js +36 -0
- package/dist/utils/data_form_uploads.js.map +1 -0
- package/dist/utils/financial_format.d.ts +12 -0
- package/dist/utils/financial_format.d.ts.map +1 -0
- package/dist/utils/financial_format.js +19 -0
- package/dist/utils/financial_format.js.map +1 -0
- package/dist/utils/formula.d.ts +13 -0
- package/dist/utils/formula.d.ts.map +1 -0
- package/dist/utils/formula.js +104 -0
- package/dist/utils/formula.js.map +1 -0
- package/dist/utils/index.d.ts +11 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +16 -0
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/mask_format.d.ts +20 -0
- package/dist/utils/mask_format.d.ts.map +1 -0
- package/dist/utils/mask_format.js +41 -0
- package/dist/utils/mask_format.js.map +1 -0
- package/dist/utils/slugify.d.ts +10 -0
- package/dist/utils/slugify.d.ts.map +1 -0
- package/dist/utils/slugify.js +17 -0
- package/dist/utils/slugify.js.map +1 -0
- package/dist/utils/style_resolver.d.ts +36 -0
- package/dist/utils/style_resolver.d.ts.map +1 -0
- package/dist/utils/style_resolver.js +160 -0
- package/dist/utils/style_resolver.js.map +1 -0
- package/dist/utils/use_computed_fields.d.ts +14 -0
- package/dist/utils/use_computed_fields.d.ts.map +1 -0
- package/dist/utils/use_computed_fields.js +24 -0
- package/dist/utils/use_computed_fields.js.map +1 -0
- package/package.json +15 -3
- package/templates/config/hazo_collab_forms_config.ini +7 -0
|
@@ -0,0 +1,341 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Server-side validation route handler factory.
|
|
3
|
+
*
|
|
4
|
+
* Creates a POST handler that executes validation rules against uploaded documents
|
|
5
|
+
* using LLM analysis, and returns ClarificationItems for any issues found.
|
|
6
|
+
*
|
|
7
|
+
* Usage:
|
|
8
|
+
* import { create_validation_route } from 'hazo_collab_forms/lib';
|
|
9
|
+
* export const POST = create_validation_route();
|
|
10
|
+
*
|
|
11
|
+
* Uses standard Web API Request/Response for portability.
|
|
12
|
+
* hazo_llm_api is dynamically imported so it's only required at runtime.
|
|
13
|
+
*/
|
|
14
|
+
import 'server-only';
|
|
15
|
+
import { DEFAULT_CLARIFICATION_TEMPLATES } from '../config/clarification_templates.js';
|
|
16
|
+
import { DEFAULT_VALIDATION_PROMPT_SUFFIX } from '../config/defaults.js';
|
|
17
|
+
import { get_config } from './config.js';
|
|
18
|
+
// ============================================================================
|
|
19
|
+
// Helpers
|
|
20
|
+
// ============================================================================
|
|
21
|
+
function generate_clarification_id() {
|
|
22
|
+
return `clr_${Date.now()}_${Math.random().toString(36).substring(2, 9)}`;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Extract has_issue and issue_description from a parsed JSON object.
|
|
26
|
+
* Supports both new format (validation_passed, validation_details) and
|
|
27
|
+
* legacy format (has_issue, issue_description).
|
|
28
|
+
*/
|
|
29
|
+
function extract_validation_fields(parsed) {
|
|
30
|
+
// Determine has_issue: prefer new `validation_passed` (inverted), fall back to legacy `has_issue`
|
|
31
|
+
const has_issue = 'validation_passed' in parsed
|
|
32
|
+
? !parsed.validation_passed
|
|
33
|
+
: !!parsed.has_issue;
|
|
34
|
+
// Determine issue_description: prefer new `validation_details`, fall back to legacy names
|
|
35
|
+
const issue_description = parsed.validation_details ||
|
|
36
|
+
parsed.issue_description ||
|
|
37
|
+
parsed.description ||
|
|
38
|
+
parsed.issue ||
|
|
39
|
+
undefined;
|
|
40
|
+
return {
|
|
41
|
+
has_issue,
|
|
42
|
+
issue_description,
|
|
43
|
+
confidence: typeof parsed.confidence === 'number' ? parsed.confidence : undefined,
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Parse LLM response for validation results.
|
|
48
|
+
* Supports new format: { validation_passed, validation_details, confidence }
|
|
49
|
+
* and legacy format: { has_issue, issue_description, confidence }
|
|
50
|
+
*/
|
|
51
|
+
function parse_validation_response(text) {
|
|
52
|
+
const cleaned = text.trim();
|
|
53
|
+
// Try direct parse
|
|
54
|
+
try {
|
|
55
|
+
const parsed = JSON.parse(cleaned);
|
|
56
|
+
return extract_validation_fields(parsed);
|
|
57
|
+
}
|
|
58
|
+
catch {
|
|
59
|
+
// Continue
|
|
60
|
+
}
|
|
61
|
+
// Strip markdown code fences
|
|
62
|
+
const fence_match = cleaned.match(/```(?:json)?\s*\n?([\s\S]*?)\n?```/);
|
|
63
|
+
if (fence_match) {
|
|
64
|
+
try {
|
|
65
|
+
const parsed = JSON.parse(fence_match[1].trim());
|
|
66
|
+
return extract_validation_fields(parsed);
|
|
67
|
+
}
|
|
68
|
+
catch {
|
|
69
|
+
// Continue
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
// Try to find JSON in text
|
|
73
|
+
const json_match = cleaned.match(/\{[\s\S]*\}/);
|
|
74
|
+
if (json_match) {
|
|
75
|
+
try {
|
|
76
|
+
const parsed = JSON.parse(json_match[0]);
|
|
77
|
+
return extract_validation_fields(parsed);
|
|
78
|
+
}
|
|
79
|
+
catch {
|
|
80
|
+
// Continue
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
// Heuristic: if the text mentions "issue", "problem", "invalid", etc., consider it an issue
|
|
84
|
+
const issue_keywords = ['issue', 'problem', 'invalid', 'missing', 'incomplete', 'error', 'incorrect'];
|
|
85
|
+
const lower = cleaned.toLowerCase();
|
|
86
|
+
const has_issue = issue_keywords.some(k => lower.includes(k));
|
|
87
|
+
return {
|
|
88
|
+
has_issue,
|
|
89
|
+
issue_description: has_issue ? cleaned.slice(0, 500) : undefined,
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
function is_image_mime(mime_type) {
|
|
93
|
+
return mime_type.startsWith('image/');
|
|
94
|
+
}
|
|
95
|
+
function is_document_mime(mime_type) {
|
|
96
|
+
return mime_type === 'application/pdf';
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Substitute {{variable}} placeholders in prompt text.
|
|
100
|
+
*/
|
|
101
|
+
function substitute_variables(prompt, variables) {
|
|
102
|
+
return prompt.replace(/\{\{(\w+)\}\}/g, (_, key) => {
|
|
103
|
+
return variables[key] ?? `{{${key}}}`;
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Build a validation prompt that wraps the rule prompt with a configurable response format suffix.
|
|
108
|
+
* Reads `[validation] prompt_suffix` from INI config, falling back to DEFAULT_VALIDATION_PROMPT_SUFFIX.
|
|
109
|
+
*/
|
|
110
|
+
function build_validation_prompt(rule_prompt) {
|
|
111
|
+
const suffix = get_config('validation', 'prompt_suffix') ?? DEFAULT_VALIDATION_PROMPT_SUFFIX;
|
|
112
|
+
return `You are a document validation assistant. Analyze the provided document according to the following rule and determine if there is an issue.
|
|
113
|
+
|
|
114
|
+
VALIDATION RULE:
|
|
115
|
+
${rule_prompt}
|
|
116
|
+
|
|
117
|
+
${suffix}`;
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Create a ClarificationItem from a validation rule result.
|
|
121
|
+
*/
|
|
122
|
+
function create_clarification_from_result(rule, result, doc_info) {
|
|
123
|
+
const template = rule.clarification_type !== 'none'
|
|
124
|
+
? DEFAULT_CLARIFICATION_TEMPLATES[rule.clarification_type]
|
|
125
|
+
: null;
|
|
126
|
+
const response_options = rule.custom_response_options ??
|
|
127
|
+
template?.response_options ??
|
|
128
|
+
[];
|
|
129
|
+
return {
|
|
130
|
+
id: generate_clarification_id(),
|
|
131
|
+
type: rule.clarification_type,
|
|
132
|
+
status: 'pending',
|
|
133
|
+
target_field_id: rule.target_field_id,
|
|
134
|
+
target_label: rule.target_label,
|
|
135
|
+
rule_name: rule.name,
|
|
136
|
+
rule_id: rule.rule_id,
|
|
137
|
+
issue_description: rule.custom_issue_description ??
|
|
138
|
+
result.issue_description ??
|
|
139
|
+
template?.default_issue_description ??
|
|
140
|
+
'A validation issue was detected.',
|
|
141
|
+
validation_details: result.issue_description,
|
|
142
|
+
doc_references: doc_info ? [{
|
|
143
|
+
file_id: '', // Client enriches with actual file_id
|
|
144
|
+
file_name: doc_info.file_name,
|
|
145
|
+
mime_type: doc_info.mime_type,
|
|
146
|
+
}] : [],
|
|
147
|
+
action_description: rule.custom_action_description ??
|
|
148
|
+
template?.default_action_description,
|
|
149
|
+
response_options,
|
|
150
|
+
response_files: [],
|
|
151
|
+
created_at: new Date().toISOString(),
|
|
152
|
+
};
|
|
153
|
+
}
|
|
154
|
+
// ============================================================================
|
|
155
|
+
// Route Handler Factory
|
|
156
|
+
// ============================================================================
|
|
157
|
+
/**
|
|
158
|
+
* Creates a POST route handler for document validation.
|
|
159
|
+
*
|
|
160
|
+
* The handler:
|
|
161
|
+
* 1. Validates the request payload
|
|
162
|
+
* 2. Fetches the file (inline or from URL)
|
|
163
|
+
* 3. Executes each validation rule against the document via LLM
|
|
164
|
+
* 4. Creates ClarificationItems for rules that find issues
|
|
165
|
+
* 5. Returns the results
|
|
166
|
+
*/
|
|
167
|
+
export function create_validation_route(options) {
|
|
168
|
+
const sqlite_path = options?.sqlite_path ?? 'data/prompt_library.sqlite';
|
|
169
|
+
const on_error = options?.on_error ?? ((err, ctx) => console.error(`[validation] ${ctx}:`, err));
|
|
170
|
+
// Cache the dynamic import
|
|
171
|
+
let llm_api_module = null;
|
|
172
|
+
let init_promise = null;
|
|
173
|
+
async function get_llm_api() {
|
|
174
|
+
if (!llm_api_module) {
|
|
175
|
+
try {
|
|
176
|
+
const module_id = 'hazo_llm_api/server';
|
|
177
|
+
llm_api_module = await import(/* webpackIgnore: true */ module_id);
|
|
178
|
+
}
|
|
179
|
+
catch {
|
|
180
|
+
throw new Error('hazo_llm_api is required for validation. Install it: npm install hazo_llm_api');
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
return llm_api_module;
|
|
184
|
+
}
|
|
185
|
+
async function ensure_initialized() {
|
|
186
|
+
const api = await get_llm_api();
|
|
187
|
+
if (!api.is_initialized()) {
|
|
188
|
+
if (!init_promise) {
|
|
189
|
+
init_promise = api.initialize_llm_api({ sqlite_path }).then(() => { });
|
|
190
|
+
}
|
|
191
|
+
await init_promise;
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
/**
|
|
195
|
+
* Execute a single validation rule against a document.
|
|
196
|
+
*/
|
|
197
|
+
async function execute_rule(rule, file_b64, mime_type, variables) {
|
|
198
|
+
const api = await get_llm_api();
|
|
199
|
+
// Substitute variables in the prompt
|
|
200
|
+
const resolved_prompt = substitute_variables(rule.prompt, variables);
|
|
201
|
+
const full_prompt = build_validation_prompt(resolved_prompt);
|
|
202
|
+
// Call LLM
|
|
203
|
+
let llm_response;
|
|
204
|
+
if (is_image_mime(mime_type)) {
|
|
205
|
+
llm_response = await api.hazo_llm_image_text({
|
|
206
|
+
prompt: full_prompt,
|
|
207
|
+
image_b64: file_b64,
|
|
208
|
+
image_mime_type: mime_type,
|
|
209
|
+
});
|
|
210
|
+
}
|
|
211
|
+
else if (is_document_mime(mime_type)) {
|
|
212
|
+
llm_response = await api.hazo_llm_document_text({
|
|
213
|
+
prompt: full_prompt,
|
|
214
|
+
document_b64: file_b64,
|
|
215
|
+
document_mime_type: mime_type,
|
|
216
|
+
});
|
|
217
|
+
}
|
|
218
|
+
else {
|
|
219
|
+
// Fallback: treat as image
|
|
220
|
+
llm_response = await api.hazo_llm_image_text({
|
|
221
|
+
prompt: full_prompt,
|
|
222
|
+
image_b64: file_b64,
|
|
223
|
+
image_mime_type: mime_type,
|
|
224
|
+
});
|
|
225
|
+
}
|
|
226
|
+
if (!llm_response.success || !llm_response.text) {
|
|
227
|
+
return {
|
|
228
|
+
rule_id: rule.rule_id,
|
|
229
|
+
has_issue: false,
|
|
230
|
+
raw_response: llm_response.error ?? 'LLM call failed',
|
|
231
|
+
};
|
|
232
|
+
}
|
|
233
|
+
// Parse response
|
|
234
|
+
const parsed = parse_validation_response(llm_response.text);
|
|
235
|
+
return {
|
|
236
|
+
rule_id: rule.rule_id,
|
|
237
|
+
has_issue: parsed.has_issue,
|
|
238
|
+
issue_description: parsed.issue_description,
|
|
239
|
+
confidence: parsed.confidence,
|
|
240
|
+
raw_response: llm_response.text,
|
|
241
|
+
};
|
|
242
|
+
}
|
|
243
|
+
return async function POST(request) {
|
|
244
|
+
try {
|
|
245
|
+
const body = await request.json();
|
|
246
|
+
const { file_name, mime_type, download_url, file_b64: request_file_b64, rules, variables = {}, content_tag, } = body;
|
|
247
|
+
// Validate required fields
|
|
248
|
+
if (!rules?.length) {
|
|
249
|
+
return Response.json({
|
|
250
|
+
success: false,
|
|
251
|
+
clarifications: [],
|
|
252
|
+
rule_results: [],
|
|
253
|
+
errors: [{ rule_id: '', error: 'rules array is required and must not be empty' }],
|
|
254
|
+
}, { status: 400 });
|
|
255
|
+
}
|
|
256
|
+
// Initialize LLM API
|
|
257
|
+
await ensure_initialized();
|
|
258
|
+
// Get file as base64
|
|
259
|
+
let file_b64;
|
|
260
|
+
if (request_file_b64) {
|
|
261
|
+
file_b64 = request_file_b64;
|
|
262
|
+
}
|
|
263
|
+
else if (download_url) {
|
|
264
|
+
try {
|
|
265
|
+
const absolute_url = download_url.startsWith('http')
|
|
266
|
+
? download_url
|
|
267
|
+
: `${new URL(request.url).origin}${download_url}`;
|
|
268
|
+
const file_response = await fetch(absolute_url);
|
|
269
|
+
if (!file_response.ok) {
|
|
270
|
+
throw new Error(`Failed to fetch file: ${file_response.status}`);
|
|
271
|
+
}
|
|
272
|
+
const buffer = Buffer.from(await file_response.arrayBuffer());
|
|
273
|
+
file_b64 = buffer.toString('base64');
|
|
274
|
+
}
|
|
275
|
+
catch (err) {
|
|
276
|
+
return Response.json({
|
|
277
|
+
success: false,
|
|
278
|
+
clarifications: [],
|
|
279
|
+
rule_results: [],
|
|
280
|
+
errors: [{ rule_id: '', error: `Failed to fetch file "${file_name}": ${err instanceof Error ? err.message : 'Unknown error'}` }],
|
|
281
|
+
}, { status: 500 });
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
else {
|
|
285
|
+
return Response.json({
|
|
286
|
+
success: false,
|
|
287
|
+
clarifications: [],
|
|
288
|
+
rule_results: [],
|
|
289
|
+
errors: [{ rule_id: '', error: 'Either file_b64 or download_url is required' }],
|
|
290
|
+
}, { status: 400 });
|
|
291
|
+
}
|
|
292
|
+
// Add file context variables
|
|
293
|
+
const all_variables = {
|
|
294
|
+
...variables,
|
|
295
|
+
document_name: file_name,
|
|
296
|
+
...(content_tag ? { document_type: content_tag } : {}),
|
|
297
|
+
};
|
|
298
|
+
// Execute each rule
|
|
299
|
+
const rule_results = [];
|
|
300
|
+
const clarifications = [];
|
|
301
|
+
const errors = [];
|
|
302
|
+
for (const rule of rules) {
|
|
303
|
+
try {
|
|
304
|
+
const result = await execute_rule(rule, file_b64, mime_type, all_variables);
|
|
305
|
+
rule_results.push(result);
|
|
306
|
+
if (result.has_issue && rule.clarification_type !== 'none') {
|
|
307
|
+
const clarification = create_clarification_from_result(rule, result, { file_name, mime_type });
|
|
308
|
+
clarifications.push(clarification);
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
catch (err) {
|
|
312
|
+
const message = err instanceof Error ? err.message : 'Unknown error';
|
|
313
|
+
on_error(err, `rule ${rule.rule_id}: ${rule.name}`);
|
|
314
|
+
errors.push({ rule_id: rule.rule_id, error: message });
|
|
315
|
+
rule_results.push({
|
|
316
|
+
rule_id: rule.rule_id,
|
|
317
|
+
has_issue: false,
|
|
318
|
+
raw_response: message,
|
|
319
|
+
});
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
const response = {
|
|
323
|
+
success: errors.length === 0,
|
|
324
|
+
clarifications,
|
|
325
|
+
rule_results,
|
|
326
|
+
...(errors.length > 0 ? { errors } : {}),
|
|
327
|
+
};
|
|
328
|
+
return Response.json(response);
|
|
329
|
+
}
|
|
330
|
+
catch (error) {
|
|
331
|
+
on_error(error, 'unhandled error');
|
|
332
|
+
return Response.json({
|
|
333
|
+
success: false,
|
|
334
|
+
clarifications: [],
|
|
335
|
+
rule_results: [],
|
|
336
|
+
errors: [{ rule_id: '', error: error instanceof Error ? error.message : 'Unknown error' }],
|
|
337
|
+
}, { status: 500 });
|
|
338
|
+
}
|
|
339
|
+
};
|
|
340
|
+
}
|
|
341
|
+
//# sourceMappingURL=validation_handler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation_handler.js","sourceRoot":"","sources":["../../src/lib/validation_handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Type definitions for Document Clarifications feature.
|
|
3
|
+
*
|
|
4
|
+
* Clarifications allow reviewers to flag document validation issues,
|
|
5
|
+
* reference relevant documents, and collect structured responses from clients.
|
|
6
|
+
*/
|
|
7
|
+
import type { FormFileAttachment } from './file_attachment.js';
|
|
8
|
+
/** Clarification type - maps to templates */
|
|
9
|
+
export type ClarificationType = 'none' | 'invalid_document' | 'additional_info_required';
|
|
10
|
+
/** Lifecycle status of a clarification */
|
|
11
|
+
export type ClarificationStatus = 'pending' | 'responded' | 'resolved' | 'dismissed';
|
|
12
|
+
/** Reference to a document relevant to the clarification */
|
|
13
|
+
export interface ClarificationDocReference {
|
|
14
|
+
/** hazo_files file ID */
|
|
15
|
+
file_id: string;
|
|
16
|
+
/** Display filename */
|
|
17
|
+
file_name: string;
|
|
18
|
+
/** MIME type for icon display */
|
|
19
|
+
mime_type: string;
|
|
20
|
+
/** Why this doc is referenced (optional reviewer comment) */
|
|
21
|
+
comment?: string;
|
|
22
|
+
/** Field this doc was originally uploaded to */
|
|
23
|
+
source_field_id?: string;
|
|
24
|
+
}
|
|
25
|
+
/** A radio option in the response (green) zone */
|
|
26
|
+
export interface ClarificationResponseOption {
|
|
27
|
+
/** Value key for this option */
|
|
28
|
+
value: string;
|
|
29
|
+
/** User-visible label */
|
|
30
|
+
label: string;
|
|
31
|
+
/** Show file upload dropzone when this option is selected */
|
|
32
|
+
shows_file_upload?: boolean;
|
|
33
|
+
/** Show additional text input when this option is selected */
|
|
34
|
+
shows_additional_input?: boolean;
|
|
35
|
+
}
|
|
36
|
+
/** A single clarification item */
|
|
37
|
+
export interface ClarificationItem {
|
|
38
|
+
/** Unique ID, prefixed 'clr_' */
|
|
39
|
+
id: string;
|
|
40
|
+
/** Clarification type (maps to template) */
|
|
41
|
+
type: ClarificationType;
|
|
42
|
+
/** Lifecycle status */
|
|
43
|
+
status: ClarificationStatus;
|
|
44
|
+
/** Field or group this clarification targets */
|
|
45
|
+
target_field_id: string;
|
|
46
|
+
/** Human-readable label for the target */
|
|
47
|
+
target_label: string;
|
|
48
|
+
/** Validation rule that triggered this (Phase 3) */
|
|
49
|
+
rule_name?: string;
|
|
50
|
+
/** Validation rule ID (Phase 3) */
|
|
51
|
+
rule_id?: string;
|
|
52
|
+
/** Description of the issue found */
|
|
53
|
+
issue_description: string;
|
|
54
|
+
/** Detailed validation result from LLM analysis (shown below issue_description) */
|
|
55
|
+
validation_details?: string;
|
|
56
|
+
/** Referenced documents relevant to this clarification */
|
|
57
|
+
doc_references: ClarificationDocReference[];
|
|
58
|
+
/** Description of what action the client should take */
|
|
59
|
+
action_description?: string;
|
|
60
|
+
/** Available response options (radio buttons) */
|
|
61
|
+
response_options: ClarificationResponseOption[];
|
|
62
|
+
/** Client's selected response option value */
|
|
63
|
+
response_choice?: string;
|
|
64
|
+
/** Client's free-text comment */
|
|
65
|
+
user_comment?: string;
|
|
66
|
+
/** Files uploaded as part of the response */
|
|
67
|
+
response_files: FormFileAttachment[];
|
|
68
|
+
/** ISO timestamp when created */
|
|
69
|
+
created_at: string;
|
|
70
|
+
/** ISO timestamp of last update */
|
|
71
|
+
updated_at?: string;
|
|
72
|
+
/** User ID who created this clarification */
|
|
73
|
+
created_by?: string;
|
|
74
|
+
/** User ID who responded */
|
|
75
|
+
responded_by?: string;
|
|
76
|
+
/** User ID who resolved */
|
|
77
|
+
resolved_by?: string;
|
|
78
|
+
}
|
|
79
|
+
/** Template definition for a clarification type */
|
|
80
|
+
export interface ClarificationTemplate {
|
|
81
|
+
/** Template type key */
|
|
82
|
+
type: ClarificationType;
|
|
83
|
+
/** Human-readable name */
|
|
84
|
+
display_name: string;
|
|
85
|
+
/** Default issue description (pre-filled in grey zone) */
|
|
86
|
+
default_issue_description?: string;
|
|
87
|
+
/** Default action description (pre-filled in green zone) */
|
|
88
|
+
default_action_description?: string;
|
|
89
|
+
/** Available response options for this template */
|
|
90
|
+
response_options: ClarificationResponseOption[];
|
|
91
|
+
/** Whether to show the comment textarea */
|
|
92
|
+
enable_comment: boolean;
|
|
93
|
+
/** Whether to show doc reference list */
|
|
94
|
+
show_doc_references: boolean;
|
|
95
|
+
}
|
|
96
|
+
/** Response payload when a client submits a clarification response */
|
|
97
|
+
export interface ClarificationResponse {
|
|
98
|
+
/** Selected response option value */
|
|
99
|
+
response_choice?: string;
|
|
100
|
+
/** Free-text comment */
|
|
101
|
+
user_comment?: string;
|
|
102
|
+
/** Uploaded response files */
|
|
103
|
+
response_files?: FormFileAttachment[];
|
|
104
|
+
}
|
|
105
|
+
/** Consumer-provided callbacks for clarification lifecycle */
|
|
106
|
+
export interface ClarificationCallbacks {
|
|
107
|
+
/** Called when client submits a response to a clarification */
|
|
108
|
+
on_respond?: (clarification_id: string, response: ClarificationResponse) => void;
|
|
109
|
+
/** Called when reviewer resolves a clarification */
|
|
110
|
+
on_resolve?: (clarification_id: string) => void;
|
|
111
|
+
/** Called when reviewer dismisses a clarification */
|
|
112
|
+
on_dismiss?: (clarification_id: string) => void;
|
|
113
|
+
/** Called when reviewer re-opens a resolved/dismissed clarification */
|
|
114
|
+
on_reopen?: (clarification_id: string) => void;
|
|
115
|
+
/** Called when a doc reference is deleted from a clarification */
|
|
116
|
+
on_doc_delete?: (clarification_id: string, file_id: string) => void;
|
|
117
|
+
}
|
|
118
|
+
/** Summary counts for clarifications */
|
|
119
|
+
export interface ClarificationCounts {
|
|
120
|
+
pending: number;
|
|
121
|
+
responded: number;
|
|
122
|
+
resolved: number;
|
|
123
|
+
dismissed: number;
|
|
124
|
+
total: number;
|
|
125
|
+
}
|
|
126
|
+
//# sourceMappingURL=clarification.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clarification.d.ts","sourceRoot":"","sources":["../../src/types/clarification.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Type definitions for Document Clarifications feature.
|
|
3
|
+
*
|
|
4
|
+
* Clarifications allow reviewers to flag document validation issues,
|
|
5
|
+
* reference relevant documents, and collect structured responses from clients.
|
|
6
|
+
*/
|
|
7
|
+
export {};
|
|
8
|
+
//# sourceMappingURL=clarification.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clarification.js","sourceRoot":"","sources":["../../src/types/clarification.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Document link types for file attachment references
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Supported document types for DocLink
|
|
6
|
+
*/
|
|
7
|
+
export type DocLinkType = "pdf" | "image" | "document" | "other";
|
|
8
|
+
/**
|
|
9
|
+
* Document link configuration
|
|
10
|
+
*/
|
|
11
|
+
export interface DocLink {
|
|
12
|
+
/** Document type - determines how it's displayed */
|
|
13
|
+
type: DocLinkType;
|
|
14
|
+
/** URL/path to the document */
|
|
15
|
+
url: string;
|
|
16
|
+
/** Starting page (PDF only) */
|
|
17
|
+
page?: number;
|
|
18
|
+
/** Optional display name */
|
|
19
|
+
filename?: string;
|
|
20
|
+
/** File ID for uploaded files */
|
|
21
|
+
file_id?: string;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Uploaded file metadata for data form file management
|
|
25
|
+
*/
|
|
26
|
+
export interface UploadedFile {
|
|
27
|
+
file_id: string;
|
|
28
|
+
filename: string;
|
|
29
|
+
url: string;
|
|
30
|
+
mime_type: string;
|
|
31
|
+
size: number;
|
|
32
|
+
uploaded_at: string;
|
|
33
|
+
page?: number;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Callback event for doc_links click
|
|
37
|
+
*/
|
|
38
|
+
export interface DocLinkClickEvent {
|
|
39
|
+
field_id: string;
|
|
40
|
+
doc_links: DocLink[];
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=doc_link.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"doc_link.d.ts","sourceRoot":"","sources":["../../src/types/doc_link.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,OAAO,GAAG,UAAU,GAAG,OAAO,CAAC;AAEjE;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB,oDAAoD;IACpD,IAAI,EAAE,WAAW,CAAC;IAClB,+BAA+B;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,+BAA+B;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,4BAA4B;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iCAAiC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,OAAO,EAAE,CAAC;CACtB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"doc_link.js","sourceRoot":"","sources":["../../src/types/doc_link.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Field type definition types for configurable field types
|
|
3
|
+
* Supports custom field types (TFN, ABN, etc.) that map to base renderers
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Base field types - built-in renderers available in the library
|
|
7
|
+
*/
|
|
8
|
+
export type BaseFieldType = "text" | "number" | "date" | "boolean" | "option" | "email" | "tel" | "currency" | "percentage" | "textarea" | "table" | "computed" | "static_text" | "summary_row";
|
|
9
|
+
/**
|
|
10
|
+
* Field type - includes base types and any custom types defined in config
|
|
11
|
+
*/
|
|
12
|
+
export type FieldType = BaseFieldType | string;
|
|
13
|
+
/**
|
|
14
|
+
* Field type definition for configurable field types
|
|
15
|
+
* Loaded from form_field_types.json
|
|
16
|
+
*/
|
|
17
|
+
export interface FieldTypeDefinition {
|
|
18
|
+
/** Which built-in renderer to use */
|
|
19
|
+
base_type: BaseFieldType;
|
|
20
|
+
/** Inherit from another field type definition */
|
|
21
|
+
extends?: string;
|
|
22
|
+
/** Human-readable label for this field type */
|
|
23
|
+
label?: string;
|
|
24
|
+
/** Regex pattern for validation (validates raw/unmasked value) */
|
|
25
|
+
pattern?: string;
|
|
26
|
+
/** Error message when validation fails */
|
|
27
|
+
validation_message?: string;
|
|
28
|
+
/** Display format with X placeholders for digits */
|
|
29
|
+
display_format?: string;
|
|
30
|
+
/** Input mask with # for digit placeholders */
|
|
31
|
+
input_mask?: string;
|
|
32
|
+
/** Default placeholder text */
|
|
33
|
+
placeholder?: string;
|
|
34
|
+
/** Maximum input length (including formatting chars) */
|
|
35
|
+
max_length?: number;
|
|
36
|
+
/** Number of digits (without formatting) */
|
|
37
|
+
digit_count?: number;
|
|
38
|
+
/** HTML inputmode attribute for mobile keyboards */
|
|
39
|
+
input_mode?: "text" | "numeric" | "tel" | "email" | "url" | "decimal";
|
|
40
|
+
/** Prefix to display before value */
|
|
41
|
+
prefix?: string;
|
|
42
|
+
/** Suffix to display after value */
|
|
43
|
+
suffix?: string;
|
|
44
|
+
/** Style class to apply from form_styles.json */
|
|
45
|
+
style_class?: string;
|
|
46
|
+
/** Default decimal places for numeric types */
|
|
47
|
+
decimal_places?: number;
|
|
48
|
+
/** Minimum value for numeric types */
|
|
49
|
+
min?: number;
|
|
50
|
+
/** Maximum value for numeric types */
|
|
51
|
+
max?: number;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Field types configuration loaded from form_field_types.json
|
|
55
|
+
*/
|
|
56
|
+
export interface FieldTypesConfig {
|
|
57
|
+
meta?: {
|
|
58
|
+
version?: string;
|
|
59
|
+
description?: string;
|
|
60
|
+
};
|
|
61
|
+
field_types: Record<string, FieldTypeDefinition>;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Default field types configuration
|
|
65
|
+
*/
|
|
66
|
+
export declare const DEFAULT_FIELD_TYPES_CONFIG: FieldTypesConfig;
|
|
67
|
+
//# sourceMappingURL=field_type_definition.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"field_type_definition.d.ts","sourceRoot":"","sources":["../../src/types/field_type_definition.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,MAAM,MAAM,aAAa,GACrB,MAAM,GACN,QAAQ,GACR,MAAM,GACN,SAAS,GACT,QAAQ,GACR,OAAO,GACP,KAAK,GACL,UAAU,GACV,YAAY,GACZ,UAAU,GACV,OAAO,GACP,UAAU,GACV,aAAa,GACb,aAAa,CAAC;AAElB;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,aAAa,GAAG,MAAM,CAAC;AAE/C;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,qCAAqC;IACrC,SAAS,EAAE,aAAa,CAAC;IACzB,iDAAiD;IACjD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+CAA+C;IAC/C,KAAK,CAAC,EAAE,MAAM,CAAC;IAGf,kEAAkE;IAClE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,0CAA0C;IAC1C,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAG5B,oDAAoD;IACpD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,+CAA+C;IAC/C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,+BAA+B;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wDAAwD;IACxD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,4CAA4C;IAC5C,WAAW,CAAC,EAAE,MAAM,CAAC;IAGrB,oDAAoD;IACpD,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,KAAK,GAAG,OAAO,GAAG,KAAK,GAAG,SAAS,CAAC;IAGtE,qCAAqC;IACrC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oCAAoC;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iDAAiD;IACjD,WAAW,CAAC,EAAE,MAAM,CAAC;IAGrB,+CAA+C;IAC/C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,sCAAsC;IACtC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,sCAAsC;IACtC,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE;QACL,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;CAClD;AAED;;GAEG;AACH,eAAO,MAAM,0BAA0B,EAAE,gBAgCxC,CAAC"}
|