hazo_collab_forms 5.9.0 → 6.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.
Files changed (314) hide show
  1. package/CHANGE_LOG.md +48 -0
  2. package/README.md +88 -114
  3. package/dist/audit/built_in_actions.d.ts +6 -0
  4. package/dist/audit/built_in_actions.d.ts.map +1 -0
  5. package/dist/audit/built_in_actions.js +23 -0
  6. package/dist/audit/built_in_actions.js.map +1 -0
  7. package/dist/audit/intent_emitter.d.ts +4 -0
  8. package/dist/audit/intent_emitter.d.ts.map +1 -0
  9. package/dist/audit/intent_emitter.js +25 -0
  10. package/dist/audit/intent_emitter.js.map +1 -0
  11. package/dist/audit/lazy_audit_icon.d.ts +8 -0
  12. package/dist/audit/lazy_audit_icon.d.ts.map +1 -0
  13. package/dist/audit/lazy_audit_icon.js +20 -0
  14. package/dist/audit/lazy_audit_icon.js.map +1 -0
  15. package/dist/components/_internal_form_set.d.ts +6 -0
  16. package/dist/components/_internal_form_set.d.ts.map +1 -1
  17. package/dist/components/_internal_form_set.js +48 -51
  18. package/dist/components/_internal_form_set.js.map +1 -1
  19. package/dist/components/clarification/clarification_item_body.d.ts +1 -1
  20. package/dist/components/clarification/clarification_item_body.d.ts.map +1 -1
  21. package/dist/components/clarification/resolution_status_strip.d.ts +1 -1
  22. package/dist/components/clarification/resolution_status_strip.d.ts.map +1 -1
  23. package/dist/components/field_audit/index.d.ts +5 -0
  24. package/dist/components/field_audit/index.d.ts.map +1 -1
  25. package/dist/components/field_audit/index.js +5 -0
  26. package/dist/components/field_audit/index.js.map +1 -1
  27. package/dist/components/hazo_collab_form_view/context.d.ts +1 -1
  28. package/dist/components/hazo_collab_form_view/context.d.ts.map +1 -1
  29. package/dist/components/hazo_collab_form_view/context.js +10 -2
  30. package/dist/components/hazo_collab_form_view/context.js.map +1 -1
  31. package/dist/components/hazo_collab_form_view/hooks/use_view_callbacks.d.ts +8 -1
  32. package/dist/components/hazo_collab_form_view/hooks/use_view_callbacks.d.ts.map +1 -1
  33. package/dist/components/hazo_collab_form_view/hooks/use_view_callbacks.js +4 -2
  34. package/dist/components/hazo_collab_form_view/hooks/use_view_callbacks.js.map +1 -1
  35. package/dist/components/hazo_collab_form_view/index.d.ts.map +1 -1
  36. package/dist/components/hazo_collab_form_view/index.js +46 -2
  37. package/dist/components/hazo_collab_form_view/index.js.map +1 -1
  38. package/dist/components/hazo_collab_form_view/types.d.ts +36 -0
  39. package/dist/components/hazo_collab_form_view/types.d.ts.map +1 -1
  40. package/dist/components/hazo_collab_form_view/views/approval_view.d.ts.map +1 -1
  41. package/dist/components/hazo_collab_form_view/views/approval_view.js +4 -3
  42. package/dist/components/hazo_collab_form_view/views/approval_view.js.map +1 -1
  43. package/dist/components/hazo_collab_form_view/views/edit_view.d.ts.map +1 -1
  44. package/dist/components/hazo_collab_form_view/views/edit_view.js +8 -3
  45. package/dist/components/hazo_collab_form_view/views/edit_view.js.map +1 -1
  46. package/dist/components/hazo_collab_form_view/views/print_view.d.ts.map +1 -1
  47. package/dist/components/hazo_collab_form_view/views/print_view.js +4 -3
  48. package/dist/components/hazo_collab_form_view/views/print_view.js.map +1 -1
  49. package/dist/components/hazo_collab_form_view/views/summary_view.d.ts.map +1 -1
  50. package/dist/components/hazo_collab_form_view/views/summary_view.js +4 -3
  51. package/dist/components/hazo_collab_form_view/views/summary_view.js.map +1 -1
  52. package/dist/components/hazo_data_form/group_renderer.d.ts +4 -2
  53. package/dist/components/hazo_data_form/group_renderer.d.ts.map +1 -1
  54. package/dist/components/hazo_data_form/group_renderer.js +3 -3
  55. package/dist/components/hazo_data_form/group_renderer.js.map +1 -1
  56. package/dist/components/hazo_data_form/hazo_data_form.d.ts +1 -1
  57. package/dist/components/hazo_data_form/hazo_data_form.d.ts.map +1 -1
  58. package/dist/components/hazo_data_form/hazo_data_form.js +36 -4
  59. package/dist/components/hazo_data_form/hazo_data_form.js.map +1 -1
  60. package/dist/components/hazo_data_form/section_renderer.d.ts +3 -2
  61. package/dist/components/hazo_data_form/section_renderer.d.ts.map +1 -1
  62. package/dist/components/hazo_data_form/section_renderer.js +2 -2
  63. package/dist/components/hazo_data_form/section_renderer.js.map +1 -1
  64. package/dist/components/hazo_data_form/shared/data_form_field_layout.d.ts +4 -1
  65. package/dist/components/hazo_data_form/shared/data_form_field_layout.d.ts.map +1 -1
  66. package/dist/components/hazo_data_form/shared/data_form_field_layout.js +20 -5
  67. package/dist/components/hazo_data_form/shared/data_form_field_layout.js.map +1 -1
  68. package/dist/components/hazo_data_form/types.d.ts +26 -1
  69. package/dist/components/hazo_data_form/types.d.ts.map +1 -1
  70. package/dist/components/index.d.ts +0 -4
  71. package/dist/components/index.d.ts.map +1 -1
  72. package/dist/components/index.js +0 -4
  73. package/dist/components/index.js.map +1 -1
  74. package/dist/components/shared/base_field_layout.js +1 -1
  75. package/dist/components/shared/base_field_layout.js.map +1 -1
  76. package/dist/components/shared/field_action_array_slot.d.ts +10 -0
  77. package/dist/components/shared/field_action_array_slot.d.ts.map +1 -0
  78. package/dist/components/shared/field_action_array_slot.js +33 -0
  79. package/dist/components/shared/field_action_array_slot.js.map +1 -0
  80. package/dist/components/shared/ihelp_icon.d.ts +1 -1
  81. package/dist/components/shared/ihelp_icon.js +1 -1
  82. package/dist/components/shared/rule_result_card.js +1 -1
  83. package/dist/components/shared/rule_result_card.js.map +1 -1
  84. package/dist/components/shared/use_field_action_slot.d.ts +8 -3
  85. package/dist/components/shared/use_field_action_slot.d.ts.map +1 -1
  86. package/dist/components/shared/use_field_action_slot.js +30 -5
  87. package/dist/components/shared/use_field_action_slot.js.map +1 -1
  88. package/dist/components/thread_form/components/send_back_message.d.ts +1 -1
  89. package/dist/components/thread_form/components/send_back_message.d.ts.map +1 -1
  90. package/dist/components/thread_form/hooks/use_file_pipeline.d.ts +1 -1
  91. package/dist/components/thread_form/hooks/use_file_pipeline.d.ts.map +1 -1
  92. package/dist/components/thread_form/hooks/use_file_pipeline.js +1 -1
  93. package/dist/components/thread_form/hooks/use_file_pipeline.js.map +1 -1
  94. package/dist/components/thread_form/thread_form.js +1 -1
  95. package/dist/components/thread_form/thread_form.js.map +1 -1
  96. package/dist/components/thread_form/types.d.ts +3 -3
  97. package/dist/components/thread_form/types.d.ts.map +1 -1
  98. package/dist/lib/index.d.ts +0 -2
  99. package/dist/lib/index.d.ts.map +1 -1
  100. package/dist/lib/index.js +0 -2
  101. package/dist/lib/index.js.map +1 -1
  102. package/dist/lib/resolution_handler.d.ts +1 -1
  103. package/dist/lib/resolution_handler.d.ts.map +1 -1
  104. package/dist/lib/resolve_variable.d.ts +1 -1
  105. package/dist/lib/resolve_variable.d.ts.map +1 -1
  106. package/dist/types/clarification.d.ts +1 -1
  107. package/dist/types/clarification.d.ts.map +1 -1
  108. package/dist/types/field_action.d.ts +25 -0
  109. package/dist/types/field_action.d.ts.map +1 -0
  110. package/dist/types/field_action.js +8 -0
  111. package/dist/types/field_action.js.map +1 -0
  112. package/dist/types/index.d.ts +3 -6
  113. package/dist/types/index.d.ts.map +1 -1
  114. package/dist/types/index.js +1 -3
  115. package/dist/types/index.js.map +1 -1
  116. package/dist/types/{fb_form_data.d.ts → shared_data.d.ts} +1 -3
  117. package/dist/types/shared_data.d.ts.map +1 -0
  118. package/dist/types/{fb_form_data.js → shared_data.js} +1 -2
  119. package/dist/types/shared_data.js.map +1 -0
  120. package/dist/utils/dev_file_manager.d.ts +1 -1
  121. package/dist/utils/dev_file_manager.js +1 -1
  122. package/dist/{components/hazo_fb_form/shared → utils}/format.d.ts +2 -2
  123. package/dist/utils/format.d.ts.map +1 -0
  124. package/dist/{components/hazo_fb_form/shared → utils}/format.js +1 -1
  125. package/dist/utils/format.js.map +1 -0
  126. package/dist/utils/index.d.ts +1 -9
  127. package/dist/utils/index.d.ts.map +1 -1
  128. package/dist/utils/index.js +3 -15
  129. package/dist/utils/index.js.map +1 -1
  130. package/package.json +6 -1
  131. package/dist/components/hazo_fb_form/components/backoffice_run_button.d.ts +0 -18
  132. package/dist/components/hazo_fb_form/components/backoffice_run_button.d.ts.map +0 -1
  133. package/dist/components/hazo_fb_form/components/backoffice_run_button.js +0 -23
  134. package/dist/components/hazo_fb_form/components/backoffice_run_button.js.map +0 -1
  135. package/dist/components/hazo_fb_form/components/draft_clarification_card.d.ts +0 -39
  136. package/dist/components/hazo_fb_form/components/draft_clarification_card.d.ts.map +0 -1
  137. package/dist/components/hazo_fb_form/components/draft_clarification_card.js +0 -94
  138. package/dist/components/hazo_fb_form/components/draft_clarification_card.js.map +0 -1
  139. package/dist/components/hazo_fb_form/components/fb_document_type_editor.d.ts +0 -11
  140. package/dist/components/hazo_fb_form/components/fb_document_type_editor.d.ts.map +0 -1
  141. package/dist/components/hazo_fb_form/components/fb_document_type_editor.js +0 -82
  142. package/dist/components/hazo_fb_form/components/fb_document_type_editor.js.map +0 -1
  143. package/dist/components/hazo_fb_form/components/fb_tag_editor.d.ts +0 -11
  144. package/dist/components/hazo_fb_form/components/fb_tag_editor.d.ts.map +0 -1
  145. package/dist/components/hazo_fb_form/components/fb_tag_editor.js +0 -107
  146. package/dist/components/hazo_fb_form/components/fb_tag_editor.js.map +0 -1
  147. package/dist/components/hazo_fb_form/components/front_office_stepper.d.ts +0 -15
  148. package/dist/components/hazo_fb_form/components/front_office_stepper.d.ts.map +0 -1
  149. package/dist/components/hazo_fb_form/components/front_office_stepper.js +0 -21
  150. package/dist/components/hazo_fb_form/components/front_office_stepper.js.map +0 -1
  151. package/dist/components/hazo_fb_form/components/instance_sidebar.d.ts +0 -21
  152. package/dist/components/hazo_fb_form/components/instance_sidebar.d.ts.map +0 -1
  153. package/dist/components/hazo_fb_form/components/instance_sidebar.js +0 -58
  154. package/dist/components/hazo_fb_form/components/instance_sidebar.js.map +0 -1
  155. package/dist/components/hazo_fb_form/components/reject_clarification_dialog.d.ts +0 -15
  156. package/dist/components/hazo_fb_form/components/reject_clarification_dialog.d.ts.map +0 -1
  157. package/dist/components/hazo_fb_form/components/reject_clarification_dialog.js +0 -26
  158. package/dist/components/hazo_fb_form/components/reject_clarification_dialog.js.map +0 -1
  159. package/dist/components/hazo_fb_form/components/run_button.d.ts +0 -19
  160. package/dist/components/hazo_fb_form/components/run_button.d.ts.map +0 -1
  161. package/dist/components/hazo_fb_form/components/run_button.js +0 -38
  162. package/dist/components/hazo_fb_form/components/run_button.js.map +0 -1
  163. package/dist/components/hazo_fb_form/components/run_details_dialog.d.ts +0 -17
  164. package/dist/components/hazo_fb_form/components/run_details_dialog.d.ts.map +0 -1
  165. package/dist/components/hazo_fb_form/components/run_details_dialog.js +0 -35
  166. package/dist/components/hazo_fb_form/components/run_details_dialog.js.map +0 -1
  167. package/dist/components/hazo_fb_form/components/sent_clarification_group.d.ts +0 -30
  168. package/dist/components/hazo_fb_form/components/sent_clarification_group.d.ts.map +0 -1
  169. package/dist/components/hazo_fb_form/components/sent_clarification_group.js +0 -76
  170. package/dist/components/hazo_fb_form/components/sent_clarification_group.js.map +0 -1
  171. package/dist/components/hazo_fb_form/components/tag_pill.d.ts +0 -15
  172. package/dist/components/hazo_fb_form/components/tag_pill.d.ts.map +0 -1
  173. package/dist/components/hazo_fb_form/components/tag_pill.js +0 -15
  174. package/dist/components/hazo_fb_form/components/tag_pill.js.map +0 -1
  175. package/dist/components/hazo_fb_form/context.d.ts +0 -135
  176. package/dist/components/hazo_fb_form/context.d.ts.map +0 -1
  177. package/dist/components/hazo_fb_form/context.js +0 -13
  178. package/dist/components/hazo_fb_form/context.js.map +0 -1
  179. package/dist/components/hazo_fb_form/hazo_fb_form.d.ts +0 -13
  180. package/dist/components/hazo_fb_form/hazo_fb_form.d.ts.map +0 -1
  181. package/dist/components/hazo_fb_form/hazo_fb_form.js +0 -1188
  182. package/dist/components/hazo_fb_form/hazo_fb_form.js.map +0 -1
  183. package/dist/components/hazo_fb_form/hooks/use_fb_form_state.d.ts +0 -58
  184. package/dist/components/hazo_fb_form/hooks/use_fb_form_state.d.ts.map +0 -1
  185. package/dist/components/hazo_fb_form/hooks/use_fb_form_state.js +0 -919
  186. package/dist/components/hazo_fb_form/hooks/use_fb_form_state.js.map +0 -1
  187. package/dist/components/hazo_fb_form/hooks/use_llm_run.d.ts +0 -52
  188. package/dist/components/hazo_fb_form/hooks/use_llm_run.d.ts.map +0 -1
  189. package/dist/components/hazo_fb_form/hooks/use_llm_run.js +0 -1863
  190. package/dist/components/hazo_fb_form/hooks/use_llm_run.js.map +0 -1
  191. package/dist/components/hazo_fb_form/index.d.ts +0 -29
  192. package/dist/components/hazo_fb_form/index.d.ts.map +0 -1
  193. package/dist/components/hazo_fb_form/index.js +0 -19
  194. package/dist/components/hazo_fb_form/index.js.map +0 -1
  195. package/dist/components/hazo_fb_form/shared/agent_stepper.d.ts +0 -9
  196. package/dist/components/hazo_fb_form/shared/agent_stepper.d.ts.map +0 -1
  197. package/dist/components/hazo_fb_form/shared/agent_stepper.js +0 -17
  198. package/dist/components/hazo_fb_form/shared/agent_stepper.js.map +0 -1
  199. package/dist/components/hazo_fb_form/shared/clarification_helpers.d.ts +0 -15
  200. package/dist/components/hazo_fb_form/shared/clarification_helpers.d.ts.map +0 -1
  201. package/dist/components/hazo_fb_form/shared/clarification_helpers.js +0 -23
  202. package/dist/components/hazo_fb_form/shared/clarification_helpers.js.map +0 -1
  203. package/dist/components/hazo_fb_form/shared/file_status_accordion.d.ts +0 -9
  204. package/dist/components/hazo_fb_form/shared/file_status_accordion.d.ts.map +0 -1
  205. package/dist/components/hazo_fb_form/shared/file_status_accordion.js +0 -39
  206. package/dist/components/hazo_fb_form/shared/file_status_accordion.js.map +0 -1
  207. package/dist/components/hazo_fb_form/shared/file_utils.d.ts +0 -9
  208. package/dist/components/hazo_fb_form/shared/file_utils.d.ts.map +0 -1
  209. package/dist/components/hazo_fb_form/shared/file_utils.js +0 -31
  210. package/dist/components/hazo_fb_form/shared/file_utils.js.map +0 -1
  211. package/dist/components/hazo_fb_form/shared/format.d.ts.map +0 -1
  212. package/dist/components/hazo_fb_form/shared/format.js.map +0 -1
  213. package/dist/components/hazo_fb_form/shared/group_debug_icon.d.ts +0 -15
  214. package/dist/components/hazo_fb_form/shared/group_debug_icon.d.ts.map +0 -1
  215. package/dist/components/hazo_fb_form/shared/group_debug_icon.js +0 -48
  216. package/dist/components/hazo_fb_form/shared/group_debug_icon.js.map +0 -1
  217. package/dist/components/hazo_fb_form/shared/index.d.ts +0 -10
  218. package/dist/components/hazo_fb_form/shared/index.d.ts.map +0 -1
  219. package/dist/components/hazo_fb_form/shared/index.js +0 -9
  220. package/dist/components/hazo_fb_form/shared/index.js.map +0 -1
  221. package/dist/components/hazo_fb_form/shared/pdf_side_panel.d.ts +0 -22
  222. package/dist/components/hazo_fb_form/shared/pdf_side_panel.d.ts.map +0 -1
  223. package/dist/components/hazo_fb_form/shared/pdf_side_panel.js +0 -10
  224. package/dist/components/hazo_fb_form/shared/pdf_side_panel.js.map +0 -1
  225. package/dist/components/hazo_fb_form/shared/send_back_item_card.d.ts +0 -44
  226. package/dist/components/hazo_fb_form/shared/send_back_item_card.d.ts.map +0 -1
  227. package/dist/components/hazo_fb_form/shared/send_back_item_card.js +0 -80
  228. package/dist/components/hazo_fb_form/shared/send_back_item_card.js.map +0 -1
  229. package/dist/components/hazo_fb_form/shared/use_pdf_viewer.d.ts +0 -28
  230. package/dist/components/hazo_fb_form/shared/use_pdf_viewer.d.ts.map +0 -1
  231. package/dist/components/hazo_fb_form/shared/use_pdf_viewer.js +0 -46
  232. package/dist/components/hazo_fb_form/shared/use_pdf_viewer.js.map +0 -1
  233. package/dist/components/hazo_fb_form/types.d.ts +0 -372
  234. package/dist/components/hazo_fb_form/types.d.ts.map +0 -1
  235. package/dist/components/hazo_fb_form/types.js +0 -5
  236. package/dist/components/hazo_fb_form/types.js.map +0 -1
  237. package/dist/components/hazo_fb_form/views/back_office_view.d.ts +0 -7
  238. package/dist/components/hazo_fb_form/views/back_office_view.d.ts.map +0 -1
  239. package/dist/components/hazo_fb_form/views/back_office_view.js +0 -425
  240. package/dist/components/hazo_fb_form/views/back_office_view.js.map +0 -1
  241. package/dist/components/hazo_fb_form/views/clarifications_view.d.ts +0 -16
  242. package/dist/components/hazo_fb_form/views/clarifications_view.d.ts.map +0 -1
  243. package/dist/components/hazo_fb_form/views/clarifications_view.js +0 -291
  244. package/dist/components/hazo_fb_form/views/clarifications_view.js.map +0 -1
  245. package/dist/components/hazo_fb_form/views/client_data_view.d.ts +0 -6
  246. package/dist/components/hazo_fb_form/views/client_data_view.d.ts.map +0 -1
  247. package/dist/components/hazo_fb_form/views/client_data_view.js +0 -39
  248. package/dist/components/hazo_fb_form/views/client_data_view.js.map +0 -1
  249. package/dist/components/hazo_fb_form/views/front_office_view.d.ts +0 -6
  250. package/dist/components/hazo_fb_form/views/front_office_view.d.ts.map +0 -1
  251. package/dist/components/hazo_fb_form/views/front_office_view.js +0 -1351
  252. package/dist/components/hazo_fb_form/views/front_office_view.js.map +0 -1
  253. package/dist/components/hazo_fb_form/views/interim_view.d.ts +0 -8
  254. package/dist/components/hazo_fb_form/views/interim_view.d.ts.map +0 -1
  255. package/dist/components/hazo_fb_form/views/interim_view.js +0 -535
  256. package/dist/components/hazo_fb_form/views/interim_view.js.map +0 -1
  257. package/dist/components/hazo_fb_form/views/review_queue_view.d.ts +0 -14
  258. package/dist/components/hazo_fb_form/views/review_queue_view.d.ts.map +0 -1
  259. package/dist/components/hazo_fb_form/views/review_queue_view.js +0 -230
  260. package/dist/components/hazo_fb_form/views/review_queue_view.js.map +0 -1
  261. package/dist/components/hazo_fb_form/views/send_back_view.d.ts +0 -13
  262. package/dist/components/hazo_fb_form/views/send_back_view.d.ts.map +0 -1
  263. package/dist/components/hazo_fb_form/views/send_back_view.js +0 -258
  264. package/dist/components/hazo_fb_form/views/send_back_view.js.map +0 -1
  265. package/dist/components/hazo_fb_form/views/summary_review_view.d.ts +0 -17
  266. package/dist/components/hazo_fb_form/views/summary_review_view.d.ts.map +0 -1
  267. package/dist/components/hazo_fb_form/views/summary_review_view.js +0 -258
  268. package/dist/components/hazo_fb_form/views/summary_review_view.js.map +0 -1
  269. package/dist/components/shared/json_data_panel/index.d.ts +0 -3
  270. package/dist/components/shared/json_data_panel/index.d.ts.map +0 -1
  271. package/dist/components/shared/json_data_panel/index.js +0 -2
  272. package/dist/components/shared/json_data_panel/index.js.map +0 -1
  273. package/dist/components/shared/json_data_panel/json_data_panel.d.ts +0 -28
  274. package/dist/components/shared/json_data_panel/json_data_panel.d.ts.map +0 -1
  275. package/dist/components/shared/json_data_panel/json_data_panel.js +0 -156
  276. package/dist/components/shared/json_data_panel/json_data_panel.js.map +0 -1
  277. package/dist/lib/fb_form_handler.d.ts +0 -63
  278. package/dist/lib/fb_form_handler.d.ts.map +0 -1
  279. package/dist/lib/fb_form_handler.js +0 -425
  280. package/dist/lib/fb_form_handler.js.map +0 -1
  281. package/dist/types/fb_form_data.d.ts.map +0 -1
  282. package/dist/types/fb_form_data.js.map +0 -1
  283. package/dist/types/fb_form_data_v1.d.ts +0 -250
  284. package/dist/types/fb_form_data_v1.d.ts.map +0 -1
  285. package/dist/types/fb_form_data_v1.js +0 -117
  286. package/dist/types/fb_form_data_v1.js.map +0 -1
  287. package/dist/types/fb_form_instance.d.ts +0 -49
  288. package/dist/types/fb_form_instance.d.ts.map +0 -1
  289. package/dist/types/fb_form_instance.js +0 -10
  290. package/dist/types/fb_form_instance.js.map +0 -1
  291. package/dist/utils/fb_data_adapter.d.ts +0 -33
  292. package/dist/utils/fb_data_adapter.d.ts.map +0 -1
  293. package/dist/utils/fb_data_adapter.js +0 -436
  294. package/dist/utils/fb_data_adapter.js.map +0 -1
  295. package/dist/utils/fb_data_adapter_v2.d.ts +0 -17
  296. package/dist/utils/fb_data_adapter_v2.d.ts.map +0 -1
  297. package/dist/utils/fb_data_adapter_v2.js +0 -483
  298. package/dist/utils/fb_data_adapter_v2.js.map +0 -1
  299. package/dist/utils/fb_data_helpers.d.ts +0 -86
  300. package/dist/utils/fb_data_helpers.d.ts.map +0 -1
  301. package/dist/utils/fb_data_helpers.js +0 -269
  302. package/dist/utils/fb_data_helpers.js.map +0 -1
  303. package/dist/utils/fb_data_mutations.d.ts +0 -43
  304. package/dist/utils/fb_data_mutations.d.ts.map +0 -1
  305. package/dist/utils/fb_data_mutations.js +0 -379
  306. package/dist/utils/fb_data_mutations.js.map +0 -1
  307. package/dist/utils/fb_data_mutations_v2.d.ts +0 -46
  308. package/dist/utils/fb_data_mutations_v2.d.ts.map +0 -1
  309. package/dist/utils/fb_data_mutations_v2.js +0 -341
  310. package/dist/utils/fb_data_mutations_v2.js.map +0 -1
  311. package/dist/utils/fb_data_queries.d.ts +0 -81
  312. package/dist/utils/fb_data_queries.d.ts.map +0 -1
  313. package/dist/utils/fb_data_queries.js +0 -354
  314. package/dist/utils/fb_data_queries.js.map +0 -1
@@ -1,483 +0,0 @@
1
- /**
2
- * V2 Adapter: Convert flat FbFormInstance data into the flattened FbDataEntry[] model.
3
- *
4
- * Unlike v1, this adapter:
5
- * - Puts validations and clarifications as direct arrays on each entry (not nested in activities)
6
- * - Builds a thread[] for each clarification spanning all form instances
7
- * - Stores review decisions directly on clarifications (not as separate activity objects)
8
- * - Produces instance-independent output — same JSON regardless of which instance is active
9
- */
10
- // ========================================
11
- // Flat → Hierarchical (v2)
12
- // ========================================
13
- /**
14
- * Convert ALL form instances into a single, stable FbDataEntry[] array.
15
- * This is the primary entry point — call it once with all instances.
16
- */
17
- export function flat_to_data_v2(instances) {
18
- const data = [];
19
- // Collect ALL clarifications across ALL instances, deduplicating by ID.
20
- // Each clarification may appear in multiple instances (sent in 1, sourced in 2).
21
- // We merge them into a single record with the most complete data.
22
- const clr_map = new Map();
23
- // Track classification/validation results — keyed by the instance that owns them
24
- let primary_classifications;
25
- let primary_validations;
26
- let primary_instance_num = 1;
27
- for (let inst_idx = 0; inst_idx < instances.length; inst_idx++) {
28
- const inst = instances[inst_idx];
29
- const inst_num = inst_idx + 1;
30
- // Track the first instance with classification/validation results
31
- if (!primary_classifications && inst.classification_results?.length) {
32
- primary_classifications = inst.classification_results;
33
- primary_validations = inst.file_validation_results;
34
- primary_instance_num = inst_num;
35
- }
36
- // Collect clarifications from all sources on this instance
37
- const all_clrs = collect_instance_clarifications(inst);
38
- for (const clr of all_clrs) {
39
- const existing = clr_map.get(clr.id);
40
- if (!existing) {
41
- clr_map.set(clr.id, { clr, form_instance: inst_num, source_instance: inst_num });
42
- }
43
- else {
44
- // Merge: keep the version with more data (response, later status)
45
- const merged = merge_clarification(existing.clr, clr);
46
- clr_map.set(clr.id, {
47
- clr: merged,
48
- form_instance: inst_num,
49
- source_instance: existing.source_instance,
50
- });
51
- }
52
- }
53
- }
54
- // Build rule_id → processed_data mapping for linking clarifications
55
- const rule_to_pd = new Map();
56
- // Step 1: Build entries from classification results
57
- if (primary_classifications?.length) {
58
- for (const cr of primary_classifications) {
59
- const entry_validations = [];
60
- let val_counter = 0;
61
- const processed_data_items = cr.file_classifications.map((fc, fc_idx) => {
62
- const pd_id = `pd_1.${fc_idx + 1}`;
63
- // Build validations for this file
64
- const file_val = primary_validations?.[fc.file_id];
65
- if (file_val?.rule_results) {
66
- for (const rr of file_val.rule_results) {
67
- val_counter++;
68
- const val_id = `val_${val_counter}`;
69
- const rule_key = rr.rule_id ?? `rule_${val_counter}`;
70
- const rr_has_issue = rr.issues.length > 0;
71
- entry_validations.push({
72
- validation_id: val_id,
73
- processed_data_ref: pd_id,
74
- rule_key,
75
- trigger: 'client_facing',
76
- status: rr_has_issue ? 'failed' : 'passed',
77
- details: rr.summary ?? rr.issues[0]?.issue_description ?? '',
78
- });
79
- // Track rule → pd mapping for clarification linking
80
- if (rr_has_issue && rr.rule_id) {
81
- rule_to_pd.set(rr.rule_id, { pd_id, file_id: fc.file_id });
82
- }
83
- }
84
- }
85
- return {
86
- processed_data_id: pd_id,
87
- processed_data_type: 'file',
88
- processed_data_files: {
89
- file_id: fc.file_id,
90
- file_name: fc.file_name,
91
- },
92
- tags: fc.tags,
93
- processed_data_category: fc.document_type ?? [],
94
- processed_data_nature: fc.document_nature ? [fc.document_nature] : [],
95
- };
96
- });
97
- const question = {
98
- source_id: null,
99
- question_field_id: cr.field_id,
100
- question_type: 'data_request',
101
- form_instance: primary_instance_num,
102
- component_type: 'HazoCollabFormFileTextbox',
103
- description: `Data request for ${cr.field_id}`,
104
- };
105
- // Build clarifications for this entry
106
- const entry_clarifications = [];
107
- for (const [_clr_id, info] of clr_map) {
108
- const clr = info.clr;
109
- // Link clarification to this entry via rule_id → processed_data
110
- const pd_link = clr.rule_id ? rule_to_pd.get(clr.rule_id) : undefined;
111
- if (!pd_link)
112
- continue;
113
- // Check if this pd belongs to this entry's classification result
114
- const belongs = processed_data_items.some(pd => pd.processed_data_id === pd_link.pd_id);
115
- if (!belongs)
116
- continue;
117
- // Find the validation this clarification references
118
- const val_ref = entry_validations.find(v => v.processed_data_ref === pd_link.pd_id && v.rule_key === clr.rule_id);
119
- entry_clarifications.push(build_clarification(clr, pd_link.pd_id, val_ref?.validation_id ?? null, info.source_instance, info.form_instance));
120
- // Remove from map so it's not added as orphan later
121
- clr_map.delete(_clr_id);
122
- }
123
- data.push({
124
- question,
125
- client_data: [{
126
- input_elt_id: `ie_1`,
127
- client_input: {
128
- data_type: 'file',
129
- processed_data: processed_data_items,
130
- },
131
- }],
132
- validations: entry_validations.length > 0 ? entry_validations : undefined,
133
- clarifications: entry_clarifications.length > 0 ? entry_clarifications : undefined,
134
- });
135
- }
136
- }
137
- // Step 2: Add orphan clarifications (no matching classification/validation)
138
- for (const [_clr_id, info] of clr_map) {
139
- const clr = info.clr;
140
- const orphan_clr = build_clarification(clr, '', null, info.source_instance, info.form_instance);
141
- data.push({
142
- question: {
143
- source_id: null,
144
- question_field_id: clr.target_field_id || clr.id,
145
- question_type: 'clarification',
146
- form_instance: info.source_instance,
147
- component_type: 'HazoCollabFormRFIbox',
148
- description: clr.issue_description,
149
- },
150
- clarifications: [orphan_clr],
151
- });
152
- }
153
- return data;
154
- }
155
- // ========================================
156
- // Helpers
157
- // ========================================
158
- /** Collect all clarifications from an instance's persisted sources */
159
- function collect_instance_clarifications(inst) {
160
- const front_clrs = Array.isArray(inst.front_form_data?.['__clarifications'])
161
- ? inst.front_form_data['__clarifications']
162
- : [];
163
- const clrs = [...(inst.sent_clarifications ?? [])];
164
- const seen = new Set(clrs.map(c => c.id));
165
- for (const c of front_clrs) {
166
- if (!seen.has(c.id)) {
167
- seen.add(c.id);
168
- clrs.push(c);
169
- }
170
- }
171
- return clrs;
172
- }
173
- /** Merge two versions of the same clarification, keeping the most complete data */
174
- function merge_clarification(a, b) {
175
- // DEBUG: trace what we're merging
176
- // Score each version by data completeness — not just v1 status enum.
177
- // The version with more substantive data (thread entries, review decision,
178
- // client response) is the better base. 'resolved' on a source instance
179
- // (after forwarding) should NOT win over a version with review_decision.
180
- const score = (c) => {
181
- let s = 0;
182
- s += (c.thread?.length ?? 0) * 2; // More thread = more complete
183
- s += c.review_decision ? 5 : 0; // Has review decision
184
- s += c.agent_feedback ? 2 : 0; // Has feedback
185
- s += c.response_choice ? 3 : 0; // Has client response
186
- s += c.user_comment ? 3 : 0; // Has client comment
187
- s += (c.response_files?.length ?? 0) > 0 ? 2 : 0;
188
- // Penalize 'resolved' from source instance (it's a forwarding marker, not real completion)
189
- if (c.status === 'resolved' && !c.response_choice && !c.user_comment)
190
- s -= 3;
191
- return s;
192
- };
193
- const a_score = score(a);
194
- const b_score = score(b);
195
- const base = b_score >= a_score ? b : a;
196
- const other = base === a ? b : a;
197
- return {
198
- ...base,
199
- // Keep the longer thread (most complete conversation history)
200
- thread: (base.thread?.length ?? 0) >= (other.thread?.length ?? 0) ? base.thread : other.thread,
201
- // Keep review_decision if either has one
202
- review_decision: base.review_decision ?? other.review_decision,
203
- agent_feedback: base.agent_feedback ?? other.agent_feedback,
204
- // Keep response data from either
205
- response_choice: base.response_choice ?? other.response_choice,
206
- user_comment: base.user_comment ?? other.user_comment,
207
- response_files: (base.response_files?.length ?? 0) > 0 ? base.response_files : other.response_files,
208
- };
209
- }
210
- /** Map ClarificationItem response options to v2 FbRfiResponseOption */
211
- function map_response_options(opts) {
212
- return (opts ?? []).map(opt => ({
213
- code: opt.value,
214
- label: opt.label,
215
- accept_files: opt.shows_file_upload,
216
- accept_comment: opt.shows_additional_input,
217
- accept_comment_mandatory: opt.shows_additional_input,
218
- }));
219
- }
220
- /** Determine v2 clarification status from ClarificationItem */
221
- function map_clarification_status(clr) {
222
- // Detect client response from data — the v1 `status` field may be stale
223
- // (e.g., Instance 1's version has status='pending' after send-back, but the
224
- // merged clarification carries response_choice/user_comment from Instance 2)
225
- const has_response = !!(clr.response_choice || clr.user_comment);
226
- if (clr.review_decision === 'approve') {
227
- // 'approve' in ClarificationReviewDecision = approved for sending = sent_back
228
- // But if client has since responded (either via status field or response data), show as responded
229
- if (clr.status === 'responded' || has_response)
230
- return 'responded';
231
- return 'sent_back';
232
- }
233
- if (clr.review_decision === 'skip_process') {
234
- // 'skip_process' = agent accepted
235
- return 'accepted';
236
- }
237
- // No review decision yet
238
- if (clr.status === 'responded' || has_response)
239
- return 'responded';
240
- if (clr.status === 'resolved')
241
- return 'resolved';
242
- if (clr.status === 'dismissed')
243
- return 'resolved';
244
- return 'pending';
245
- }
246
- /** Build the v2 FbEntryClarification from a ClarificationItem */
247
- function build_clarification(clr, pd_ref, val_ref, source_instance, latest_instance = source_instance) {
248
- // Build thread from ClarificationItem.thread
249
- const thread = [];
250
- let th_counter = 0;
251
- // If the clarification has a v1 thread, convert it
252
- if (clr.thread?.length) {
253
- // Track whether we've seen an agent rejection — entries after it are from a later instance
254
- let seen_rejection = false;
255
- for (const t of clr.thread) {
256
- th_counter++;
257
- // Client responses AFTER an agent rejection are from the next instance
258
- const entry_instance = (seen_rejection && t.role === 'client' && t.action === 'responded')
259
- ? latest_instance
260
- : source_instance;
261
- thread.push(convert_thread_entry(t, th_counter, entry_instance));
262
- if (t.role === 'author' && t.action === 'rejected')
263
- seen_rejection = true;
264
- }
265
- // Check if the merged clarification has a newer response not yet in the thread.
266
- // This happens when Instance 2's response is on clr.response_choice/user_comment
267
- // but the thread came from Instance 1 (which doesn't include the Instance 2 response).
268
- const last_client_in_thread = [...thread].reverse().find(t => t.role === 'client' && t.action === 'responded');
269
- const thread_has_current_response = last_client_in_thread &&
270
- last_client_in_thread.choice === clr.response_choice &&
271
- last_client_in_thread.comment === clr.user_comment;
272
- if (!thread_has_current_response && (clr.response_choice || clr.user_comment) && latest_instance > source_instance) {
273
- th_counter++;
274
- const files = clr.response_files?.length
275
- ? clr.response_files.map(f => ({
276
- file_id: f.file_id,
277
- file_name: f.file_name,
278
- file_size: f.file_size ? `${Math.round(f.file_size / 1024)}k` : undefined,
279
- }))
280
- : undefined;
281
- thread.push({
282
- thread_id: `th_${th_counter}`,
283
- form_instance: latest_instance,
284
- role: 'client',
285
- action: 'responded',
286
- choice: clr.response_choice,
287
- comment: clr.user_comment,
288
- files,
289
- time: clr.updated_at || new Date().toISOString(),
290
- });
291
- }
292
- }
293
- else {
294
- // No thread — synthesize from the clarification's data
295
- // 1. System issue
296
- th_counter++;
297
- thread.push({
298
- thread_id: `th_${th_counter}`,
299
- form_instance: source_instance,
300
- role: 'system',
301
- action: 'issue_found',
302
- message: clr.issue_description,
303
- time: clr.created_at || new Date().toISOString(),
304
- });
305
- // 2. Client response (if any)
306
- if (clr.response_choice || clr.user_comment) {
307
- th_counter++;
308
- const files = clr.response_files?.length
309
- ? clr.response_files.map(f => ({
310
- file_id: f.file_id,
311
- file_name: f.file_name,
312
- file_size: f.file_size ? `${Math.round(f.file_size / 1024)}k` : undefined,
313
- }))
314
- : undefined;
315
- // Client response belongs to the latest instance (may be different from source)
316
- thread.push({
317
- thread_id: `th_${th_counter}`,
318
- form_instance: latest_instance,
319
- role: 'client',
320
- action: 'responded',
321
- choice: clr.response_choice,
322
- comment: clr.user_comment,
323
- files,
324
- time: clr.updated_at || clr.created_at || new Date().toISOString(),
325
- });
326
- }
327
- // 3. Agent review (if any)
328
- if (clr.review_decision) {
329
- th_counter++;
330
- const decision = clr.review_decision === 'skip_process' ? 'accept' : 'send_back';
331
- const rejection_entry = clr.thread?.filter(t => t.role === 'author' && t.action === 'rejected').pop();
332
- thread.push({
333
- thread_id: `th_${th_counter}`,
334
- form_instance: source_instance,
335
- role: 'agent',
336
- action: 'reviewed',
337
- decision,
338
- feedback: clr.agent_feedback || rejection_entry?.message,
339
- user: rejection_entry?.actor_id || rejection_entry?.actor_name || clr.created_by,
340
- user_name: rejection_entry?.actor_name,
341
- time: clr.reviewed_at || clr.updated_at || new Date().toISOString(),
342
- });
343
- }
344
- }
345
- // Build review snapshot — links to the thread entry it reviews
346
- let review = null;
347
- if (clr.review_decision) {
348
- const decision = clr.review_decision === 'skip_process' ? 'accept' : 'send_back';
349
- const rejection_entry = clr.thread?.filter(t => t.role === 'author' && t.action === 'rejected').pop();
350
- // Find which client response the agent was reviewing.
351
- // The review applies to the client response BEFORE the agent's review thread entry.
352
- const agent_thread_idx = thread.findIndex(t => t.role === 'agent' && t.action === 'reviewed');
353
- let reviewed_thread_ref = '';
354
- if (agent_thread_idx > 0) {
355
- // Look backwards from the agent entry to find the client response it reviews
356
- for (let i = agent_thread_idx - 1; i >= 0; i--) {
357
- if (thread[i].role === 'client' && thread[i].action === 'responded') {
358
- reviewed_thread_ref = thread[i].thread_id;
359
- break;
360
- }
361
- }
362
- }
363
- // Check if there's a NEWER client response AFTER the agent's review.
364
- // If so, the review is stale — the client has responded again and needs fresh review.
365
- const last_client_idx = (() => {
366
- for (let i = thread.length - 1; i >= 0; i--) {
367
- if (thread[i].role === 'client' && thread[i].action === 'responded')
368
- return i;
369
- }
370
- return -1;
371
- })();
372
- const has_newer_response = last_client_idx > agent_thread_idx && agent_thread_idx >= 0;
373
- if (has_newer_response) {
374
- // Review is stale — client responded again. Clear it.
375
- review = null;
376
- }
377
- else {
378
- review = {
379
- decision,
380
- thread_ref: reviewed_thread_ref,
381
- feedback: clr.agent_feedback || rejection_entry?.message,
382
- user: rejection_entry?.actor_id || clr.created_by,
383
- user_name: rejection_entry?.actor_name,
384
- time: clr.reviewed_at || rejection_entry?.timestamp || clr.updated_at,
385
- };
386
- }
387
- }
388
- // Build response_data from client response files/text
389
- const response_data = [];
390
- if (clr.response_choice || clr.user_comment || (clr.response_files?.length ?? 0) > 0) {
391
- // Find the LATEST client response thread entry (not the first — there may be multiple rounds)
392
- let client_thread_idx = -1;
393
- for (let i = thread.length - 1; i >= 0; i--) {
394
- if (thread[i].role === 'client' && thread[i].action === 'responded') {
395
- client_thread_idx = i;
396
- break;
397
- }
398
- }
399
- const client_thread = client_thread_idx >= 0 ? thread[client_thread_idx] : null;
400
- const response_pds = [];
401
- let rpd_counter = 0;
402
- if (clr.response_files?.length) {
403
- for (const f of clr.response_files) {
404
- rpd_counter++;
405
- response_pds.push({
406
- processed_data_id: `rpd_${rpd_counter}`,
407
- processed_data_type: 'file',
408
- processed_data_files: {
409
- file_id: f.file_id,
410
- file_name: f.file_name,
411
- file_size: f.file_size ? `${Math.round(f.file_size / 1024)}k` : undefined,
412
- },
413
- });
414
- }
415
- }
416
- else if (clr.user_comment) {
417
- rpd_counter++;
418
- response_pds.push({
419
- processed_data_id: `rpd_${rpd_counter}`,
420
- processed_data_type: 'text',
421
- processed_data_text: clr.user_comment,
422
- });
423
- }
424
- if (response_pds.length > 0 && client_thread) {
425
- response_data.push({
426
- thread_ref: client_thread.thread_id,
427
- thread_index: client_thread_idx,
428
- form_instance: client_thread.form_instance,
429
- processed_data: response_pds,
430
- });
431
- }
432
- }
433
- return {
434
- clarification_id: clr.id,
435
- processed_data_ref: pd_ref,
436
- validation_ref: val_ref,
437
- issue: clr.issue_description,
438
- status: map_clarification_status(clr),
439
- response_options: map_response_options(clr.response_options),
440
- thread,
441
- review,
442
- response_data,
443
- ...(clr.expectation ? { expectation: clr.expectation } : {}),
444
- };
445
- }
446
- /** Convert a v1 ClarificationThreadEntry to a v2 FbThreadEntry */
447
- function convert_thread_entry(t, counter, default_instance) {
448
- const role_map = {
449
- system: 'system',
450
- client: 'client',
451
- author: 'agent',
452
- };
453
- const action_map = {
454
- created: 'issue_found',
455
- responded: 'responded',
456
- rejected: 'reviewed',
457
- resolved: 'reviewed',
458
- reopened: 'responded',
459
- };
460
- const files = t.files?.length
461
- ? t.files.map(f => ({
462
- file_id: f.file_id,
463
- file_name: f.file_name,
464
- file_size: f.file_size ? `${Math.round(f.file_size / 1024)}k` : undefined,
465
- }))
466
- : undefined;
467
- return {
468
- thread_id: `th_${counter}`,
469
- form_instance: default_instance,
470
- role: role_map[t.role] ?? 'system',
471
- action: action_map[t.action] ?? 'issue_found',
472
- time: t.timestamp,
473
- message: t.role === 'system' ? t.message : undefined,
474
- choice: t.response_choice,
475
- comment: t.role === 'client' ? t.message : undefined,
476
- decision: t.action === 'rejected' ? 'send_back' : (t.action === 'resolved' ? 'accept' : undefined),
477
- feedback: t.role === 'author' ? t.message : undefined,
478
- files,
479
- user: t.actor_id,
480
- user_name: t.actor_name,
481
- };
482
- }
483
- //# sourceMappingURL=fb_data_adapter_v2.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fb_data_adapter_v2.js","sourceRoot":"","sources":["../../src/utils/fb_data_adapter_v2.ts"],"names":[],"mappings":"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"}
@@ -1,86 +0,0 @@
1
- /**
2
- * Read helpers for the hierarchical FB form data model.
3
- *
4
- * These functions walk the data[] tree and extract flat views
5
- * that existing components and views can consume.
6
- */
7
- import type { FbDataEntry, FbClarificationBlock, FbClientDataItem, FbProcessedData, FbActivity, FbValidation, FbActivityType } from '../types/fb_form_data_v1.js';
8
- /** Result from walking the data tree — an activity with its path context */
9
- export interface ActivityWithContext {
10
- activity: FbActivity;
11
- processed_data: FbProcessedData;
12
- entry_index: number;
13
- form_instance?: number;
14
- }
15
- /** Result from walking the data tree — a validation with its path context */
16
- export interface ValidationWithContext {
17
- validation: FbValidation;
18
- activity: FbActivity;
19
- processed_data: FbProcessedData;
20
- entry_index: number;
21
- }
22
- /** Result from walking the data tree — a clarification block with context */
23
- export interface ClarificationWithContext {
24
- clarification: FbClarificationBlock;
25
- activity: FbActivity;
26
- processed_data: FbProcessedData;
27
- entry_index: number;
28
- }
29
- /** Get all data entries for a specific form instance */
30
- export declare function get_entries_for_instance(data: FbDataEntry[], form_instance: number): FbDataEntry[];
31
- /** Get all validations across the entire data tree */
32
- export declare function get_all_validations(data: FbDataEntry[]): ValidationWithContext[];
33
- /** Get all failed validations */
34
- export declare function get_failed_validations(data: FbDataEntry[]): ValidationWithContext[];
35
- /** Get all activities of type 'client_question' (RFIs) */
36
- export declare function get_all_rfis(data: FbDataEntry[]): ClarificationWithContext[];
37
- /** Get RFIs that have been issued but not yet responded to */
38
- export declare function get_pending_rfis(data: FbDataEntry[]): ClarificationWithContext[];
39
- /** Get RFIs where the client has responded */
40
- export declare function get_responded_rfis(data: FbDataEntry[]): ClarificationWithContext[];
41
- /** Get all activities with type 'review_client_input' */
42
- export declare function get_review_items(data: FbDataEntry[]): ActivityWithContext[];
43
- /** Get all activities with type 'send_back_to_client' */
44
- export declare function get_send_back_items(data: FbDataEntry[]): ActivityWithContext[];
45
- /** Find an activity by its activity_no anywhere in the tree */
46
- export declare function find_by_activity_no(data: FbDataEntry[], act_no: string): ActivityWithContext | null;
47
- /** Find a processed_data node by its processed_data_id */
48
- export declare function find_by_pd_id(data: FbDataEntry[], pd_id: string): {
49
- pd: FbProcessedData;
50
- entry_index: number;
51
- } | null;
52
- /** Find a validation by its validation_id */
53
- export declare function find_by_validation_id(data: FbDataEntry[], val_id: string): ValidationWithContext | null;
54
- /** Find a client data item by its input_elt_id */
55
- export declare function find_by_ie_id(data: FbDataEntry[], ie_id: string): FbClientDataItem | null;
56
- /** Classification summary entry (maps to the old FbClassificationResult shape) */
57
- export interface ClassificationSummaryItem {
58
- processed_data_id: string;
59
- tags: string[];
60
- category: string[];
61
- nature: string[];
62
- source_text?: string;
63
- source_file?: {
64
- file_id: string;
65
- file_name: string;
66
- };
67
- }
68
- /** Extract a classification summary from all processed_data nodes */
69
- export declare function get_classification_summary(data: FbDataEntry[]): ClassificationSummaryItem[];
70
- /** File validation summary entry (maps to the old FbFileValidationResult shape) */
71
- export interface FileValidationSummaryItem {
72
- file_id: string;
73
- file_name: string;
74
- validations: FbValidation[];
75
- has_failures: boolean;
76
- all_passed: boolean;
77
- }
78
- /** Extract per-file validation summaries from data[] */
79
- export declare function get_file_validation_summary(data: FbDataEntry[]): Map<string, FileValidationSummaryItem>;
80
- /** Get all activities filtered by type */
81
- export declare function get_activities_by_type(data: FbDataEntry[], type: FbActivityType): ActivityWithContext[];
82
- /** Count data entries by form_instance */
83
- export declare function count_entries_by_instance(data: FbDataEntry[]): Map<number, number>;
84
- /** Get the highest form_instance number in the data */
85
- export declare function get_max_form_instance(data: FbDataEntry[]): number;
86
- //# sourceMappingURL=fb_data_helpers.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fb_data_helpers.d.ts","sourceRoot":"","sources":["../../src/utils/fb_data_helpers.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,WAAW,EACX,oBAAoB,EACpB,gBAAgB,EAEhB,eAAe,EACf,UAAU,EACV,YAAY,EACZ,cAAc,EACf,MAAM,6BAA6B,CAAC;AAMrC,4EAA4E;AAC5E,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,UAAU,CAAC;IACrB,cAAc,EAAE,eAAe,CAAC;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,6EAA6E;AAC7E,MAAM,WAAW,qBAAqB;IACpC,UAAU,EAAE,YAAY,CAAC;IACzB,QAAQ,EAAE,UAAU,CAAC;IACrB,cAAc,EAAE,eAAe,CAAC;IAChC,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,6EAA6E;AAC7E,MAAM,WAAW,wBAAwB;IACvC,aAAa,EAAE,oBAAoB,CAAC;IACpC,QAAQ,EAAE,UAAU,CAAC;IACrB,cAAc,EAAE,eAAe,CAAC;IAChC,WAAW,EAAE,MAAM,CAAC;CACrB;AAuED,wDAAwD;AACxD,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,aAAa,EAAE,MAAM,GAAG,WAAW,EAAE,CAKlG;AAMD,sDAAsD;AACtD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,qBAAqB,EAAE,CAUhF;AAED,iCAAiC;AACjC,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,qBAAqB,EAAE,CAEnF;AAMD,0DAA0D;AAC1D,wBAAgB,YAAY,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,wBAAwB,EAAE,CAQ5E;AAED,8DAA8D;AAC9D,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,wBAAwB,EAAE,CAKhF;AAED,8CAA8C;AAC9C,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,wBAAwB,EAAE,CAKlF;AAMD,yDAAyD;AACzD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,mBAAmB,EAAE,CAQ3E;AAED,yDAAyD;AACzD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,mBAAmB,EAAE,CAQ9E;AAMD,+DAA+D;AAC/D,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,mBAAmB,GAAG,IAAI,CAQnG;AAED,0DAA0D;AAC1D,wBAAgB,aAAa,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG;IAAE,EAAE,EAAE,eAAe,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAQrH;AAED,6CAA6C;AAC7C,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,qBAAqB,GAAG,IAAI,CAGvG;AAED,kDAAkD;AAClD,wBAAgB,aAAa,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI,CAezF;AAMD,kFAAkF;AAClF,MAAM,WAAW,yBAAyB;IACxC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;CACtD;AAED,qEAAqE;AACrE,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,yBAAyB,EAAE,CAkB3F;AAED,mFAAmF;AACnF,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,YAAY,EAAE,CAAC;IAC5B,YAAY,EAAE,OAAO,CAAC;IACtB,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,wDAAwD;AACxD,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAgCvG;AAED,0CAA0C;AAC1C,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,cAAc,GAAG,mBAAmB,EAAE,CAQvG;AAED,0CAA0C;AAC1C,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CASlF;AAED,uDAAuD;AACvD,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,MAAM,CAOjE"}