hazo_collab_forms 3.1.6 → 5.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 (284) hide show
  1. package/CHANGE_LOG.md +207 -0
  2. package/README.md +3 -0
  3. package/dist/components/clarification/clarification_item_body.d.ts +19 -1
  4. package/dist/components/clarification/clarification_item_body.d.ts.map +1 -1
  5. package/dist/components/clarification/clarification_item_body.js +114 -6
  6. package/dist/components/clarification/clarification_item_body.js.map +1 -1
  7. package/dist/components/clarification/clarification_thread.js +1 -1
  8. package/dist/components/clarification/clarification_thread.js.map +1 -1
  9. package/dist/components/clarification/index.d.ts +2 -0
  10. package/dist/components/clarification/index.d.ts.map +1 -1
  11. package/dist/components/clarification/index.js +1 -0
  12. package/dist/components/clarification/index.js.map +1 -1
  13. package/dist/components/clarification/resolution_status_strip.d.ts +18 -0
  14. package/dist/components/clarification/resolution_status_strip.d.ts.map +1 -0
  15. package/dist/components/clarification/resolution_status_strip.js +20 -0
  16. package/dist/components/clarification/resolution_status_strip.js.map +1 -0
  17. package/dist/components/hazo_fb_form/context.d.ts +1 -1
  18. package/dist/components/hazo_fb_form/context.d.ts.map +1 -1
  19. package/dist/components/hazo_fb_form/hazo_fb_form.d.ts.map +1 -1
  20. package/dist/components/hazo_fb_form/hazo_fb_form.js +330 -113
  21. package/dist/components/hazo_fb_form/hazo_fb_form.js.map +1 -1
  22. package/dist/components/hazo_fb_form/hooks/use_fb_form_state.d.ts +3 -3
  23. package/dist/components/hazo_fb_form/hooks/use_fb_form_state.d.ts.map +1 -1
  24. package/dist/components/hazo_fb_form/hooks/use_fb_form_state.js +340 -61
  25. package/dist/components/hazo_fb_form/hooks/use_fb_form_state.js.map +1 -1
  26. package/dist/components/hazo_fb_form/hooks/use_llm_run.d.ts +3 -1
  27. package/dist/components/hazo_fb_form/hooks/use_llm_run.d.ts.map +1 -1
  28. package/dist/components/hazo_fb_form/hooks/use_llm_run.js +89 -11
  29. package/dist/components/hazo_fb_form/hooks/use_llm_run.js.map +1 -1
  30. package/dist/components/hazo_fb_form/shared/agent_stepper.js +1 -1
  31. package/dist/components/hazo_fb_form/shared/agent_stepper.js.map +1 -1
  32. package/dist/components/hazo_fb_form/shared/file_status_accordion.d.ts +9 -0
  33. package/dist/components/hazo_fb_form/shared/file_status_accordion.d.ts.map +1 -0
  34. package/dist/components/hazo_fb_form/shared/file_status_accordion.js +39 -0
  35. package/dist/components/hazo_fb_form/shared/file_status_accordion.js.map +1 -0
  36. package/dist/components/hazo_fb_form/shared/format.d.ts.map +1 -1
  37. package/dist/components/hazo_fb_form/shared/format.js +8 -3
  38. package/dist/components/hazo_fb_form/shared/format.js.map +1 -1
  39. package/dist/components/hazo_fb_form/shared/send_back_item_card.d.ts +7 -1
  40. package/dist/components/hazo_fb_form/shared/send_back_item_card.d.ts.map +1 -1
  41. package/dist/components/hazo_fb_form/shared/send_back_item_card.js +6 -3
  42. package/dist/components/hazo_fb_form/shared/send_back_item_card.js.map +1 -1
  43. package/dist/components/hazo_fb_form/types.d.ts +3 -1
  44. package/dist/components/hazo_fb_form/types.d.ts.map +1 -1
  45. package/dist/components/hazo_fb_form/views/back_office_view.js +1 -1
  46. package/dist/components/hazo_fb_form/views/back_office_view.js.map +1 -1
  47. package/dist/components/hazo_fb_form/views/clarifications_view.js +2 -2
  48. package/dist/components/hazo_fb_form/views/clarifications_view.js.map +1 -1
  49. package/dist/components/hazo_fb_form/views/front_office_view.d.ts.map +1 -1
  50. package/dist/components/hazo_fb_form/views/front_office_view.js +62 -41
  51. package/dist/components/hazo_fb_form/views/front_office_view.js.map +1 -1
  52. package/dist/components/hazo_fb_form/views/interim_view.js +3 -3
  53. package/dist/components/hazo_fb_form/views/interim_view.js.map +1 -1
  54. package/dist/components/hazo_fb_form/views/review_queue_view.d.ts.map +1 -1
  55. package/dist/components/hazo_fb_form/views/review_queue_view.js +22 -9
  56. package/dist/components/hazo_fb_form/views/review_queue_view.js.map +1 -1
  57. package/dist/components/hazo_validation_rule_editor/components/rule_editor.d.ts.map +1 -1
  58. package/dist/components/hazo_validation_rule_editor/components/rule_editor.js +32 -3
  59. package/dist/components/hazo_validation_rule_editor/components/rule_editor.js.map +1 -1
  60. package/dist/components/hazo_validation_rule_editor/components/variable_chain_input.d.ts +20 -0
  61. package/dist/components/hazo_validation_rule_editor/components/variable_chain_input.d.ts.map +1 -0
  62. package/dist/components/hazo_validation_rule_editor/components/variable_chain_input.js +34 -0
  63. package/dist/components/hazo_validation_rule_editor/components/variable_chain_input.js.map +1 -0
  64. package/dist/components/hazo_validation_rule_editor/context.d.ts +3 -2
  65. package/dist/components/hazo_validation_rule_editor/context.d.ts.map +1 -1
  66. package/dist/components/hazo_validation_rule_editor/context.js +15 -3
  67. package/dist/components/hazo_validation_rule_editor/context.js.map +1 -1
  68. package/dist/components/hazo_validation_rule_editor/types.d.ts +7 -1
  69. package/dist/components/hazo_validation_rule_editor/types.d.ts.map +1 -1
  70. package/dist/components/hazo_validation_rule_editor/validation_rule_editor.d.ts +1 -1
  71. package/dist/components/hazo_validation_rule_editor/validation_rule_editor.d.ts.map +1 -1
  72. package/dist/components/hazo_validation_rule_editor/validation_rule_editor.js +2 -2
  73. package/dist/components/hazo_validation_rule_editor/validation_rule_editor.js.map +1 -1
  74. package/dist/components/index.d.ts +2 -0
  75. package/dist/components/index.d.ts.map +1 -1
  76. package/dist/components/index.js +2 -0
  77. package/dist/components/index.js.map +1 -1
  78. package/dist/components/shared/document_type_editor.d.ts +31 -0
  79. package/dist/components/shared/document_type_editor.d.ts.map +1 -0
  80. package/dist/components/shared/document_type_editor.js +60 -0
  81. package/dist/components/shared/document_type_editor.js.map +1 -0
  82. package/dist/components/shared/file_bar/file_bar.d.ts +7 -1
  83. package/dist/components/shared/file_bar/file_bar.d.ts.map +1 -1
  84. package/dist/components/shared/file_bar/file_bar.js +5 -3
  85. package/dist/components/shared/file_bar/file_bar.js.map +1 -1
  86. package/dist/components/shared/file_bar/file_bar_validation_dialog.js +4 -4
  87. package/dist/components/shared/file_bar/file_bar_validation_dialog.js.map +1 -1
  88. package/dist/components/shared/file_status_icon.d.ts +23 -0
  89. package/dist/components/shared/file_status_icon.d.ts.map +1 -0
  90. package/dist/components/shared/file_status_icon.js +38 -0
  91. package/dist/components/shared/file_status_icon.js.map +1 -0
  92. package/dist/components/shared/json_data_panel/json_data_panel.d.ts +1 -1
  93. package/dist/components/shared/json_data_panel/json_data_panel.d.ts.map +1 -1
  94. package/dist/components/shared/json_data_panel/json_data_panel.js +27 -2
  95. package/dist/components/shared/json_data_panel/json_data_panel.js.map +1 -1
  96. package/dist/components/shared/rule_result_card.d.ts.map +1 -1
  97. package/dist/components/shared/rule_result_card.js +5 -4
  98. package/dist/components/shared/rule_result_card.js.map +1 -1
  99. package/dist/components/thread_form/components/add_question_dialog.d.ts +12 -0
  100. package/dist/components/thread_form/components/add_question_dialog.d.ts.map +1 -0
  101. package/dist/components/thread_form/components/add_question_dialog.js +36 -0
  102. package/dist/components/thread_form/components/add_question_dialog.js.map +1 -0
  103. package/dist/components/thread_form/components/agent_compose_dialog.d.ts +30 -0
  104. package/dist/components/thread_form/components/agent_compose_dialog.d.ts.map +1 -0
  105. package/dist/components/thread_form/components/agent_compose_dialog.js +45 -0
  106. package/dist/components/thread_form/components/agent_compose_dialog.js.map +1 -0
  107. package/dist/components/thread_form/components/clarification.d.ts +14 -0
  108. package/dist/components/thread_form/components/clarification.d.ts.map +1 -0
  109. package/dist/components/thread_form/components/clarification.js +12 -0
  110. package/dist/components/thread_form/components/clarification.js.map +1 -0
  111. package/dist/components/thread_form/components/collected_data_view.d.ts +15 -0
  112. package/dist/components/thread_form/components/collected_data_view.d.ts.map +1 -0
  113. package/dist/components/thread_form/components/collected_data_view.js +121 -0
  114. package/dist/components/thread_form/components/collected_data_view.js.map +1 -0
  115. package/dist/components/thread_form/components/coverage_card.d.ts +11 -0
  116. package/dist/components/thread_form/components/coverage_card.d.ts.map +1 -0
  117. package/dist/components/thread_form/components/coverage_card.js +60 -0
  118. package/dist/components/thread_form/components/coverage_card.js.map +1 -0
  119. package/dist/components/thread_form/components/file_bar.d.ts +93 -0
  120. package/dist/components/thread_form/components/file_bar.d.ts.map +1 -0
  121. package/dist/components/thread_form/components/file_bar.js +251 -0
  122. package/dist/components/thread_form/components/file_bar.js.map +1 -0
  123. package/dist/components/thread_form/components/file_info_dialog.d.ts +15 -0
  124. package/dist/components/thread_form/components/file_info_dialog.d.ts.map +1 -0
  125. package/dist/components/thread_form/components/file_info_dialog.js +64 -0
  126. package/dist/components/thread_form/components/file_info_dialog.js.map +1 -0
  127. package/dist/components/thread_form/components/issue_group_tree.d.ts +20 -0
  128. package/dist/components/thread_form/components/issue_group_tree.d.ts.map +1 -0
  129. package/dist/components/thread_form/components/issue_group_tree.js +164 -0
  130. package/dist/components/thread_form/components/issue_group_tree.js.map +1 -0
  131. package/dist/components/thread_form/components/pdf_side_panel.d.ts +20 -0
  132. package/dist/components/thread_form/components/pdf_side_panel.d.ts.map +1 -0
  133. package/dist/components/thread_form/components/pdf_side_panel.js +63 -0
  134. package/dist/components/thread_form/components/pdf_side_panel.js.map +1 -0
  135. package/dist/components/thread_form/components/rule_decision_row.d.ts +31 -0
  136. package/dist/components/thread_form/components/rule_decision_row.d.ts.map +1 -0
  137. package/dist/components/thread_form/components/rule_decision_row.js +20 -0
  138. package/dist/components/thread_form/components/rule_decision_row.js.map +1 -0
  139. package/dist/components/thread_form/components/send_back_message.d.ts +32 -0
  140. package/dist/components/thread_form/components/send_back_message.d.ts.map +1 -0
  141. package/dist/components/thread_form/components/send_back_message.js +82 -0
  142. package/dist/components/thread_form/components/send_back_message.js.map +1 -0
  143. package/dist/components/thread_form/components/shared.d.ts +54 -0
  144. package/dist/components/thread_form/components/shared.d.ts.map +1 -0
  145. package/dist/components/thread_form/components/shared.js +136 -0
  146. package/dist/components/thread_form/components/shared.js.map +1 -0
  147. package/dist/components/thread_form/components/task_card.d.ts +90 -0
  148. package/dist/components/thread_form/components/task_card.d.ts.map +1 -0
  149. package/dist/components/thread_form/components/task_card.js +63 -0
  150. package/dist/components/thread_form/components/task_card.js.map +1 -0
  151. package/dist/components/thread_form/components/text_doc_check.d.ts +15 -0
  152. package/dist/components/thread_form/components/text_doc_check.d.ts.map +1 -0
  153. package/dist/components/thread_form/components/text_doc_check.js +16 -0
  154. package/dist/components/thread_form/components/text_doc_check.js.map +1 -0
  155. package/dist/components/thread_form/components/text_extraction.d.ts +14 -0
  156. package/dist/components/thread_form/components/text_extraction.d.ts.map +1 -0
  157. package/dist/components/thread_form/components/text_extraction.js +16 -0
  158. package/dist/components/thread_form/components/text_extraction.js.map +1 -0
  159. package/dist/components/thread_form/components/thread_composer.d.ts +15 -0
  160. package/dist/components/thread_form/components/thread_composer.d.ts.map +1 -0
  161. package/dist/components/thread_form/components/thread_composer.js +93 -0
  162. package/dist/components/thread_form/components/thread_composer.js.map +1 -0
  163. package/dist/components/thread_form/components/thread_timeline.d.ts +65 -0
  164. package/dist/components/thread_form/components/thread_timeline.d.ts.map +1 -0
  165. package/dist/components/thread_form/components/thread_timeline.js +225 -0
  166. package/dist/components/thread_form/components/thread_timeline.js.map +1 -0
  167. package/dist/components/thread_form/hooks/use_file_pipeline.d.ts +126 -0
  168. package/dist/components/thread_form/hooks/use_file_pipeline.d.ts.map +1 -0
  169. package/dist/components/thread_form/hooks/use_file_pipeline.js +760 -0
  170. package/dist/components/thread_form/hooks/use_file_pipeline.js.map +1 -0
  171. package/dist/components/thread_form/hooks/use_thread_form.d.ts +36 -0
  172. package/dist/components/thread_form/hooks/use_thread_form.d.ts.map +1 -0
  173. package/dist/components/thread_form/hooks/use_thread_form.js +126 -0
  174. package/dist/components/thread_form/hooks/use_thread_form.js.map +1 -0
  175. package/dist/components/thread_form/index.d.ts +33 -0
  176. package/dist/components/thread_form/index.d.ts.map +1 -0
  177. package/dist/components/thread_form/index.js +30 -0
  178. package/dist/components/thread_form/index.js.map +1 -0
  179. package/dist/components/thread_form/sample_data.d.ts +8 -0
  180. package/dist/components/thread_form/sample_data.d.ts.map +1 -0
  181. package/dist/components/thread_form/sample_data.js +658 -0
  182. package/dist/components/thread_form/sample_data.js.map +1 -0
  183. package/dist/components/thread_form/thread_form.d.ts +7 -0
  184. package/dist/components/thread_form/thread_form.d.ts.map +1 -0
  185. package/dist/components/thread_form/thread_form.js +1385 -0
  186. package/dist/components/thread_form/thread_form.js.map +1 -0
  187. package/dist/components/thread_form/types.d.ts +402 -0
  188. package/dist/components/thread_form/types.d.ts.map +1 -0
  189. package/dist/components/thread_form/types.js +23 -0
  190. package/dist/components/thread_form/types.js.map +1 -0
  191. package/dist/components/thread_form/utils/file_decision_state.d.ts +22 -0
  192. package/dist/components/thread_form/utils/file_decision_state.d.ts.map +1 -0
  193. package/dist/components/thread_form/utils/file_decision_state.js +37 -0
  194. package/dist/components/thread_form/utils/file_decision_state.js.map +1 -0
  195. package/dist/components/thread_form/utils/merge_send_back.d.ts +13 -0
  196. package/dist/components/thread_form/utils/merge_send_back.d.ts.map +1 -0
  197. package/dist/components/thread_form/utils/merge_send_back.js +23 -0
  198. package/dist/components/thread_form/utils/merge_send_back.js.map +1 -0
  199. package/dist/lib/autofill_handler.d.ts.map +1 -1
  200. package/dist/lib/autofill_handler.js +5 -44
  201. package/dist/lib/autofill_handler.js.map +1 -1
  202. package/dist/lib/classification_handler.d.ts +105 -0
  203. package/dist/lib/classification_handler.d.ts.map +1 -0
  204. package/dist/lib/classification_handler.js +342 -0
  205. package/dist/lib/classification_handler.js.map +1 -0
  206. package/dist/lib/content_gate_handler.d.ts +37 -0
  207. package/dist/lib/content_gate_handler.d.ts.map +1 -0
  208. package/dist/lib/content_gate_handler.js +126 -0
  209. package/dist/lib/content_gate_handler.js.map +1 -0
  210. package/dist/lib/index.d.ts +10 -0
  211. package/dist/lib/index.d.ts.map +1 -1
  212. package/dist/lib/index.js +5 -0
  213. package/dist/lib/index.js.map +1 -1
  214. package/dist/lib/periodic_coverage_runner.d.ts +24 -0
  215. package/dist/lib/periodic_coverage_runner.d.ts.map +1 -0
  216. package/dist/lib/periodic_coverage_runner.js +121 -0
  217. package/dist/lib/periodic_coverage_runner.js.map +1 -0
  218. package/dist/lib/resolution_handler.d.ts +150 -0
  219. package/dist/lib/resolution_handler.d.ts.map +1 -0
  220. package/dist/lib/resolution_handler.js +597 -0
  221. package/dist/lib/resolution_handler.js.map +1 -0
  222. package/dist/lib/resolve_variable.d.ts +25 -0
  223. package/dist/lib/resolve_variable.d.ts.map +1 -0
  224. package/dist/lib/resolve_variable.js +77 -0
  225. package/dist/lib/resolve_variable.js.map +1 -0
  226. package/dist/lib/validation_handler.d.ts +27 -3
  227. package/dist/lib/validation_handler.d.ts.map +1 -1
  228. package/dist/lib/validation_handler.js +338 -288
  229. package/dist/lib/validation_handler.js.map +1 -1
  230. package/dist/types/clarification.d.ts +54 -0
  231. package/dist/types/clarification.d.ts.map +1 -1
  232. package/dist/types/fb_form_data.d.ts +273 -123
  233. package/dist/types/fb_form_data.d.ts.map +1 -1
  234. package/dist/types/fb_form_data.js +44 -58
  235. package/dist/types/fb_form_data.js.map +1 -1
  236. package/dist/types/fb_form_data_v1.d.ts +250 -0
  237. package/dist/types/fb_form_data_v1.d.ts.map +1 -0
  238. package/dist/types/fb_form_data_v1.js +117 -0
  239. package/dist/types/fb_form_data_v1.js.map +1 -0
  240. package/dist/types/fb_form_instance.d.ts +1 -1
  241. package/dist/types/fb_form_instance.d.ts.map +1 -1
  242. package/dist/types/index.d.ts +5 -3
  243. package/dist/types/index.d.ts.map +1 -1
  244. package/dist/types/index.js +2 -1
  245. package/dist/types/index.js.map +1 -1
  246. package/dist/types/validation.d.ts +134 -12
  247. package/dist/types/validation.d.ts.map +1 -1
  248. package/dist/utils/expectation_extractor.d.ts +31 -0
  249. package/dist/utils/expectation_extractor.d.ts.map +1 -0
  250. package/dist/utils/expectation_extractor.js +142 -0
  251. package/dist/utils/expectation_extractor.js.map +1 -0
  252. package/dist/utils/fb_data_adapter.d.ts +7 -2
  253. package/dist/utils/fb_data_adapter.d.ts.map +1 -1
  254. package/dist/utils/fb_data_adapter.js +58 -7
  255. package/dist/utils/fb_data_adapter.js.map +1 -1
  256. package/dist/utils/fb_data_adapter_v2.d.ts +17 -0
  257. package/dist/utils/fb_data_adapter_v2.d.ts.map +1 -0
  258. package/dist/utils/fb_data_adapter_v2.js +483 -0
  259. package/dist/utils/fb_data_adapter_v2.js.map +1 -0
  260. package/dist/utils/fb_data_helpers.d.ts +1 -1
  261. package/dist/utils/fb_data_helpers.d.ts.map +1 -1
  262. package/dist/utils/fb_data_mutations.d.ts +1 -1
  263. package/dist/utils/fb_data_mutations.d.ts.map +1 -1
  264. package/dist/utils/fb_data_mutations_v2.d.ts +46 -0
  265. package/dist/utils/fb_data_mutations_v2.d.ts.map +1 -0
  266. package/dist/utils/fb_data_mutations_v2.js +341 -0
  267. package/dist/utils/fb_data_mutations_v2.js.map +1 -0
  268. package/dist/utils/fb_data_queries.d.ts +81 -0
  269. package/dist/utils/fb_data_queries.d.ts.map +1 -0
  270. package/dist/utils/fb_data_queries.js +354 -0
  271. package/dist/utils/fb_data_queries.js.map +1 -0
  272. package/dist/utils/index.d.ts +4 -0
  273. package/dist/utils/index.d.ts.map +1 -1
  274. package/dist/utils/index.js +6 -0
  275. package/dist/utils/index.js.map +1 -1
  276. package/dist/utils/issue_bucketing.d.ts +36 -0
  277. package/dist/utils/issue_bucketing.d.ts.map +1 -0
  278. package/dist/utils/issue_bucketing.js +107 -0
  279. package/dist/utils/issue_bucketing.js.map +1 -0
  280. package/dist/utils/validation_result.d.ts +32 -0
  281. package/dist/utils/validation_result.d.ts.map +1 -0
  282. package/dist/utils/validation_result.js +55 -0
  283. package/dist/utils/validation_result.js.map +1 -0
  284. package/package.json +16 -4
@@ -1,32 +1,37 @@
1
1
  /**
2
- * Hierarchical data model for FB Form instances.
2
+ * Hierarchical data model v2 for FB Form instances.
3
3
  *
4
- * This replaces the flat FbFormInstance collections (sent_clarifications,
5
- * classification_results, file_validation_results) with a unified data[] array
6
- * that captures the full lifecycle of each piece of client input:
4
+ * Single source of truth for all form data across instances. The structure is
5
+ * flattened compared to v1 validations and clarifications are direct arrays
6
+ * on each entry rather than nested inside activities[].
7
7
  *
8
8
  * data[]
9
- * ├── question/clarification (tagged with form_instance)
10
- * │ └── client_data[]
11
- * │ └── client_input → processed_data[]
12
- * │ └── activities[]
13
- * │ ├── validation
14
- * │ ├── client_question (RFI) → clarification → client_data (recursive)
15
- * │ ├── review_client_input
16
- * │ └── send_back_to_client
9
+ * ├── question (tagged with form_instance)
10
+ * ├── client_data[]
11
+ * │ └── client_input → processed_data[] (LLM-split items)
12
+ * ├── validations[] (flat, each with processed_data_ref)
13
+ * └── clarifications[] (flat, each with thread[], review, response_data[])
14
+ *
15
+ * Key design principles:
16
+ * - Instance-independent: one data[] spans all form instances
17
+ * - Thread captures full conversation history across instances
18
+ * - Review decisions are direct properties, not buried in activities
19
+ * - Clarifications reference processed_data via IDs, not nesting
20
+ * - response_data links to thread entries via thread_ref + thread_index
17
21
  *
18
22
  * ID notation:
19
- * ie_N — input element (sequential)
20
- * pd_N.M — processed data (ie prefix + sequential suffix)
21
- * act_N.M.S activity (pd prefix + sequential suffix)
22
- * val_N.M.S.V validation (act prefix + sequential suffix)
23
+ * ie_N — input element (sequential)
24
+ * pd_N.M — processed data (ie prefix + sequential suffix)
25
+ * val_N validation (sequential within entry)
26
+ * clr_* clarification (real IDs, not synthetic)
27
+ * th_N — thread entry (sequential within clarification)
23
28
  */
24
29
  // ========================================
25
30
  // ID Generation Utilities
26
31
  // ========================================
27
32
  /**
28
33
  * Extract the numeric suffix from an ID string.
29
- * e.g. 'ie_3' → 3, 'pd_1.2' → 2, 'act_1.1.3' → 3
34
+ * e.g. 'ie_3' → 3, 'pd_1.2' → 2, 'th_5' → 5
30
35
  */
31
36
  function extract_last_number(id) {
32
37
  const parts = id.split('_');
@@ -39,40 +44,24 @@ function extract_last_number(id) {
39
44
  */
40
45
  function find_max_ie_num(data) {
41
46
  let max = 0;
42
- const walk_client_data = (items) => {
43
- if (!items)
44
- return;
45
- for (const item of items) {
47
+ for (const entry of data) {
48
+ if (!entry.client_data)
49
+ continue;
50
+ for (const item of entry.client_data) {
46
51
  const num = extract_last_number(item.input_elt_id);
47
52
  if (num > max)
48
53
  max = num;
49
54
  }
50
- };
51
- const walk_clarification = (block) => {
52
- if (!block)
53
- return;
54
- walk_client_data(block.client_data);
55
- // Walk nested clarifications in activities
56
- if (block.client_data) {
57
- for (const cdi of block.client_data) {
58
- const inputs = Array.isArray(cdi.client_input) ? cdi.client_input : [cdi.client_input];
59
- for (const input of inputs) {
60
- if (input.processed_data) {
61
- for (const pd of input.processed_data) {
62
- if (pd.activities) {
63
- for (const act of pd.activities) {
64
- walk_clarification(act.clarification);
65
- }
66
- }
67
- }
68
- }
55
+ // Also check response_data in clarifications
56
+ for (const clr of entry.clarifications ?? []) {
57
+ for (const rd of clr.response_data) {
58
+ for (const pd of rd.processed_data) {
59
+ const num = extract_last_number(pd.processed_data_id);
60
+ if (num > max)
61
+ max = num;
69
62
  }
70
63
  }
71
64
  }
72
- };
73
- for (const entry of data) {
74
- walk_client_data(entry.client_data);
75
- walk_clarification(entry.clarification);
76
65
  }
77
66
  return max;
78
67
  }
@@ -90,28 +79,25 @@ export function next_pd_id(ie_num, existing_pds) {
90
79
  }
91
80
  return `pd_${ie_num}.${max + 1}`;
92
81
  }
93
- /** Generate the next activity number (act_N.M.S) for a given processed data prefix */
94
- export function next_act_id(pd_id, existing_activities) {
95
- // pd_id is like 'pd_1.2' → prefix is '1.2'
96
- const prefix = pd_id.replace('pd_', '');
82
+ /** Generate the next validation ID (val_N) within an entry */
83
+ export function next_val_id(existing_validations) {
97
84
  let max = 0;
98
- for (const act of existing_activities) {
99
- const num = extract_last_number(act.activity_info.activity_no);
85
+ for (const v of existing_validations) {
86
+ const num = extract_last_number(v.validation_id);
100
87
  if (num > max)
101
88
  max = num;
102
89
  }
103
- return `act_${prefix}.${max + 1}`;
90
+ return `val_${max + 1}`;
104
91
  }
105
- /** Generate the next validation ID (val_N.M.S.V) for a given activity prefix */
106
- export function next_val_id(act_no, existing_validations) {
107
- // act_no is like 'act_1.1.1' → prefix is '1.1.1'
108
- const prefix = act_no.replace('act_', '');
92
+ /** Generate the next thread ID (th_N) within a clarification */
93
+ export function next_thread_id(existing_thread) {
109
94
  let max = 0;
110
- for (const val of existing_validations) {
111
- const num = extract_last_number(val.validation_id);
95
+ for (const t of existing_thread) {
96
+ const num = extract_last_number(t.thread_id);
112
97
  if (num > max)
113
98
  max = num;
114
99
  }
115
- return `val_${prefix}.${max + 1}`;
100
+ return `th_${max + 1}`;
116
101
  }
102
+ export { next_act_id, next_val_id as next_val_id_v1, next_ie_id as next_ie_id_v1, next_pd_id as next_pd_id_v1, } from './fb_form_data_v1.js';
117
103
  //# sourceMappingURL=fb_form_data.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fb_form_data.js","sourceRoot":"","sources":["../../src/types/fb_form_data.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fb_form_data.js","sourceRoot":"","sources":["../../src/types/fb_form_data.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,250 @@
1
+ /**
2
+ * Hierarchical data model for FB Form instances.
3
+ *
4
+ * This replaces the flat FbFormInstance collections (sent_clarifications,
5
+ * classification_results, file_validation_results) with a unified data[] array
6
+ * that captures the full lifecycle of each piece of client input:
7
+ *
8
+ * data[]
9
+ * ├── question/clarification (tagged with form_instance)
10
+ * │ └── client_data[]
11
+ * │ └── client_input → processed_data[]
12
+ * │ └── activities[]
13
+ * │ ├── validation
14
+ * │ ├── client_question (RFI) → clarification → client_data (recursive)
15
+ * │ ├── review_client_input
16
+ * │ └── send_back_to_client
17
+ *
18
+ * ID notation:
19
+ * ie_N — input element (sequential)
20
+ * pd_N.M — processed data (ie prefix + sequential suffix)
21
+ * act_N.M.S — activity (pd prefix + sequential suffix)
22
+ * val_N.M.S.V — validation (act prefix + sequential suffix)
23
+ */
24
+ /** The root data structure holding all form data entries across instances */
25
+ export interface FbFormData {
26
+ data: FbDataEntry[];
27
+ }
28
+ /**
29
+ * A single entry in the data[] array.
30
+ * Either a root question (data_request) or a clarification sourced from a prior activity.
31
+ */
32
+ export interface FbDataEntry {
33
+ /** Present for root data-request questions */
34
+ question?: FbQuestion;
35
+ /** Present for clarification entries (RFI sent back from a prior review) */
36
+ clarification?: FbClarificationBlock;
37
+ /** Client inputs for this entry (when it's a root question, not a clarification) */
38
+ client_data?: FbClientDataItem[];
39
+ }
40
+ /** A question posed to the client — either a data request or a clarification */
41
+ export interface FbQuestion {
42
+ /** Activity that spawned this question (null for root questions from form config) */
43
+ source_id: string | null;
44
+ /** Unique field ID for this question (e.g. 'q1_income', 'clarification_f2_act_2.1.5') */
45
+ question_field_id: string;
46
+ /** Type of question */
47
+ question_type: 'data_request' | 'clarification';
48
+ /** Which form round/instance this belongs to (1, 2, 3, ...) */
49
+ form_instance: number;
50
+ /** UI component to render (e.g. 'HazoCollabFormFileTextbox', 'HazoCollabFormRFIbox') */
51
+ component_type: string;
52
+ /** Human-readable question text shown to the client */
53
+ description: string;
54
+ }
55
+ /** A clarification question with its RFI details and client responses */
56
+ export interface FbClarificationBlock {
57
+ /** The question metadata */
58
+ question: FbQuestion;
59
+ /** Request for Information details */
60
+ rfi: FbRfi;
61
+ /** Client responses to this clarification */
62
+ client_data?: FbClientDataItem[];
63
+ }
64
+ /** A single client input element */
65
+ export interface FbClientDataItem {
66
+ /** Unique input element ID (ie_N notation) */
67
+ input_elt_id: string;
68
+ /** The actual client input — single object or array for multi-block inputs */
69
+ client_input: FbClientInput | FbClientInput[];
70
+ }
71
+ /** Status of a client input element */
72
+ export type FbInputStatus = 'draft' | 'complete';
73
+ /** Client-provided input data */
74
+ export interface FbClientInput {
75
+ /** Type of input provided */
76
+ data_type?: 'text' | 'file' | 'option';
77
+ /** Free-text content */
78
+ data_text?: string;
79
+ /** Selected option code (from rfi_response_options) */
80
+ data_option?: string;
81
+ /** Attached file(s) */
82
+ data_files?: FbFileRef | FbFileRef[] | null;
83
+ /** Input status — 'draft' while editing, 'complete' after explicit submit */
84
+ input_status?: FbInputStatus;
85
+ /** LLM-processed data derived from this input */
86
+ processed_data?: FbProcessedData[];
87
+ }
88
+ /** A single item produced by LLM processing (text splitting or PDF splitting) */
89
+ export interface FbProcessedData {
90
+ /** Unique ID (pd_N.M notation — prefix from input_elt_id, suffix sequential) */
91
+ processed_data_id: string;
92
+ /** Type of processed content */
93
+ processed_data_type: 'text' | 'file' | null;
94
+ /** Extracted/split text content */
95
+ processed_data_text?: string;
96
+ /** File reference for file-type processed data */
97
+ processed_data_files?: FbFileRef;
98
+ /** Classification tags assigned by LLM */
99
+ tags?: string[] | null;
100
+ /** Category classification (e.g. 'bank_interest', 'salary') */
101
+ processed_data_category?: string[] | null;
102
+ /** Nature/document type (e.g. 'Bank Statement', 'Payslip') */
103
+ processed_data_nature?: string[] | null;
104
+ /** Lifecycle activities on this processed data item */
105
+ activities?: FbActivity[] | null;
106
+ }
107
+ /** Activity types in the data lifecycle */
108
+ export type FbActivityType = 'validation' | 'client_question' | 'review_client_input' | 'send_back_to_client' | 'complete' | 'autofill';
109
+ /** Where an activity takes place */
110
+ export type FbActivityLocation = 'client_facing' | 'back_office';
111
+ /** Metadata for an activity */
112
+ export interface FbActivityInfo {
113
+ /** Unique activity number (act_N.M.S notation) */
114
+ activity_no: string;
115
+ /** Type of activity */
116
+ activity_type: FbActivityType;
117
+ /** Where this activity occurs */
118
+ activity_location: FbActivityLocation;
119
+ /** ISO 8601 timestamp with timezone (e.g. "2026-04-08T15:10:00.000+10:00") */
120
+ activity_time?: string;
121
+ /** User ID of the actor who performed this activity */
122
+ activity_user?: string;
123
+ }
124
+ /** A single lifecycle activity on a processed data item */
125
+ export interface FbActivity {
126
+ /** Activity metadata */
127
+ activity_info: FbActivityInfo;
128
+ /** Validation results (when activity_type is 'validation') */
129
+ validations?: FbValidation[];
130
+ /** Clarification/RFI block (when activity_type is 'client_question') */
131
+ clarification?: FbClarificationBlock;
132
+ /** Agent review decision (when activity_type is 'review_client_input') */
133
+ review_decision?: 'accept' | 'send_back';
134
+ /** Agent's review comment / feedback (when activity_type is 'review_client_input') */
135
+ review_comment?: string;
136
+ /** Draft RFI for send-back (when activity_type is 'send_back_to_client') */
137
+ rfi_draft?: FbRfiDraft;
138
+ /** Autofill extraction results (when activity_type is 'autofill') */
139
+ autofill_result?: FbAutofillResult;
140
+ }
141
+ /** Status of a validation check */
142
+ export type FbValidationStatus = 'passed' | 'failed';
143
+ /** A single validation result */
144
+ export interface FbValidation {
145
+ /** Unique validation ID (val_N.M.S.V notation) */
146
+ validation_id: string;
147
+ /** What is being checked (e.g. 'support_check', 'date_check', 'name_check') */
148
+ validation_key: string;
149
+ /** What triggered this validation */
150
+ validation_trigger: 'client_facing' | 'back_office';
151
+ /** Human-readable description of what was validated */
152
+ validation_details: string;
153
+ /** Result */
154
+ validation_status: FbValidationStatus;
155
+ }
156
+ /** RFI status — pipe-separated for multi-state (e.g. 'issued|responded') */
157
+ export type FbRfiStatus = string;
158
+ /** RFI reason codes */
159
+ export type FbRfiReason = 'validation_failed' | 'clarification_rejected' | 'sent_back' | string;
160
+ /** A response option presented to the client in an RFI */
161
+ export interface FbRfiResponseOption {
162
+ /** Machine-readable option code */
163
+ response_code: string;
164
+ /** Human-readable option text */
165
+ response_text: string;
166
+ /** Whether this option allows file uploads */
167
+ accept_files: boolean;
168
+ /** Whether this option allows a text comment */
169
+ accept_comment?: boolean;
170
+ /** Whether the comment is mandatory when this option is selected */
171
+ accept_comment_mandatory?: boolean;
172
+ }
173
+ /** Request for Information details */
174
+ export interface FbRfi {
175
+ /** Reference to the validation that triggered this RFI (null if not validation-driven) */
176
+ validation_id_ref: string | null;
177
+ /** Why this RFI was issued */
178
+ rfi_reason: FbRfiReason;
179
+ /** The original issue description (e.g. validation failure details) */
180
+ rfi_issue: string;
181
+ /** Current status */
182
+ rfi_status: FbRfiStatus;
183
+ /** Reviewer's comment/feedback when sending back (e.g. "recheck please") */
184
+ rfi_comment?: string;
185
+ /** Available response options for the client */
186
+ rfi_response_options: FbRfiResponseOption[];
187
+ }
188
+ /** Draft RFI prepared by an agent for send-back to client */
189
+ export interface FbRfiDraft {
190
+ /** Why this RFI draft was created */
191
+ rfi_reason: FbRfiReason;
192
+ /** The original issue description */
193
+ rfi_issue: string;
194
+ /** Current status */
195
+ rfi_status: FbRfiStatus;
196
+ /** Reviewer's comment/feedback when sending back */
197
+ rfi_comment?: string;
198
+ /** Available response options for the client */
199
+ rfi_response_options: FbRfiResponseOption[];
200
+ }
201
+ /** Result of an autofill extraction for a single file+group */
202
+ export interface FbAutofillResult {
203
+ /** hazo_files file ID that was processed */
204
+ file_id: string;
205
+ /** Display filename */
206
+ file_name: string;
207
+ /** Back-office group ID that received the extracted data */
208
+ group_id: string;
209
+ /** Prompt area used for extraction */
210
+ prompt_area: string;
211
+ /** Prompt key used for extraction */
212
+ prompt_key: string;
213
+ /** Number of fields that were populated */
214
+ fields_populated: number;
215
+ /** Per-field extraction details */
216
+ details: FbAutofillFieldDetail[];
217
+ /** Time taken for the autofill API call in milliseconds */
218
+ duration_ms: number;
219
+ /** Outcome of the extraction */
220
+ status: 'success' | 'error' | 'empty';
221
+ /** Error message (when status is 'error') */
222
+ error?: string;
223
+ }
224
+ /** Detail of a single field populated by autofill */
225
+ export interface FbAutofillFieldDetail {
226
+ /** Field ID that was populated */
227
+ field_id: string;
228
+ /** Human-readable field label */
229
+ field_label: string;
230
+ /** Summary of the extracted value ("N row(s)" for tables, first 50 chars for scalars) */
231
+ value_summary: string;
232
+ }
233
+ /** Reference to a file in hazo_files */
234
+ export interface FbFileRef {
235
+ /** hazo_files file ID */
236
+ file_id: string;
237
+ /** Display filename */
238
+ file_name: string;
239
+ /** Human-readable file size (e.g. '24k', '44kb') */
240
+ file_size?: string;
241
+ }
242
+ /** Generate the next input element ID (ie_N) */
243
+ export declare function next_ie_id(data: FbDataEntry[]): string;
244
+ /** Generate the next processed data ID (pd_N.M) for a given input element number */
245
+ export declare function next_pd_id(ie_num: number, existing_pds: FbProcessedData[]): string;
246
+ /** Generate the next activity number (act_N.M.S) for a given processed data prefix */
247
+ export declare function next_act_id(pd_id: string, existing_activities: FbActivity[]): string;
248
+ /** Generate the next validation ID (val_N.M.S.V) for a given activity prefix */
249
+ export declare function next_val_id(act_no: string, existing_validations: FbValidation[]): string;
250
+ //# sourceMappingURL=fb_form_data_v1.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fb_form_data_v1.d.ts","sourceRoot":"","sources":["../../src/types/fb_form_data_v1.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,117 @@
1
+ /**
2
+ * Hierarchical data model for FB Form instances.
3
+ *
4
+ * This replaces the flat FbFormInstance collections (sent_clarifications,
5
+ * classification_results, file_validation_results) with a unified data[] array
6
+ * that captures the full lifecycle of each piece of client input:
7
+ *
8
+ * data[]
9
+ * ├── question/clarification (tagged with form_instance)
10
+ * │ └── client_data[]
11
+ * │ └── client_input → processed_data[]
12
+ * │ └── activities[]
13
+ * │ ├── validation
14
+ * │ ├── client_question (RFI) → clarification → client_data (recursive)
15
+ * │ ├── review_client_input
16
+ * │ └── send_back_to_client
17
+ *
18
+ * ID notation:
19
+ * ie_N — input element (sequential)
20
+ * pd_N.M — processed data (ie prefix + sequential suffix)
21
+ * act_N.M.S — activity (pd prefix + sequential suffix)
22
+ * val_N.M.S.V — validation (act prefix + sequential suffix)
23
+ */
24
+ // ========================================
25
+ // ID Generation Utilities
26
+ // ========================================
27
+ /**
28
+ * Extract the numeric suffix from an ID string.
29
+ * e.g. 'ie_3' → 3, 'pd_1.2' → 2, 'act_1.1.3' → 3
30
+ */
31
+ function extract_last_number(id) {
32
+ const parts = id.split('_');
33
+ const num_part = parts[parts.length - 1];
34
+ const segments = num_part.split('.');
35
+ return parseInt(segments[segments.length - 1], 10) || 0;
36
+ }
37
+ /**
38
+ * Find the maximum ie_N number across all data entries.
39
+ */
40
+ function find_max_ie_num(data) {
41
+ let max = 0;
42
+ const walk_client_data = (items) => {
43
+ if (!items)
44
+ return;
45
+ for (const item of items) {
46
+ const num = extract_last_number(item.input_elt_id);
47
+ if (num > max)
48
+ max = num;
49
+ }
50
+ };
51
+ const walk_clarification = (block) => {
52
+ if (!block)
53
+ return;
54
+ walk_client_data(block.client_data);
55
+ // Walk nested clarifications in activities
56
+ if (block.client_data) {
57
+ for (const cdi of block.client_data) {
58
+ const inputs = Array.isArray(cdi.client_input) ? cdi.client_input : [cdi.client_input];
59
+ for (const input of inputs) {
60
+ if (input.processed_data) {
61
+ for (const pd of input.processed_data) {
62
+ if (pd.activities) {
63
+ for (const act of pd.activities) {
64
+ walk_clarification(act.clarification);
65
+ }
66
+ }
67
+ }
68
+ }
69
+ }
70
+ }
71
+ }
72
+ };
73
+ for (const entry of data) {
74
+ walk_client_data(entry.client_data);
75
+ walk_clarification(entry.clarification);
76
+ }
77
+ return max;
78
+ }
79
+ /** Generate the next input element ID (ie_N) */
80
+ export function next_ie_id(data) {
81
+ return `ie_${find_max_ie_num(data) + 1}`;
82
+ }
83
+ /** Generate the next processed data ID (pd_N.M) for a given input element number */
84
+ export function next_pd_id(ie_num, existing_pds) {
85
+ let max = 0;
86
+ for (const pd of existing_pds) {
87
+ const num = extract_last_number(pd.processed_data_id);
88
+ if (num > max)
89
+ max = num;
90
+ }
91
+ return `pd_${ie_num}.${max + 1}`;
92
+ }
93
+ /** Generate the next activity number (act_N.M.S) for a given processed data prefix */
94
+ export function next_act_id(pd_id, existing_activities) {
95
+ // pd_id is like 'pd_1.2' → prefix is '1.2'
96
+ const prefix = pd_id.replace('pd_', '');
97
+ let max = 0;
98
+ for (const act of existing_activities) {
99
+ const num = extract_last_number(act.activity_info.activity_no);
100
+ if (num > max)
101
+ max = num;
102
+ }
103
+ return `act_${prefix}.${max + 1}`;
104
+ }
105
+ /** Generate the next validation ID (val_N.M.S.V) for a given activity prefix */
106
+ export function next_val_id(act_no, existing_validations) {
107
+ // act_no is like 'act_1.1.1' → prefix is '1.1.1'
108
+ const prefix = act_no.replace('act_', '');
109
+ let max = 0;
110
+ for (const val of existing_validations) {
111
+ const num = extract_last_number(val.validation_id);
112
+ if (num > max)
113
+ max = num;
114
+ }
115
+ return `val_${prefix}.${max + 1}`;
116
+ }
117
+ //# sourceMappingURL=fb_form_data_v1.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fb_form_data_v1.js","sourceRoot":"","sources":["../../src/types/fb_form_data_v1.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@
4
4
  import type { ViewSection } from '../components/hazo_collab_form_view/types.js';
5
5
  import type { FbClassificationResult, FbFileValidationResult } from '../components/hazo_fb_form/types.js';
6
6
  import type { ClarificationItem } from './clarification.js';
7
- import type { FbDataEntry } from './fb_form_data.js';
7
+ import type { FbDataEntry } from './fb_form_data_v1.js';
8
8
  /** Status of an FB form instance */
9
9
  export type FbInstanceStatus = 'draft' | 'sent_to_client' | 'client_submitted' | 'client_submitted_auto_review' | 'completed' | 'cancelled' | 'archived' | 'active';
10
10
  /** Statuses that represent a terminal (no further action) state */
@@ -1 +1 @@
1
- {"version":3,"file":"fb_form_instance.d.ts","sourceRoot":"","sources":["../../src/types/fb_form_instance.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8CAA8C,CAAC;AAChF,OAAO,KAAK,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAC1G,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD,oCAAoC;AACpC,MAAM,MAAM,gBAAgB,GACxB,OAAO,GACP,gBAAgB,GAChB,kBAAkB,GAClB,8BAA8B,GAC9B,WAAW,GACX,WAAW,GACX,UAAU,GACV,QAAQ,CAAC;AAEb,mEAAmE;AACnE,eAAO,MAAM,oBAAoB,EAAE,SAAS,gBAAgB,EAA2C,CAAC;AAExG,6EAA6E;AAC7E,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAEvE;AAED,2DAA2D;AAC3D,MAAM,WAAW,cAAc;IAC7B,2CAA2C;IAC3C,WAAW,EAAE,MAAM,CAAC;IACpB,0CAA0C;IAC1C,KAAK,EAAE,MAAM,CAAC;IACd,qBAAqB;IACrB,MAAM,EAAE,gBAAgB,CAAC;IACzB,kDAAkD;IAClD,UAAU,EAAE,MAAM,CAAC;IACnB,kCAAkC;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,gCAAgC;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,8CAA8C;IAC9C,cAAc,EAAE,WAAW,EAAE,CAAC;IAC9B,kFAAkF;IAClF,aAAa,CAAC,EAAE,WAAW,EAAE,CAAC;IAC9B,6BAA6B;IAC7B,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzC,kFAAkF;IAClF,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEzC;;kFAE8E;IAC9E,IAAI,CAAC,EAAE,WAAW,EAAE,CAAC;IAErB,2EAA2E;IAC3E,sBAAsB,CAAC,EAAE,sBAAsB,EAAE,CAAC;IAClD,4EAA4E;IAC5E,uBAAuB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;IAEjE,6EAA6E;IAC7E,mBAAmB,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAE1C,oGAAoG;IACpG,yBAAyB,CAAC,EAAE,MAAM,EAAE,CAAC;CACtC"}
1
+ {"version":3,"file":"fb_form_instance.d.ts","sourceRoot":"","sources":["../../src/types/fb_form_instance.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8CAA8C,CAAC;AAChF,OAAO,KAAK,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAC1G,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAExD,oCAAoC;AACpC,MAAM,MAAM,gBAAgB,GACxB,OAAO,GACP,gBAAgB,GAChB,kBAAkB,GAClB,8BAA8B,GAC9B,WAAW,GACX,WAAW,GACX,UAAU,GACV,QAAQ,CAAC;AAEb,mEAAmE;AACnE,eAAO,MAAM,oBAAoB,EAAE,SAAS,gBAAgB,EAA2C,CAAC;AAExG,6EAA6E;AAC7E,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAEvE;AAED,2DAA2D;AAC3D,MAAM,WAAW,cAAc;IAC7B,2CAA2C;IAC3C,WAAW,EAAE,MAAM,CAAC;IACpB,0CAA0C;IAC1C,KAAK,EAAE,MAAM,CAAC;IACd,qBAAqB;IACrB,MAAM,EAAE,gBAAgB,CAAC;IACzB,kDAAkD;IAClD,UAAU,EAAE,MAAM,CAAC;IACnB,kCAAkC;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,gCAAgC;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,8CAA8C;IAC9C,cAAc,EAAE,WAAW,EAAE,CAAC;IAC9B,kFAAkF;IAClF,aAAa,CAAC,EAAE,WAAW,EAAE,CAAC;IAC9B,6BAA6B;IAC7B,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzC,kFAAkF;IAClF,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEzC;;kFAE8E;IAC9E,IAAI,CAAC,EAAE,WAAW,EAAE,CAAC;IAErB,2EAA2E;IAC3E,sBAAsB,CAAC,EAAE,sBAAsB,EAAE,CAAC;IAClD,4EAA4E;IAC5E,uBAAuB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;IAEjE,6EAA6E;IAC7E,mBAAmB,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAE1C,oGAAoG;IACpG,yBAAyB,CAAC,EAAE,MAAM,EAAE,CAAC;CACtC"}
@@ -18,8 +18,10 @@ export type { DocLinkType, DocLink, UploadedFile, DocLinkClickEvent, } from './d
18
18
  export type { ClarificationType, ClarificationStatus, ClarificationReviewDecision, ClarificationDocReference, ClarificationResponseOption, ClarificationItem, ClarificationTemplate, ClarificationResponse, ClarificationCallbacks, ClarificationCounts, ResponseValidationState, } from './clarification.js';
19
19
  export type { FbInstanceStatus, FbFormInstance, } from './fb_form_instance.js';
20
20
  export { FB_TERMINAL_STATUSES, is_fb_terminal_status, } from './fb_form_instance.js';
21
- export type { FbFormData, FbDataEntry, FbQuestion, FbClarificationBlock, FbClientDataItem, FbClientInput, FbProcessedData, FbInputStatus, FbActivityType, FbActivityLocation, FbActivityInfo, FbActivity, FbValidationStatus, FbValidation, FbRfiStatus, FbRfiReason, FbRfiResponseOption, FbRfi, FbRfiDraft, FbFileRef, FbAutofillResult, FbAutofillFieldDetail, } from './fb_form_data.js';
22
- export { next_ie_id, next_pd_id, next_act_id, next_val_id, } from './fb_form_data.js';
21
+ export type { FbFormData, FbDataEntry, FbQuestion, FbClientDataItem, FbClientInput, FbProcessedData, FbInputStatus, FbValidationStatus, FbFileRef, FbAutofillResult, FbAutofillFieldDetail, FbAutofillRun, FbEntryValidation, FbEntryClarification, FbClarificationStatus, FbClarificationReview, FbThreadEntry, FbThreadRole, FbThreadAction, FbResponseData, FbResponseProcessedData, FbRfiResponseOption, } from './fb_form_data.js';
22
+ export { next_ie_id, next_pd_id, next_val_id, next_thread_id, } from './fb_form_data.js';
23
+ export type { FbClarificationBlockV1 as FbClarificationBlock, FbActivityTypeV1 as FbActivityType, FbActivityLocationV1 as FbActivityLocation, FbActivityInfoV1 as FbActivityInfo, FbActivityV1 as FbActivity, FbValidationV1 as FbValidation, FbRfiStatusV1 as FbRfiStatus, FbRfiReasonV1 as FbRfiReason, FbRfiV1 as FbRfi, FbRfiDraftV1 as FbRfiDraft, FbRfiResponseOptionV1 as FbRfiResponseOptionV1, FbProcessedDataV1, } from './fb_form_data.js';
24
+ export { next_act_id, next_val_id_v1, next_ie_id_v1, next_pd_id_v1, } from './fb_form_data.js';
23
25
  export type { FbResponseType, FbResponseSet, } from './fb_response_types.js';
24
- export type { ValidationCheckType, ValidationRule, ValidationRuleRecord, PromptCommand, PromptVariable, PromptEditorConfig, RuleActionEntry, RuleVariableEntry, RuleActionsConfig, ValidationRuleExecution, ValidationRequest, ValidationRuleResult, ValidationResponse, ValidationRouteOptions, HazoConnectAdapterLike, UseFileValidationOptions, UseFileValidationReturn, } from './validation.js';
26
+ export type { ValidationCheckType, ValidationType, Cadence, Alignment, VariableChain, ValidationGap, CoverageConfig, ValidationRule, ValidationRuleRecord, PromptCommand, PromptVariable, PromptEditorConfig, RuleActionEntry, RuleVariableEntry, RuleActionsConfig, ValidationRuleExecution, ValidationRequest, ValidationRuleResult, ValidationResponse, ValidationRouteOptions, HazoConnectAdapterLike, UseFileValidationOptions, UseFileValidationReturn, } from './validation.js';
25
27
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,YAAY,EACV,WAAW,EACX,oBAAoB,EACpB,aAAa,EACb,cAAc,EACd,cAAc,GACf,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,kBAAkB,EAClB,8BAA8B,EAC9B,kBAAkB,EAClB,kBAAkB,EAClB,2BAA2B,GAC5B,MAAM,sBAAsB,CAAC;AAG9B,YAAY,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAGlE,YAAY,EACV,kBAAkB,EAClB,UAAU,GACX,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,sBAAsB,CAAC;AAE9B,YAAY,EACV,gBAAgB,EAChB,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,mBAAmB,CAAC;AAG3B,YAAY,EACV,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,4BAA4B,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAGvG,YAAY,EACV,UAAU,EACV,YAAY,EACZ,WAAW,EACX,oBAAoB,EACpB,YAAY,EACZ,aAAa,GACd,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAG3D,YAAY,EACV,aAAa,EACb,SAAS,EACT,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AAGxE,YAAY,EACV,WAAW,EACX,OAAO,EACP,YAAY,EACZ,iBAAiB,GAClB,MAAM,eAAe,CAAC;AAGvB,YAAY,EACV,iBAAiB,EACjB,mBAAmB,EACnB,2BAA2B,EAC3B,yBAAyB,EACzB,2BAA2B,EAC3B,iBAAiB,EACjB,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACtB,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,oBAAoB,CAAC;AAG5B,YAAY,EACV,gBAAgB,EAChB,cAAc,GACf,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,uBAAuB,CAAC;AAG/B,YAAY,EACV,UAAU,EACV,WAAW,EACX,UAAU,EACV,oBAAoB,EACpB,gBAAgB,EAChB,aAAa,EACb,eAAe,EACf,aAAa,EACb,cAAc,EACd,kBAAkB,EAClB,cAAc,EACd,UAAU,EACV,kBAAkB,EAClB,YAAY,EACZ,WAAW,EACX,WAAW,EACX,mBAAmB,EACnB,KAAK,EACL,UAAU,EACV,SAAS,EACT,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,UAAU,EACV,UAAU,EACV,WAAW,EACX,WAAW,GACZ,MAAM,mBAAmB,CAAC;AAG3B,YAAY,EACV,cAAc,EACd,aAAa,GACd,MAAM,wBAAwB,CAAC;AAGhC,YAAY,EACV,mBAAmB,EACnB,cAAc,EACd,oBAAoB,EACpB,aAAa,EACb,cAAc,EACd,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,uBAAuB,EACvB,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,EAClB,sBAAsB,EACtB,sBAAsB,EACtB,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
@@ -8,5 +8,6 @@ export { normalize_file_textbox_value, blocks_to_entries, entries_to_blocks } fr
8
8
  export { DEFAULT_STYLES_CONFIG } from './style_variant.js';
9
9
  export { DEFAULT_FIELD_TYPES_CONFIG } from './field_type_definition.js';
10
10
  export { FB_TERMINAL_STATUSES, is_fb_terminal_status, } from './fb_form_instance.js';
11
- export { next_ie_id, next_pd_id, next_act_id, next_val_id, } from './fb_form_data.js';
11
+ export { next_ie_id, next_pd_id, next_val_id, next_thread_id, } from './fb_form_data.js';
12
+ export { next_act_id, next_val_id_v1, next_ie_id_v1, next_pd_id_v1, } from './fb_form_data.js';
12
13
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAUH,OAAO,EACL,kBAAkB,EAClB,8BAA8B,EAC9B,kBAAkB,EAClB,kBAAkB,EAClB,2BAA2B,GAC5B,MAAM,sBAAsB,CAAC;AAI9B,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAQlE,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,sBAAsB,CAAC;AAe9B,OAAO,EAAE,4BAA4B,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAWvG,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAS3D,OAAO,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AA+BxE,OAAO,EACL,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,uBAAuB,CAAC;AA4B/B,OAAO,EACL,UAAU,EACV,UAAU,EACV,WAAW,EACX,WAAW,GACZ,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAUH,OAAO,EACL,kBAAkB,EAClB,8BAA8B,EAC9B,kBAAkB,EAClB,kBAAkB,EAClB,2BAA2B,GAC5B,MAAM,sBAAsB,CAAC;AAI9B,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAQlE,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,sBAAsB,CAAC;AAe9B,OAAO,EAAE,4BAA4B,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAWvG,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAS3D,OAAO,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AA+BxE,OAAO,EACL,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,uBAAuB,CAAC;AA6B/B,OAAO,EACL,UAAU,EACV,UAAU,EACV,WAAW,EACX,cAAc,GACf,MAAM,mBAAmB,CAAC;AAmB3B,OAAO,EACL,WAAW,EACX,cAAc,EACd,aAAa,EACb,aAAa,GACd,MAAM,mBAAmB,CAAC"}