hazo_collab_forms 2.2.8 → 3.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 +47 -0
- package/dist/components/_internal_form_set.d.ts +17 -0
- package/dist/components/_internal_form_set.d.ts.map +1 -1
- package/dist/components/_internal_form_set.js +38 -9
- package/dist/components/_internal_form_set.js.map +1 -1
- package/dist/components/clarification/clarification_card.d.ts +36 -13
- package/dist/components/clarification/clarification_card.d.ts.map +1 -1
- package/dist/components/clarification/clarification_card.js +12 -32
- package/dist/components/clarification/clarification_card.js.map +1 -1
- package/dist/components/clarification/clarification_dialog.d.ts.map +1 -1
- package/dist/components/clarification/clarification_dialog.js +11 -5
- package/dist/components/clarification/clarification_dialog.js.map +1 -1
- package/dist/components/clarification/clarification_doc_reference.d.ts +6 -0
- package/dist/components/clarification/clarification_doc_reference.d.ts.map +1 -1
- package/dist/components/clarification/clarification_doc_reference.js +20 -11
- package/dist/components/clarification/clarification_doc_reference.js.map +1 -1
- package/dist/components/clarification/clarification_group_card.d.ts +65 -0
- package/dist/components/clarification/clarification_group_card.d.ts.map +1 -0
- package/dist/components/clarification/clarification_group_card.js +84 -0
- package/dist/components/clarification/clarification_group_card.js.map +1 -0
- package/dist/components/clarification/clarification_item_body.d.ts +80 -0
- package/dist/components/clarification/clarification_item_body.d.ts.map +1 -0
- package/dist/components/clarification/clarification_item_body.js +55 -0
- package/dist/components/clarification/clarification_item_body.js.map +1 -0
- package/dist/components/clarification/clarification_response_form.d.ts +25 -1
- package/dist/components/clarification/clarification_response_form.d.ts.map +1 -1
- package/dist/components/clarification/clarification_response_form.js +103 -9
- package/dist/components/clarification/clarification_response_form.js.map +1 -1
- package/dist/components/clarification/clarification_section.d.ts +36 -2
- package/dist/components/clarification/clarification_section.d.ts.map +1 -1
- package/dist/components/clarification/clarification_section.js +55 -19
- package/dist/components/clarification/clarification_section.js.map +1 -1
- package/dist/components/clarification/clarification_status_config.d.ts +57 -0
- package/dist/components/clarification/clarification_status_config.d.ts.map +1 -0
- package/dist/components/clarification/clarification_status_config.js +131 -0
- package/dist/components/clarification/clarification_status_config.js.map +1 -0
- package/dist/components/clarification/index.d.ts +6 -0
- package/dist/components/clarification/index.d.ts.map +1 -1
- package/dist/components/clarification/index.js +3 -0
- package/dist/components/clarification/index.js.map +1 -1
- package/dist/components/collab_form_file_upload.d.ts +3 -1
- package/dist/components/collab_form_file_upload.d.ts.map +1 -1
- package/dist/components/collab_form_file_upload.js +6 -6
- package/dist/components/collab_form_file_upload.js.map +1 -1
- package/dist/components/hazo_add_field_dialog/components/pending_field_item.d.ts +14 -2
- package/dist/components/hazo_add_field_dialog/components/pending_field_item.d.ts.map +1 -1
- package/dist/components/hazo_add_field_dialog/components/pending_field_item.js +11 -9
- package/dist/components/hazo_add_field_dialog/components/pending_field_item.js.map +1 -1
- package/dist/components/hazo_add_field_dialog/components/pending_field_list.d.ts +14 -2
- package/dist/components/hazo_add_field_dialog/components/pending_field_list.d.ts.map +1 -1
- package/dist/components/hazo_add_field_dialog/components/pending_field_list.js +2 -2
- package/dist/components/hazo_add_field_dialog/components/pending_field_list.js.map +1 -1
- package/dist/components/hazo_add_field_dialog/components/question_input.d.ts +6 -1
- package/dist/components/hazo_add_field_dialog/components/question_input.d.ts.map +1 -1
- package/dist/components/hazo_add_field_dialog/components/question_input.js +2 -2
- package/dist/components/hazo_add_field_dialog/components/question_input.js.map +1 -1
- package/dist/components/hazo_add_field_dialog/hazo_add_field_dialog.d.ts +6 -1
- package/dist/components/hazo_add_field_dialog/hazo_add_field_dialog.d.ts.map +1 -1
- package/dist/components/hazo_add_field_dialog/hazo_add_field_dialog.js +67 -17
- package/dist/components/hazo_add_field_dialog/hazo_add_field_dialog.js.map +1 -1
- package/dist/components/hazo_add_field_dialog/index.d.ts +3 -1
- package/dist/components/hazo_add_field_dialog/index.d.ts.map +1 -1
- package/dist/components/hazo_add_field_dialog/index.js +2 -0
- package/dist/components/hazo_add_field_dialog/index.js.map +1 -1
- package/dist/components/hazo_add_field_dialog/options/file_textbox_options.d.ts +31 -0
- package/dist/components/hazo_add_field_dialog/options/file_textbox_options.d.ts.map +1 -0
- package/dist/components/hazo_add_field_dialog/options/file_textbox_options.js +54 -0
- package/dist/components/hazo_add_field_dialog/options/file_textbox_options.js.map +1 -0
- package/dist/components/hazo_add_field_dialog/options/index.d.ts +1 -0
- package/dist/components/hazo_add_field_dialog/options/index.d.ts.map +1 -1
- package/dist/components/hazo_add_field_dialog/options/index.js +1 -0
- package/dist/components/hazo_add_field_dialog/options/index.js.map +1 -1
- package/dist/components/hazo_add_field_dialog/types.d.ts +51 -2
- package/dist/components/hazo_add_field_dialog/types.d.ts.map +1 -1
- package/dist/components/hazo_add_field_dialog/types.js +7 -0
- package/dist/components/hazo_add_field_dialog/types.js.map +1 -1
- package/dist/components/hazo_collab_form_base.d.ts +6 -1
- package/dist/components/hazo_collab_form_base.d.ts.map +1 -1
- package/dist/components/hazo_collab_form_base.js +7 -15
- package/dist/components/hazo_collab_form_base.js.map +1 -1
- package/dist/components/hazo_collab_form_data_table.d.ts.map +1 -1
- package/dist/components/hazo_collab_form_data_table.js +4 -2
- package/dist/components/hazo_collab_form_data_table.js.map +1 -1
- package/dist/components/hazo_collab_form_file_textbox/file_chip.d.ts +37 -0
- package/dist/components/hazo_collab_form_file_textbox/file_chip.d.ts.map +1 -0
- package/dist/components/hazo_collab_form_file_textbox/file_chip.js +45 -0
- package/dist/components/hazo_collab_form_file_textbox/file_chip.js.map +1 -0
- package/dist/components/hazo_collab_form_file_textbox/file_group.d.ts +35 -0
- package/dist/components/hazo_collab_form_file_textbox/file_group.d.ts.map +1 -0
- package/dist/components/hazo_collab_form_file_textbox/file_group.js +54 -0
- package/dist/components/hazo_collab_form_file_textbox/file_group.js.map +1 -0
- package/dist/components/hazo_collab_form_file_textbox/file_textbox_panel.d.ts +46 -0
- package/dist/components/hazo_collab_form_file_textbox/file_textbox_panel.d.ts.map +1 -0
- package/dist/components/hazo_collab_form_file_textbox/file_textbox_panel.js +104 -0
- package/dist/components/hazo_collab_form_file_textbox/file_textbox_panel.js.map +1 -0
- package/dist/components/hazo_collab_form_file_textbox/file_upload_zone.d.ts +20 -0
- package/dist/components/hazo_collab_form_file_textbox/file_upload_zone.d.ts.map +1 -0
- package/dist/components/hazo_collab_form_file_textbox/file_upload_zone.js +14 -0
- package/dist/components/hazo_collab_form_file_textbox/file_upload_zone.js.map +1 -0
- package/dist/components/hazo_collab_form_file_textbox/hazo_collab_form_file_textbox.d.ts +63 -0
- package/dist/components/hazo_collab_form_file_textbox/hazo_collab_form_file_textbox.d.ts.map +1 -0
- package/dist/components/hazo_collab_form_file_textbox/hazo_collab_form_file_textbox.js +226 -0
- package/dist/components/hazo_collab_form_file_textbox/hazo_collab_form_file_textbox.js.map +1 -0
- package/dist/components/hazo_collab_form_file_textbox/index.d.ts +24 -0
- package/dist/components/hazo_collab_form_file_textbox/index.d.ts.map +1 -0
- package/dist/components/hazo_collab_form_file_textbox/index.js +16 -0
- package/dist/components/hazo_collab_form_file_textbox/index.js.map +1 -0
- package/dist/components/hazo_collab_form_file_textbox/tag_pills.d.ts +11 -0
- package/dist/components/hazo_collab_form_file_textbox/tag_pills.d.ts.map +1 -0
- package/dist/components/hazo_collab_form_file_textbox/tag_pills.js +17 -0
- package/dist/components/hazo_collab_form_file_textbox/tag_pills.js.map +1 -0
- package/dist/components/hazo_collab_form_file_textbox/utils.d.ts +14 -0
- package/dist/components/hazo_collab_form_file_textbox/utils.d.ts.map +1 -0
- package/dist/components/hazo_collab_form_file_textbox/utils.js +58 -0
- package/dist/components/hazo_collab_form_file_textbox/utils.js.map +1 -0
- package/dist/components/hazo_collab_form_file_textbox/validation_dialog.d.ts +29 -0
- package/dist/components/hazo_collab_form_file_textbox/validation_dialog.d.ts.map +1 -0
- package/dist/components/hazo_collab_form_file_textbox/validation_dialog.js +182 -0
- package/dist/components/hazo_collab_form_file_textbox/validation_dialog.js.map +1 -0
- package/dist/components/hazo_collab_form_group.d.ts.map +1 -1
- package/dist/components/hazo_collab_form_group.js +2 -2
- package/dist/components/hazo_collab_form_group.js.map +1 -1
- package/dist/components/hazo_collab_form_view/context.d.ts.map +1 -1
- package/dist/components/hazo_collab_form_view/context.js +10 -3
- 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.map +1 -1
- package/dist/components/hazo_collab_form_view/types.d.ts +32 -4
- 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 +4 -2
- 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 +2 -2
- package/dist/components/hazo_collab_form_view/views/summary_view.js.map +1 -1
- package/dist/components/hazo_data_form/hazo_data_form.d.ts.map +1 -1
- package/dist/components/hazo_data_form/hazo_data_form.js +4 -2
- package/dist/components/hazo_data_form/hazo_data_form.js.map +1 -1
- package/dist/components/hazo_data_form/pdf_panel.d.ts.map +1 -1
- package/dist/components/hazo_data_form/pdf_panel.js +7 -2
- package/dist/components/hazo_data_form/pdf_panel.js.map +1 -1
- package/dist/components/hazo_fb_form/components/backoffice_run_button.d.ts +16 -0
- package/dist/components/hazo_fb_form/components/backoffice_run_button.d.ts.map +1 -0
- package/dist/components/hazo_fb_form/components/backoffice_run_button.js +23 -0
- package/dist/components/hazo_fb_form/components/backoffice_run_button.js.map +1 -0
- package/dist/components/hazo_fb_form/components/draft_clarification_card.d.ts +25 -0
- package/dist/components/hazo_fb_form/components/draft_clarification_card.d.ts.map +1 -0
- package/dist/components/hazo_fb_form/components/draft_clarification_card.js +71 -0
- package/dist/components/hazo_fb_form/components/draft_clarification_card.js.map +1 -0
- package/dist/components/hazo_fb_form/components/fb_document_type_editor.d.ts +11 -0
- package/dist/components/hazo_fb_form/components/fb_document_type_editor.d.ts.map +1 -0
- package/dist/components/hazo_fb_form/components/fb_document_type_editor.js +82 -0
- package/dist/components/hazo_fb_form/components/fb_document_type_editor.js.map +1 -0
- package/dist/components/hazo_fb_form/components/fb_tag_editor.d.ts +11 -0
- package/dist/components/hazo_fb_form/components/fb_tag_editor.d.ts.map +1 -0
- package/dist/components/hazo_fb_form/components/fb_tag_editor.js +107 -0
- package/dist/components/hazo_fb_form/components/fb_tag_editor.js.map +1 -0
- package/dist/components/hazo_fb_form/components/front_office_stepper.d.ts +15 -0
- package/dist/components/hazo_fb_form/components/front_office_stepper.d.ts.map +1 -0
- package/dist/components/hazo_fb_form/components/front_office_stepper.js +21 -0
- package/dist/components/hazo_fb_form/components/front_office_stepper.js.map +1 -0
- package/dist/components/hazo_fb_form/components/instance_sidebar.d.ts +21 -0
- package/dist/components/hazo_fb_form/components/instance_sidebar.d.ts.map +1 -0
- package/dist/components/hazo_fb_form/components/instance_sidebar.js +58 -0
- package/dist/components/hazo_fb_form/components/instance_sidebar.js.map +1 -0
- package/dist/components/hazo_fb_form/components/run_button.d.ts +19 -0
- package/dist/components/hazo_fb_form/components/run_button.d.ts.map +1 -0
- package/dist/components/hazo_fb_form/components/run_button.js +38 -0
- package/dist/components/hazo_fb_form/components/run_button.js.map +1 -0
- package/dist/components/hazo_fb_form/components/run_details_dialog.d.ts +17 -0
- package/dist/components/hazo_fb_form/components/run_details_dialog.d.ts.map +1 -0
- package/dist/components/hazo_fb_form/components/run_details_dialog.js +35 -0
- package/dist/components/hazo_fb_form/components/run_details_dialog.js.map +1 -0
- package/dist/components/hazo_fb_form/components/tag_pill.d.ts +15 -0
- package/dist/components/hazo_fb_form/components/tag_pill.d.ts.map +1 -0
- package/dist/components/hazo_fb_form/components/tag_pill.js +15 -0
- package/dist/components/hazo_fb_form/components/tag_pill.js.map +1 -0
- package/dist/components/hazo_fb_form/context.d.ts +90 -0
- package/dist/components/hazo_fb_form/context.d.ts.map +1 -0
- package/dist/components/hazo_fb_form/context.js +13 -0
- package/dist/components/hazo_fb_form/context.js.map +1 -0
- package/dist/components/hazo_fb_form/hazo_fb_form.d.ts +13 -0
- package/dist/components/hazo_fb_form/hazo_fb_form.d.ts.map +1 -0
- package/dist/components/hazo_fb_form/hazo_fb_form.js +401 -0
- package/dist/components/hazo_fb_form/hazo_fb_form.js.map +1 -0
- package/dist/components/hazo_fb_form/hooks/use_fb_form_state.d.ts +45 -0
- package/dist/components/hazo_fb_form/hooks/use_fb_form_state.d.ts.map +1 -0
- package/dist/components/hazo_fb_form/hooks/use_fb_form_state.js +223 -0
- package/dist/components/hazo_fb_form/hooks/use_fb_form_state.js.map +1 -0
- package/dist/components/hazo_fb_form/hooks/use_llm_run.d.ts +46 -0
- package/dist/components/hazo_fb_form/hooks/use_llm_run.d.ts.map +1 -0
- package/dist/components/hazo_fb_form/hooks/use_llm_run.js +1435 -0
- package/dist/components/hazo_fb_form/hooks/use_llm_run.js.map +1 -0
- package/dist/components/hazo_fb_form/index.d.ts +24 -0
- package/dist/components/hazo_fb_form/index.d.ts.map +1 -0
- package/dist/components/hazo_fb_form/index.js +16 -0
- package/dist/components/hazo_fb_form/index.js.map +1 -0
- package/dist/components/hazo_fb_form/shared/clarification_helpers.d.ts +15 -0
- package/dist/components/hazo_fb_form/shared/clarification_helpers.d.ts.map +1 -0
- package/dist/components/hazo_fb_form/shared/clarification_helpers.js +23 -0
- package/dist/components/hazo_fb_form/shared/clarification_helpers.js.map +1 -0
- package/dist/components/hazo_fb_form/shared/file_utils.d.ts +9 -0
- package/dist/components/hazo_fb_form/shared/file_utils.d.ts.map +1 -0
- package/dist/components/hazo_fb_form/shared/file_utils.js +31 -0
- package/dist/components/hazo_fb_form/shared/file_utils.js.map +1 -0
- package/dist/components/hazo_fb_form/shared/format.d.ts +12 -0
- package/dist/components/hazo_fb_form/shared/format.d.ts.map +1 -0
- package/dist/components/hazo_fb_form/shared/format.js +45 -0
- package/dist/components/hazo_fb_form/shared/format.js.map +1 -0
- package/dist/components/hazo_fb_form/shared/index.d.ts +10 -0
- package/dist/components/hazo_fb_form/shared/index.d.ts.map +1 -0
- package/dist/components/hazo_fb_form/shared/index.js +9 -0
- package/dist/components/hazo_fb_form/shared/index.js.map +1 -0
- package/dist/components/hazo_fb_form/shared/pdf_side_panel.d.ts +22 -0
- package/dist/components/hazo_fb_form/shared/pdf_side_panel.d.ts.map +1 -0
- package/dist/components/hazo_fb_form/shared/pdf_side_panel.js +10 -0
- package/dist/components/hazo_fb_form/shared/pdf_side_panel.js.map +1 -0
- package/dist/components/hazo_fb_form/shared/use_pdf_viewer.d.ts +26 -0
- package/dist/components/hazo_fb_form/shared/use_pdf_viewer.d.ts.map +1 -0
- package/dist/components/hazo_fb_form/shared/use_pdf_viewer.js +41 -0
- package/dist/components/hazo_fb_form/shared/use_pdf_viewer.js.map +1 -0
- package/dist/components/hazo_fb_form/types.d.ts +283 -0
- package/dist/components/hazo_fb_form/types.d.ts.map +1 -0
- package/dist/components/hazo_fb_form/types.js +5 -0
- package/dist/components/hazo_fb_form/types.js.map +1 -0
- package/dist/components/hazo_fb_form/views/back_office_view.d.ts +7 -0
- package/dist/components/hazo_fb_form/views/back_office_view.d.ts.map +1 -0
- package/dist/components/hazo_fb_form/views/back_office_view.js +327 -0
- package/dist/components/hazo_fb_form/views/back_office_view.js.map +1 -0
- package/dist/components/hazo_fb_form/views/clarifications_view.d.ts +16 -0
- package/dist/components/hazo_fb_form/views/clarifications_view.d.ts.map +1 -0
- package/dist/components/hazo_fb_form/views/clarifications_view.js +262 -0
- package/dist/components/hazo_fb_form/views/clarifications_view.js.map +1 -0
- package/dist/components/hazo_fb_form/views/front_office_view.d.ts +6 -0
- package/dist/components/hazo_fb_form/views/front_office_view.d.ts.map +1 -0
- package/dist/components/hazo_fb_form/views/front_office_view.js +1097 -0
- package/dist/components/hazo_fb_form/views/front_office_view.js.map +1 -0
- package/dist/components/hazo_fb_form/views/interim_view.d.ts +8 -0
- package/dist/components/hazo_fb_form/views/interim_view.d.ts.map +1 -0
- package/dist/components/hazo_fb_form/views/interim_view.js +416 -0
- package/dist/components/hazo_fb_form/views/interim_view.js.map +1 -0
- package/dist/components/hazo_fb_form/views/summary_review_view.d.ts +15 -0
- package/dist/components/hazo_fb_form/views/summary_review_view.d.ts.map +1 -0
- package/dist/components/hazo_fb_form/views/summary_review_view.js +173 -0
- package/dist/components/hazo_fb_form/views/summary_review_view.js.map +1 -0
- package/dist/components/hazo_field_library/components/template_loader_dialog.d.ts.map +1 -1
- package/dist/components/hazo_field_library/components/template_loader_dialog.js +7 -7
- package/dist/components/hazo_field_library/components/template_loader_dialog.js.map +1 -1
- package/dist/components/hazo_validation_rule_editor/components/clarification_settings.d.ts.map +1 -1
- package/dist/components/hazo_validation_rule_editor/components/clarification_settings.js +29 -2
- package/dist/components/hazo_validation_rule_editor/components/clarification_settings.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 +4 -4
- package/dist/components/hazo_validation_rule_editor/components/rule_editor.js.map +1 -1
- 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 +5 -1
- package/dist/components/hazo_validation_rule_editor/context.js.map +1 -1
- package/dist/components/hazo_validation_rule_editor/hooks/use_file_validation.d.ts.map +1 -1
- package/dist/components/hazo_validation_rule_editor/hooks/use_file_validation.js +23 -7
- package/dist/components/hazo_validation_rule_editor/hooks/use_file_validation.js.map +1 -1
- package/dist/components/hazo_validation_rule_editor/index.d.ts +1 -1
- package/dist/components/hazo_validation_rule_editor/index.d.ts.map +1 -1
- package/dist/components/hazo_validation_rule_editor/index.js.map +1 -1
- package/dist/components/hazo_validation_rule_editor/types.d.ts +10 -0
- 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 +10 -2
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +5 -0
- package/dist/components/index.js.map +1 -1
- package/dist/components/shared/editor_theme/components.d.ts.map +1 -1
- package/dist/components/shared/editor_theme/components.js +35 -3
- package/dist/components/shared/editor_theme/components.js.map +1 -1
- package/dist/components/shared/file_bar/file_bar.d.ts +51 -0
- package/dist/components/shared/file_bar/file_bar.d.ts.map +1 -0
- package/dist/components/shared/file_bar/file_bar.js +91 -0
- package/dist/components/shared/file_bar/file_bar.js.map +1 -0
- package/dist/components/shared/file_bar/file_bar_tag.d.ts +10 -0
- package/dist/components/shared/file_bar/file_bar_tag.d.ts.map +1 -0
- package/dist/components/shared/file_bar/file_bar_tag.js +15 -0
- package/dist/components/shared/file_bar/file_bar_tag.js.map +1 -0
- package/dist/components/shared/file_bar/file_bar_types.d.ts +29 -0
- package/dist/components/shared/file_bar/file_bar_types.d.ts.map +1 -0
- package/dist/components/shared/file_bar/file_bar_types.js +5 -0
- package/dist/components/shared/file_bar/file_bar_types.js.map +1 -0
- package/dist/components/shared/file_bar/file_bar_validation.d.ts +11 -0
- package/dist/components/shared/file_bar/file_bar_validation.d.ts.map +1 -0
- package/dist/components/shared/file_bar/file_bar_validation.js +21 -0
- package/dist/components/shared/file_bar/file_bar_validation.js.map +1 -0
- package/dist/components/shared/file_bar/file_bar_validation_dialog.d.ts +13 -0
- package/dist/components/shared/file_bar/file_bar_validation_dialog.d.ts.map +1 -0
- package/dist/components/shared/file_bar/file_bar_validation_dialog.js +74 -0
- package/dist/components/shared/file_bar/file_bar_validation_dialog.js.map +1 -0
- package/dist/components/shared/file_bar/file_validation_issues_dialog.d.ts +24 -0
- package/dist/components/shared/file_bar/file_validation_issues_dialog.d.ts.map +1 -0
- package/dist/components/shared/file_bar/file_validation_issues_dialog.js +22 -0
- package/dist/components/shared/file_bar/file_validation_issues_dialog.js.map +1 -0
- package/dist/components/shared/file_bar/index.d.ts +13 -0
- package/dist/components/shared/file_bar/index.d.ts.map +1 -0
- package/dist/components/shared/file_bar/index.js +8 -0
- package/dist/components/shared/file_bar/index.js.map +1 -0
- 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 +2 -2
- package/dist/components/shared/summary_files/summary_files.d.ts.map +1 -1
- package/dist/components/shared/summary_files/summary_files.js +31 -72
- package/dist/components/shared/summary_files/summary_files.js.map +1 -1
- package/dist/components/shared/use_base_form_field.d.ts +1 -0
- package/dist/components/shared/use_base_form_field.d.ts.map +1 -1
- package/dist/components/shared/use_base_form_field.js +2 -1
- package/dist/components/shared/use_base_form_field.js.map +1 -1
- package/dist/config/clarification_templates.d.ts.map +1 -1
- package/dist/config/clarification_templates.js +15 -5
- package/dist/config/clarification_templates.js.map +1 -1
- package/dist/lib/autofill_handler.d.ts +42 -23
- package/dist/lib/autofill_handler.d.ts.map +1 -1
- package/dist/lib/autofill_handler.js +74 -197
- package/dist/lib/autofill_handler.js.map +1 -1
- package/dist/lib/fb_form_handler.d.ts +63 -0
- package/dist/lib/fb_form_handler.d.ts.map +1 -0
- package/dist/lib/fb_form_handler.js +232 -0
- package/dist/lib/fb_form_handler.js.map +1 -0
- package/dist/lib/index.d.ts +2 -0
- package/dist/lib/index.d.ts.map +1 -1
- package/dist/lib/index.js +1 -0
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/validation_handler.d.ts.map +1 -1
- package/dist/lib/validation_handler.js +153 -0
- package/dist/lib/validation_handler.js.map +1 -1
- package/dist/types/clarification.d.ts +14 -1
- package/dist/types/clarification.d.ts.map +1 -1
- package/dist/types/fb_form_instance.d.ts +44 -0
- package/dist/types/fb_form_instance.d.ts.map +1 -0
- package/dist/types/fb_form_instance.js +10 -0
- package/dist/types/fb_form_instance.js.map +1 -0
- package/dist/types/file_manager.d.ts +2 -0
- package/dist/types/file_manager.d.ts.map +1 -1
- package/dist/types/file_textbox.d.ts +36 -0
- package/dist/types/file_textbox.d.ts.map +1 -0
- package/dist/types/file_textbox.js +59 -0
- package/dist/types/file_textbox.js.map +1 -0
- package/dist/types/index.d.ts +6 -2
- 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/validation.d.ts +34 -2
- package/dist/types/validation.d.ts.map +1 -1
- package/dist/utils/dev_file_manager.d.ts +12 -0
- package/dist/utils/dev_file_manager.d.ts.map +1 -0
- package/dist/utils/dev_file_manager.js +54 -0
- package/dist/utils/dev_file_manager.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 +8 -0
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/rule_to_execution.d.ts +7 -0
- package/dist/utils/rule_to_execution.d.ts.map +1 -0
- package/dist/utils/rule_to_execution.js +18 -0
- package/dist/utils/rule_to_execution.js.map +1 -0
- package/dist/utils/section_helpers.d.ts +20 -0
- package/dist/utils/section_helpers.d.ts.map +1 -0
- package/dist/utils/section_helpers.js +37 -0
- package/dist/utils/section_helpers.js.map +1 -0
- package/package.json +53 -23
|
@@ -1,17 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Server-side autofill route handler factory.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
4
|
+
* Routes LLM extraction through hazo_files so results are persisted
|
|
5
|
+
* in the hazo_files table (file_data column).
|
|
6
6
|
*
|
|
7
7
|
* import { create_autofill_route } from 'hazo_collab_forms/lib';
|
|
8
|
-
* export const POST = create_autofill_route();
|
|
8
|
+
* export const POST = create_autofill_route({ extraction_service, ... });
|
|
9
9
|
*
|
|
10
10
|
* Uses standard Web API Request/Response for portability (works in Next.js,
|
|
11
11
|
* Deno, Cloudflare Workers, etc.).
|
|
12
|
-
*
|
|
13
|
-
* hazo_llm_api is dynamically imported so it's only required at runtime
|
|
14
|
-
* when the handler is actually called.
|
|
15
12
|
*/
|
|
16
13
|
import 'server-only';
|
|
17
14
|
// ============================================================================
|
|
@@ -66,35 +63,18 @@ function build_field_list_string(fields) {
|
|
|
66
63
|
return desc;
|
|
67
64
|
}).join('\n');
|
|
68
65
|
}
|
|
69
|
-
/**
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
}
|
|
81
|
-
// Strip markdown code fences
|
|
82
|
-
const fence_match = cleaned.match(/```(?:json)?\s*\n?([\s\S]*?)\n?```/);
|
|
83
|
-
if (fence_match) {
|
|
84
|
-
return JSON.parse(fence_match[1].trim());
|
|
85
|
-
}
|
|
86
|
-
// Try to find a JSON object anywhere in the text
|
|
87
|
-
const json_match = cleaned.match(/\{[\s\S]*\}/);
|
|
88
|
-
if (json_match) {
|
|
89
|
-
return JSON.parse(json_match[0]);
|
|
90
|
-
}
|
|
91
|
-
throw new Error('No JSON found in response');
|
|
92
|
-
}
|
|
93
|
-
function is_image_mime(mime_type) {
|
|
94
|
-
return mime_type.startsWith('image/');
|
|
95
|
-
}
|
|
96
|
-
function is_document_mime(mime_type) {
|
|
97
|
-
return mime_type === 'application/pdf';
|
|
66
|
+
/** Check if extraction data is effectively empty (all values null/undefined/empty). */
|
|
67
|
+
function is_empty_data(data) {
|
|
68
|
+
const values = Object.values(data);
|
|
69
|
+
if (values.length === 0)
|
|
70
|
+
return true;
|
|
71
|
+
return values.every((v) => {
|
|
72
|
+
if (v === null || v === undefined || v === '')
|
|
73
|
+
return true;
|
|
74
|
+
if (Array.isArray(v) && v.length === 0)
|
|
75
|
+
return true;
|
|
76
|
+
return false;
|
|
77
|
+
});
|
|
98
78
|
}
|
|
99
79
|
// ============================================================================
|
|
100
80
|
// Route Handler Factory
|
|
@@ -104,46 +84,19 @@ function is_document_mime(mime_type) {
|
|
|
104
84
|
*
|
|
105
85
|
* The handler:
|
|
106
86
|
* 1. Validates request (prompt_area, prompt_key required)
|
|
107
|
-
* 2.
|
|
108
|
-
* 3. Calls
|
|
109
|
-
* 4. Falls back to
|
|
110
|
-
* 5.
|
|
87
|
+
* 2. Resolves file content (inline base64, file_resolver, or download_url)
|
|
88
|
+
* 3. Calls extraction_service.extract() for prompt-based LLM extraction
|
|
89
|
+
* 4. Falls back to a generated default prompt if first attempt fails
|
|
90
|
+
* 5. Persists extraction results to hazo_files via metadata_service
|
|
91
|
+
* 6. Returns extracted data as JSON
|
|
111
92
|
*/
|
|
112
93
|
export function create_autofill_route(options) {
|
|
113
|
-
const
|
|
114
|
-
const
|
|
115
|
-
const on_error = options
|
|
116
|
-
let init_promise = null;
|
|
117
|
-
// Cache the dynamic import
|
|
118
|
-
let llm_api_module = null;
|
|
119
|
-
async function get_llm_api() {
|
|
120
|
-
if (!llm_api_module) {
|
|
121
|
-
try {
|
|
122
|
-
// Use variable to prevent TypeScript from resolving the module at compile time
|
|
123
|
-
const module_id = 'hazo_llm_api/server';
|
|
124
|
-
llm_api_module = await import(/* webpackIgnore: true */ module_id);
|
|
125
|
-
}
|
|
126
|
-
catch (err) {
|
|
127
|
-
throw new Error('hazo_llm_api is required for autofill. Install it: npm install hazo_llm_api');
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
return llm_api_module;
|
|
131
|
-
}
|
|
132
|
-
async function ensure_initialized() {
|
|
133
|
-
const api = await get_llm_api();
|
|
134
|
-
if (!api.is_initialized()) {
|
|
135
|
-
if (!init_promise) {
|
|
136
|
-
const init_config = hazo_connect_adapter
|
|
137
|
-
? { hazo_connect: hazo_connect_adapter }
|
|
138
|
-
: { sqlite_path };
|
|
139
|
-
init_promise = api.initialize_llm_api(init_config).then(() => { });
|
|
140
|
-
}
|
|
141
|
-
await init_promise;
|
|
142
|
-
}
|
|
143
|
-
}
|
|
94
|
+
const { extraction_service, metadata_service } = options;
|
|
95
|
+
const file_resolver = options.file_resolver;
|
|
96
|
+
const on_error = options.on_error ?? ((err, ctx) => console.error(`[autofill] ${ctx}:`, err));
|
|
144
97
|
/**
|
|
145
98
|
* Generate a default extraction prompt from field schemas.
|
|
146
|
-
* Used as fallback when
|
|
99
|
+
* Used as fallback when prompt lookup fails.
|
|
147
100
|
*/
|
|
148
101
|
function generate_default_prompt(fields) {
|
|
149
102
|
const field_list = build_field_list_string(fields);
|
|
@@ -167,29 +120,30 @@ Return ONLY the JSON object, no other text.`;
|
|
|
167
120
|
const { file_name, mime_type, download_url, file_b64: request_file_b64, prompt_area, prompt_key, fields, } = body;
|
|
168
121
|
// Validate required fields
|
|
169
122
|
if (!prompt_area || !prompt_key) {
|
|
170
|
-
return Response.json({
|
|
171
|
-
success: false,
|
|
172
|
-
error: 'prompt_area and prompt_key are required',
|
|
173
|
-
data: {},
|
|
174
|
-
}, { status: 400 });
|
|
123
|
+
return Response.json({ success: false, error: 'prompt_area and prompt_key are required', data: {} }, { status: 400 });
|
|
175
124
|
}
|
|
176
125
|
if (!fields?.length) {
|
|
177
|
-
return Response.json({
|
|
178
|
-
success: false,
|
|
179
|
-
error: 'fields array is required and must not be empty',
|
|
180
|
-
data: {},
|
|
181
|
-
}, { status: 400 });
|
|
126
|
+
return Response.json({ success: false, error: 'fields array is required and must not be empty', data: {} }, { status: 400 });
|
|
182
127
|
}
|
|
183
|
-
//
|
|
184
|
-
await ensure_initialized();
|
|
185
|
-
const api = await get_llm_api();
|
|
186
|
-
// Get file as base64 — prefer inline data, fall back to fetching from download_url
|
|
128
|
+
// Get file as base64 — priority: inline data > file_resolver > download_url
|
|
187
129
|
let file_b64;
|
|
188
130
|
if (request_file_b64) {
|
|
189
131
|
file_b64 = request_file_b64;
|
|
190
132
|
}
|
|
133
|
+
else if (file_resolver && body.file_id) {
|
|
134
|
+
try {
|
|
135
|
+
file_b64 = await file_resolver(body.file_id);
|
|
136
|
+
}
|
|
137
|
+
catch (err) {
|
|
138
|
+
return Response.json({ success: false, error: `Failed to resolve file "${file_name}" (${body.file_id}): ${err instanceof Error ? err.message : 'Unknown error'}`, data: {} }, { status: 500 });
|
|
139
|
+
}
|
|
140
|
+
}
|
|
191
141
|
else {
|
|
192
142
|
try {
|
|
143
|
+
// Skip blob: URLs — they are browser-only and can't be fetched server-side
|
|
144
|
+
if (download_url.startsWith('blob:')) {
|
|
145
|
+
throw new Error('blob: URLs are not accessible server-side. Configure file_resolver on the autofill route or send file_b64.');
|
|
146
|
+
}
|
|
193
147
|
const absolute_url = download_url.startsWith('http')
|
|
194
148
|
? download_url
|
|
195
149
|
: `${new URL(request.url).origin}${download_url}`;
|
|
@@ -201,133 +155,56 @@ Return ONLY the JSON object, no other text.`;
|
|
|
201
155
|
file_b64 = buffer.toString('base64');
|
|
202
156
|
}
|
|
203
157
|
catch (err) {
|
|
204
|
-
return Response.json({
|
|
205
|
-
success: false,
|
|
206
|
-
error: `Failed to fetch uploaded file "${file_name}": ${err instanceof Error ? err.message : 'Unknown error'}`,
|
|
207
|
-
data: {},
|
|
208
|
-
}, { status: 500 });
|
|
158
|
+
return Response.json({ success: false, error: `Failed to fetch uploaded file "${file_name}": ${err instanceof Error ? err.message : 'Unknown error'}`, data: {} }, { status: 500 });
|
|
209
159
|
}
|
|
210
160
|
}
|
|
211
161
|
// Build field_list string for prompt variable substitution
|
|
212
162
|
const field_list = build_field_list_string(fields);
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
:
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
file_mime_type: effective_mime,
|
|
225
|
-
max_depth: 1,
|
|
163
|
+
const buffer = Buffer.from(file_b64, 'base64');
|
|
164
|
+
// Try prompt-based extraction
|
|
165
|
+
let result = await extraction_service.extract(buffer, mime_type, {
|
|
166
|
+
promptArea: prompt_area,
|
|
167
|
+
promptKey: prompt_key,
|
|
168
|
+
promptVariables: { field_list },
|
|
169
|
+
});
|
|
170
|
+
// Fallback: generated default prompt
|
|
171
|
+
if (!result.success || !result.data || is_empty_data(result.data)) {
|
|
172
|
+
result = await extraction_service.extract(buffer, mime_type, {
|
|
173
|
+
customPrompt: generate_default_prompt(fields),
|
|
226
174
|
});
|
|
227
|
-
if (result.success && result.merged_result && Object.keys(result.merged_result).length > 0) {
|
|
228
|
-
const has_data = Object.values(result.merged_result).some((v) => {
|
|
229
|
-
if (v === null || v === undefined || v === '')
|
|
230
|
-
return false;
|
|
231
|
-
if (Array.isArray(v) && v.length === 0)
|
|
232
|
-
return false;
|
|
233
|
-
return true;
|
|
234
|
-
});
|
|
235
|
-
return Response.json({
|
|
236
|
-
success: true,
|
|
237
|
-
data: result.merged_result,
|
|
238
|
-
...(has_data ? {} : { message: 'No matching data found in this document.' }),
|
|
239
|
-
});
|
|
240
|
-
}
|
|
241
|
-
// If dynamic extract failed or returned empty, fall through to direct LLM call
|
|
242
|
-
if (!result.success && result.errors?.length) {
|
|
243
|
-
on_error(result.errors, 'dynamic_data_extract failed, falling back to direct LLM call');
|
|
244
|
-
}
|
|
245
175
|
}
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
const connect = api.get_hazo_connect();
|
|
253
|
-
if (connect) {
|
|
254
|
-
const lookup = await connect.get_by_area_key(prompt_area, prompt_key);
|
|
255
|
-
if (lookup.success && lookup.data?.prompt_text_full) {
|
|
256
|
-
prompt_text = api.substitute_variables(lookup.data.prompt_text_full, [{ field_list }], api.default_logger);
|
|
257
|
-
}
|
|
258
|
-
else {
|
|
259
|
-
prompt_text = generate_default_prompt(fields);
|
|
176
|
+
// Persist extraction to hazo_files
|
|
177
|
+
if (result.success && result.data && metadata_service && body.file_id) {
|
|
178
|
+
try {
|
|
179
|
+
const record = await metadata_service.findById(body.file_id);
|
|
180
|
+
if (record) {
|
|
181
|
+
await metadata_service.addExtraction(record.file_path, record.storage_type, result.data, { source: 'autofill' });
|
|
260
182
|
}
|
|
261
183
|
}
|
|
262
|
-
|
|
263
|
-
|
|
184
|
+
catch (err) {
|
|
185
|
+
on_error(err, 'failed to persist extraction to hazo_files');
|
|
186
|
+
// Non-fatal: extraction data is still returned to client
|
|
264
187
|
}
|
|
265
188
|
}
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
image_mime_type: mime_type,
|
|
276
|
-
});
|
|
277
|
-
}
|
|
278
|
-
else if (is_document_mime(mime_type)) {
|
|
279
|
-
llm_response = await api.hazo_llm_image_text({
|
|
280
|
-
prompt: prompt_text,
|
|
281
|
-
image_b64: file_b64,
|
|
282
|
-
image_mime_type: mime_type,
|
|
283
|
-
});
|
|
284
|
-
}
|
|
285
|
-
else {
|
|
286
|
-
llm_response = await api.hazo_llm_image_text({
|
|
287
|
-
prompt: prompt_text,
|
|
288
|
-
image_b64: file_b64,
|
|
289
|
-
image_mime_type: mime_type,
|
|
290
|
-
});
|
|
291
|
-
}
|
|
292
|
-
if (!llm_response.success || !llm_response.text) {
|
|
293
|
-
return Response.json({
|
|
294
|
-
success: false,
|
|
295
|
-
error: llm_response.error || 'LLM extraction failed',
|
|
296
|
-
data: {},
|
|
297
|
-
}, { status: 500 });
|
|
298
|
-
}
|
|
299
|
-
// Parse JSON response from LLM
|
|
300
|
-
let extracted_data;
|
|
301
|
-
try {
|
|
302
|
-
extracted_data = parse_json_response(llm_response.text);
|
|
303
|
-
}
|
|
304
|
-
catch {
|
|
305
|
-
return Response.json({
|
|
306
|
-
success: false,
|
|
307
|
-
error: `Failed to parse LLM response as JSON. Raw: ${llm_response.text.substring(0, 200)}`,
|
|
308
|
-
data: {},
|
|
309
|
-
}, { status: 500 });
|
|
310
|
-
}
|
|
311
|
-
const has_data = Object.values(extracted_data).some((v) => {
|
|
312
|
-
if (v === null || v === undefined || v === '')
|
|
313
|
-
return false;
|
|
314
|
-
if (Array.isArray(v) && v.length === 0)
|
|
315
|
-
return false;
|
|
316
|
-
return true;
|
|
317
|
-
});
|
|
189
|
+
const has_data = result.data
|
|
190
|
+
? Object.values(result.data).some((v) => {
|
|
191
|
+
if (v === null || v === undefined || v === '')
|
|
192
|
+
return false;
|
|
193
|
+
if (Array.isArray(v) && v.length === 0)
|
|
194
|
+
return false;
|
|
195
|
+
return true;
|
|
196
|
+
})
|
|
197
|
+
: false;
|
|
318
198
|
return Response.json({
|
|
319
|
-
success:
|
|
320
|
-
data:
|
|
321
|
-
...(
|
|
199
|
+
success: result.success,
|
|
200
|
+
data: result.data ?? {},
|
|
201
|
+
...(result.error ? { error: result.error } : {}),
|
|
202
|
+
...(!has_data ? { message: 'No matching data found in this document.' } : {}),
|
|
322
203
|
});
|
|
323
204
|
}
|
|
324
205
|
catch (error) {
|
|
325
206
|
on_error(error, 'unhandled error');
|
|
326
|
-
return Response.json({
|
|
327
|
-
success: false,
|
|
328
|
-
error: error instanceof Error ? error.message : 'Unknown error',
|
|
329
|
-
data: {},
|
|
330
|
-
}, { status: 500 });
|
|
207
|
+
return Response.json({ success: false, error: error instanceof Error ? error.message : 'Unknown error', data: {} }, { status: 500 });
|
|
331
208
|
}
|
|
332
209
|
};
|
|
333
210
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"autofill_handler.js","sourceRoot":"","sources":["../../src/lib/autofill_handler.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"autofill_handler.js","sourceRoot":"","sources":["../../src/lib/autofill_handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Server-side FB form route handler factory.
|
|
3
|
+
*
|
|
4
|
+
* Handles actions:
|
|
5
|
+
* - 'classify_files': Content-based classification of files into tags
|
|
6
|
+
*
|
|
7
|
+
* Routes LLM calls through hazo_files so classification results are
|
|
8
|
+
* persisted (content_tag + extraction data).
|
|
9
|
+
*
|
|
10
|
+
* Usage:
|
|
11
|
+
* import { create_fb_form_route } from 'hazo_collab_forms/lib';
|
|
12
|
+
* export const POST = create_fb_form_route({ extraction_service, ... });
|
|
13
|
+
*/
|
|
14
|
+
import 'server-only';
|
|
15
|
+
export interface FbFormRouteOptions {
|
|
16
|
+
/** Error handler */
|
|
17
|
+
on_error?: (error: unknown, context: string) => void;
|
|
18
|
+
/**
|
|
19
|
+
* hazo_files extraction service for content-based classification.
|
|
20
|
+
* Sends actual file content to LLM for classification.
|
|
21
|
+
*/
|
|
22
|
+
extraction_service: {
|
|
23
|
+
extract(buffer: Buffer, mimeType: string, options?: {
|
|
24
|
+
promptArea?: string;
|
|
25
|
+
promptKey?: string;
|
|
26
|
+
promptVariables?: Record<string, string>;
|
|
27
|
+
customPrompt?: string;
|
|
28
|
+
}): Promise<{
|
|
29
|
+
success: boolean;
|
|
30
|
+
data?: Record<string, unknown>;
|
|
31
|
+
error?: string;
|
|
32
|
+
}>;
|
|
33
|
+
};
|
|
34
|
+
/**
|
|
35
|
+
* hazo_files metadata service. Updates content_tag and persists
|
|
36
|
+
* classification extraction data after classification.
|
|
37
|
+
*/
|
|
38
|
+
metadata_service?: {
|
|
39
|
+
findById(id: string): Promise<{
|
|
40
|
+
file_path: string;
|
|
41
|
+
storage_type: string;
|
|
42
|
+
file_type?: string;
|
|
43
|
+
} | null>;
|
|
44
|
+
updateFields(fileId: string, fields: {
|
|
45
|
+
content_tag?: string;
|
|
46
|
+
}): Promise<boolean>;
|
|
47
|
+
addExtraction(path: string, storageType: string, data: Record<string, unknown>, options?: {
|
|
48
|
+
id?: string;
|
|
49
|
+
source?: string;
|
|
50
|
+
mergeStrategy?: 'shallow' | 'deep';
|
|
51
|
+
}): Promise<unknown>;
|
|
52
|
+
};
|
|
53
|
+
/**
|
|
54
|
+
* Resolve file_id to its content buffer. Typically backed by hazo_files fileManager.
|
|
55
|
+
* Required for content-based classification.
|
|
56
|
+
*/
|
|
57
|
+
file_content_resolver: (file_id: string) => Promise<{
|
|
58
|
+
buffer: Buffer;
|
|
59
|
+
mime_type: string;
|
|
60
|
+
}>;
|
|
61
|
+
}
|
|
62
|
+
export declare function create_fb_form_route(options: FbFormRouteOptions): (request: Request) => Promise<Response>;
|
|
63
|
+
//# sourceMappingURL=fb_form_handler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fb_form_handler.d.ts","sourceRoot":"","sources":["../../src/lib/fb_form_handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,aAAa,CAAC;AAQrB,MAAM,WAAW,kBAAkB;IACjC,oBAAoB;IACpB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAErD;;;OAGG;IACH,kBAAkB,EAAE;QAClB,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;YAClD,UAAU,CAAC,EAAE,MAAM,CAAC;YACpB,SAAS,CAAC,EAAE,MAAM,CAAC;YACnB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YACzC,YAAY,CAAC,EAAE,MAAM,CAAC;SACvB,GAAG,OAAO,CAAC;YAAE,OAAO,EAAE,OAAO,CAAC;YAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KACnF,CAAC;IAEF;;;OAGG;IACH,gBAAgB,CAAC,EAAE;QACjB,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;YAAE,SAAS,EAAE,MAAM,CAAC;YAAC,YAAY,EAAE,MAAM,CAAC;YAAC,SAAS,CAAC,EAAE,MAAM,CAAA;SAAE,GAAG,IAAI,CAAC,CAAC;QACtG,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;YAAE,WAAW,CAAC,EAAE,MAAM,CAAA;SAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QACjF,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5E,OAAO,CAAC,EAAE;YAAE,EAAE,CAAC,EAAE,MAAM,CAAC;YAAC,MAAM,CAAC,EAAE,MAAM,CAAC;YAAC,aAAa,CAAC,EAAE,SAAS,GAAG,MAAM,CAAA;SAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;KACrG,CAAC;IAEF;;;OAGG;IACH,qBAAqB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC5F;AAmBD,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,kBAAkB,IAKnC,SAAS,OAAO,KAAG,OAAO,CAAC,QAAQ,CAAC,CAgHhE"}
|