@sim-design/training 1.0.0 → 1.1.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 (278) hide show
  1. package/README.md +481 -15
  2. package/dist/{ArrowLeftOutlined-CiSQq3bL.js → ArrowLeftOutlined-BxA84GXs.js} +1 -1
  3. package/dist/ArrowLeftOutlined-D785XjyB.js +12 -0
  4. package/dist/{AssessmentPlugin-Bx4VrBdV.js → AssessmentPlugin-D_iesmyg.js} +7 -7
  5. package/dist/AssessmentPlugin-zRr-IsdA.js +607 -0
  6. package/dist/CaseAnalysisPlugin-CXuQpkPd.js +2196 -0
  7. package/dist/CaseAnalysisPlugin-DytlXsRD.js +2196 -0
  8. package/dist/CaseDetailContent-DT5nCtRT.js +28613 -0
  9. package/dist/CaseDetailContent-Y7Q430MG.js +28595 -0
  10. package/dist/{CharacterDialoguePanel-Bvdab3qj.js → CharacterDialoguePanel-CdtUl-Sv.js} +178 -139
  11. package/dist/CharacterDialoguePanel-D_4YNFZv.js +815 -0
  12. package/dist/{CheckCircleFilled-Byo8CDfW.js → CheckCircleFilled-CnslIY7j.js} +1 -1
  13. package/dist/CheckCircleFilled-NvZaC2sk.js +12 -0
  14. package/dist/DecisionMakingPlugin-B_KQUFzW.js +1385 -0
  15. package/dist/DecisionMakingPlugin-ILLGek3S.js +1385 -0
  16. package/dist/{DecisionSelectPlugin-DtQ2KV34.js → DecisionSelectPlugin-BGQiHGBK.js} +20 -11
  17. package/dist/DecisionSelectPlugin-Bqmh6XGh.js +872 -0
  18. package/dist/{DecisionShared-Dh9oeQFT.js → DecisionShared-BHq1lEqt.js} +2 -2
  19. package/dist/DecisionShared-Be-zKZLT.js +65 -0
  20. package/dist/DeleteOutlined-BvMjU7m5.js +12 -0
  21. package/dist/DeleteOutlined-Dqy6M2LH.js +12 -0
  22. package/dist/{CustomLayoutRenderer--rnQrqQ2.js → DialogueFormPlugin-BpCeFadt.js} +22724 -21631
  23. package/dist/DialogueFormPlugin-CXlbxX-z.js +123617 -0
  24. package/dist/DialoguePlugin-CO7Nzv0K.js +596 -0
  25. package/dist/DialoguePlugin-DDNdsylz.js +596 -0
  26. package/dist/DocumentReviewPlugin-2CnKQwVG.js +1967 -0
  27. package/dist/DocumentReviewPlugin-qYYrnjvE.js +1967 -0
  28. package/dist/{EyeOutlined-XvOAKlLs.js → EyeOutlined-BrKCNjui.js} +1 -1
  29. package/dist/EyeOutlined-CW0tYV0f.js +12 -0
  30. package/dist/FormFillingPlugin-C3h8ySOZ.js +969 -0
  31. package/dist/FormFillingPlugin-CPmd76Qr.js +969 -0
  32. package/dist/HolderOutlined-CH0tShWu.js +12 -0
  33. package/dist/HolderOutlined-Dm6TBtqf.js +12 -0
  34. package/dist/ModelEditor-BjEbFloQ.js +11753 -0
  35. package/dist/ModelEditor-CwR67DFQ.js +11753 -0
  36. package/dist/{ProcessOperationPlugin-IijngDlX.js → ProcessOperationPlugin-1Lz431aC.js} +12 -12
  37. package/dist/ProcessOperationPlugin-BkmdG3ch.js +88 -0
  38. package/dist/QAPlugin-0C4kpq3J.js +172 -0
  39. package/dist/QAPlugin-UC8uywcg.js +172 -0
  40. package/dist/{ReloadOutlined-Daor2m11.js → ReloadOutlined-BZ92nlYF.js} +1 -1
  41. package/dist/ReloadOutlined-CYoPOwLl.js +12 -0
  42. package/dist/{SettingOutlined-CLEOgXB-.js → SettingOutlined-F466s0Ti.js} +33 -65
  43. package/dist/SettingOutlined-c2hikCfN.js +60 -0
  44. package/dist/StarFilled-Bilmj6UK.js +28 -0
  45. package/dist/StarFilled-CtH30fL0.js +28 -0
  46. package/dist/StrategyLabPlugin-CvO07sXV.js +12445 -0
  47. package/dist/StrategyLabPlugin-DUqZYctQ.js +12445 -0
  48. package/dist/ThunderboltOutlined-BpmoCKdV.js +28 -0
  49. package/dist/ThunderboltOutlined-DDQFi5Cv.js +28 -0
  50. package/dist/TrainingModelContainer-DqCsdC7C.js +11241 -0
  51. package/dist/TrainingModelContainer-yi8W6KFl.js +11241 -0
  52. package/dist/{UndoOutlined-ChUQYUul.js → UndoOutlined-6JZVzmdX.js} +26 -42
  53. package/dist/UndoOutlined-Dw6_9_OL.js +68 -0
  54. package/dist/{WarningFilled-1Rc4hr0C.js → WarningFilled-Cy1tvuQy.js} +1 -1
  55. package/dist/WarningFilled-lkr453eh.js +12 -0
  56. package/dist/{adapters-D1FFZFoA.js → adapters-BbCnXSYo.js} +2 -2
  57. package/dist/{analysisTools-CXyOvSZT.js → analysisTools-Cp5-3DaU.js} +59 -12
  58. package/dist/creator.js +4 -2
  59. package/dist/designTokens-walF_QkZ.js +23 -0
  60. package/dist/images/healthcare/bg.jpg +0 -0
  61. package/dist/{index-CYjdXPgc.js → index-C71iHgSs.js} +2640 -2722
  62. package/dist/{index-XuBVjlmu.js → index-CBvqcbIU.js} +7214 -7643
  63. package/dist/index-D94YNWTb.js +433 -0
  64. package/dist/index-DSYmOXnQ.js +6486 -0
  65. package/dist/index-fP97rKeQ.js +433 -0
  66. package/dist/index.js +8 -6
  67. package/dist/judgement-xTGXlDcn.js +29 -0
  68. package/dist/runtime.js +1 -1
  69. package/dist/sortable.esm-bm_c5vmI.js +3307 -0
  70. package/dist/types.js +1 -1
  71. package/dist/useDialogueLogic-D1lkUKUZ.js +576 -0
  72. package/dist/useDialogueLogic-vOJ9XRNP.js +576 -0
  73. package/dist-types/client/src/admin/CaseDataEditor.d.ts +20 -0
  74. package/dist-types/client/src/admin/CaseEditor.d.ts +19 -0
  75. package/dist-types/client/src/admin/DialogueFormCheckRulesEditor.d.ts +11 -0
  76. package/dist-types/client/src/admin/DialogueFormInitDataEditor.d.ts +31 -0
  77. package/dist-types/client/src/admin/InitDataEditors.d.ts +7 -0
  78. package/dist-types/client/src/admin/ModelEditor.d.ts +11 -0
  79. package/dist-types/client/src/admin/ModelPreview.d.ts +13 -0
  80. package/dist-types/client/src/admin/OptionSelector.d.ts +32 -0
  81. package/dist-types/client/src/admin/StageStepEditor.d.ts +20 -0
  82. package/dist-types/client/src/admin/StepAnswerKeyEditor.d.ts +19 -0
  83. package/dist-types/client/src/admin/StepByStepCreator.d.ts +27 -0
  84. package/dist-types/client/src/admin/components/AbilityMapEditor.d.ts +12 -0
  85. package/dist-types/client/src/admin/components/CasePreview.d.ts +8 -0
  86. package/dist-types/client/src/admin/components/StepAbilitySelector.d.ts +9 -0
  87. package/dist-types/client/src/admin/constants/creatorConstants.d.ts +39 -0
  88. package/dist-types/client/src/admin/editors/CaseAnalysisEditor.d.ts +11 -0
  89. package/dist-types/client/src/admin/editors/DecisionMakingEditor.d.ts +7 -0
  90. package/dist-types/client/src/admin/editors/DialogueEditor.d.ts +12 -0
  91. package/dist-types/client/src/admin/editors/DocumentReviewEditor.d.ts +7 -0
  92. package/dist-types/client/src/admin/editors/DocumentReviewRuntimeRulesEditor.d.ts +15 -0
  93. package/dist-types/client/src/admin/editors/FormFillingEditor.d.ts +33 -0
  94. package/dist-types/client/src/admin/editors/ModelUIConfigEditor.d.ts +5 -0
  95. package/dist-types/client/src/admin/editors/QAEditor.d.ts +6 -0
  96. package/dist-types/client/src/admin/editors/RouterEditors.d.ts +18 -0
  97. package/dist-types/client/src/admin/editors/StepBriefingEditor.d.ts +14 -0
  98. package/dist-types/client/src/admin/editors/StrategyLabEditor.d.ts +24 -0
  99. package/dist-types/client/src/admin/editors/decisionEditorParts.d.ts +18 -0
  100. package/dist-types/client/src/admin/editors/index.d.ts +8 -0
  101. package/dist-types/client/src/admin/editors/shared.d.ts +17 -0
  102. package/dist-types/client/src/admin/hooks/useStep1Intent.d.ts +16 -0
  103. package/dist-types/client/src/admin/hooks/useStep2Outline.d.ts +41 -0
  104. package/dist-types/client/src/admin/hooks/useStep3Details.d.ts +123 -0
  105. package/dist-types/client/src/admin/hooks/useStep4Cases.d.ts +48 -0
  106. package/dist-types/client/src/admin/hooks/useStep5Validation.d.ts +16 -0
  107. package/dist-types/client/src/admin/landingValidation.d.ts +74 -0
  108. package/dist-types/client/src/admin/schemaFieldUtils.d.ts +55 -0
  109. package/dist-types/client/src/admin/services.d.ts +461 -0
  110. package/dist-types/client/src/admin/shared-editors.d.ts +31 -0
  111. package/dist-types/client/src/admin/types/creatorArtifacts.d.ts +140 -0
  112. package/dist-types/client/src/components/AbilityMapView.d.ts +15 -0
  113. package/dist-types/client/src/components/CaseDetail/CaseDetailContent.d.ts +12 -0
  114. package/dist-types/client/src/components/ConversationalDataCollector/IntentConfirmPanel.d.ts +20 -0
  115. package/dist-types/client/src/components/ConversationalDataCollector/index.d.ts +7 -0
  116. package/dist-types/client/src/components/ConversationalDataCollector/intentState.d.ts +24 -0
  117. package/dist-types/client/src/components/ConversationalDataCollector/types.d.ts +95 -0
  118. package/dist-types/client/src/components/ConversationalDataCollector/utils.d.ts +62 -0
  119. package/dist-types/client/src/components/CustomLayoutRenderer.d.ts +8 -0
  120. package/dist-types/client/src/components/MarkdownRenderer.d.ts +15 -0
  121. package/dist-types/client/src/components/StrategyLabScene/VisualInputComponents.d.ts +85 -0
  122. package/dist-types/client/src/components/StrategyLabScene/components/AdversarialView.d.ts +18 -0
  123. package/dist-types/client/src/components/StrategyLabScene/components/BottomBar.d.ts +22 -0
  124. package/dist-types/client/src/components/StrategyLabScene/components/CharacterCard.d.ts +14 -0
  125. package/dist-types/client/src/components/StrategyLabScene/components/CharacterDialoguePanel.d.ts +32 -0
  126. package/dist-types/client/src/components/StrategyLabScene/components/CollaborativeView.d.ts +20 -0
  127. package/dist-types/client/src/components/StrategyLabScene/components/ComparisonView.d.ts +16 -0
  128. package/dist-types/client/src/components/StrategyLabScene/components/DecisionInput.d.ts +27 -0
  129. package/dist-types/client/src/components/StrategyLabScene/components/DecisionSwitcher.d.ts +14 -0
  130. package/dist-types/client/src/components/StrategyLabScene/components/EvaluationReport.d.ts +13 -0
  131. package/dist-types/client/src/components/StrategyLabScene/components/NodeChainPanels.d.ts +32 -0
  132. package/dist-types/client/src/components/StrategyLabScene/components/ProgressSteps.d.ts +15 -0
  133. package/dist-types/client/src/components/StrategyLabScene/components/SandboxView.d.ts +19 -0
  134. package/dist-types/client/src/components/StrategyLabScene/components/ScenarioPanel.d.ts +17 -0
  135. package/dist-types/client/src/components/StrategyLabScene/components/SimulationAnimation.d.ts +13 -0
  136. package/dist-types/client/src/components/StrategyLabScene/components/SimulationResult.d.ts +15 -0
  137. package/dist-types/client/src/components/StrategyLabScene/components/StressTestView.d.ts +22 -0
  138. package/dist-types/client/src/components/StrategyLabScene/themeMatching.d.ts +21 -0
  139. package/dist-types/client/src/components/StrategyLabScene/themes/education.d.ts +45 -0
  140. package/dist-types/client/src/components/StrategyLabScene/themes/healthcare.d.ts +7 -0
  141. package/dist-types/client/src/components/StrategyLabScene/themes/index.d.ts +22 -0
  142. package/dist-types/client/src/components/StrategyLabScene/themes/professional.d.ts +7 -0
  143. package/dist-types/client/src/components/StrategyLabScene/themes/technology.d.ts +7 -0
  144. package/dist-types/client/src/components/StrategyLabScene/types.d.ts +82 -0
  145. package/dist-types/client/src/components/StrategyLabScene/views/UnifiedStrategyLabView.d.ts +72 -0
  146. package/dist-types/client/src/components/TrainingEngine/BriefingQAChat.d.ts +19 -0
  147. package/dist-types/client/src/components/TrainingEngine/CaseInfoModal.d.ts +12 -0
  148. package/dist-types/client/src/components/TrainingEngine/CaseSelector.d.ts +15 -0
  149. package/dist-types/client/src/components/TrainingEngine/ClassicView.d.ts +7 -0
  150. package/dist-types/client/src/components/TrainingEngine/DashboardHomePage.d.ts +7 -0
  151. package/dist-types/client/src/components/TrainingEngine/EnhancedStudentProfilePanel.d.ts +9 -0
  152. package/dist-types/client/src/components/TrainingEngine/EvaluationPanel.d.ts +8 -0
  153. package/dist-types/client/src/components/TrainingEngine/GlobalQAPanel.d.ts +34 -0
  154. package/dist-types/client/src/components/TrainingEngine/GuidanceHistoryDrawer.d.ts +7 -0
  155. package/dist-types/client/src/components/TrainingEngine/GuidancePanel.d.ts +3 -0
  156. package/dist-types/client/src/components/TrainingEngine/ImmersiveGameView.d.ts +7 -0
  157. package/dist-types/client/src/components/TrainingEngine/PluginRenderer.d.ts +15 -0
  158. package/dist-types/client/src/components/TrainingEngine/ProgressTracker.d.ts +3 -0
  159. package/dist-types/client/src/components/TrainingEngine/StageAssessingOverlay.d.ts +17 -0
  160. package/dist-types/client/src/components/TrainingEngine/StageAssessmentPanel.d.ts +10 -0
  161. package/dist-types/client/src/components/TrainingEngine/StepExecutor.d.ts +20 -0
  162. package/dist-types/client/src/components/TrainingEngine/StepNodeMap.d.ts +15 -0
  163. package/dist-types/client/src/components/TrainingEngine/StudentProfilePanel.d.ts +6 -0
  164. package/dist-types/client/src/components/TrainingEngine/ThemeContext.d.ts +8 -0
  165. package/dist-types/client/src/components/TrainingEngine/TrainingMaterialsSidebar.d.ts +21 -0
  166. package/dist-types/client/src/components/TrainingEngine/TrainingModelContainer.d.ts +42 -0
  167. package/dist-types/client/src/components/TrainingEngine/ViewProps.d.ts +37 -0
  168. package/dist-types/client/src/components/TrainingEngine/profileDataSelectors.d.ts +23 -0
  169. package/dist-types/client/src/components/TrainingEngine/stepInitData.d.ts +42 -0
  170. package/dist-types/client/src/components/TrainingEngine/targetAbilityUtils.d.ts +11 -0
  171. package/dist-types/client/src/components/VisualizationRenderer/ChartRenderer.d.ts +12 -0
  172. package/dist-types/client/src/components/VisualizationRenderer/types.d.ts +41 -0
  173. package/dist-types/client/src/config/appConfig.d.ts +15 -0
  174. package/dist-types/client/src/configs/agentConfig.d.ts +66 -0
  175. package/dist-types/client/src/configs/intentDiscoveryConfig.d.ts +22 -0
  176. package/dist-types/client/src/data/mockTrainingModel.d.ts +10 -0
  177. package/dist-types/client/src/hooks/useAIService.d.ts +17 -0
  178. package/dist-types/client/src/hooks/useDialogueLogic.d.ts +53 -0
  179. package/dist-types/client/src/hooks/useFormFillingLogic.d.ts +26 -0
  180. package/dist-types/client/src/hooks/useFormRealtimeGuidance.d.ts +45 -0
  181. package/dist-types/client/src/hooks/useRealtimeGuidance.d.ts +66 -0
  182. package/dist-types/client/src/hooks/useStageAssessment.d.ts +8 -0
  183. package/dist-types/client/src/hooks/useStepExecution.d.ts +14 -0
  184. package/dist-types/client/src/hooks/useTrainingModel.d.ts +30 -0
  185. package/dist-types/client/src/lib/creator.d.ts +1 -0
  186. package/dist-types/client/src/lib/index.d.ts +1 -0
  187. package/dist-types/client/src/lib/types.d.ts +113 -22
  188. package/dist-types/client/src/plugins/AssessmentPlugin.d.ts +8 -0
  189. package/dist-types/client/src/plugins/CaseAnalysisPlugin.d.ts +9 -0
  190. package/dist-types/client/src/plugins/CaseAnalysisPluginView.d.ts +26 -0
  191. package/dist-types/client/src/plugins/DecisionSelectPlugin.d.ts +8 -0
  192. package/dist-types/client/src/plugins/DialogueFormPlugin.d.ts +9 -0
  193. package/dist-types/client/src/plugins/DialogueFormPluginView.d.ts +37 -0
  194. package/dist-types/client/src/plugins/DialoguePlugin.d.ts +8 -0
  195. package/dist-types/client/src/plugins/DialoguePluginView.d.ts +44 -0
  196. package/dist-types/client/src/plugins/DocumentReview/DocumentCard.d.ts +47 -0
  197. package/dist-types/client/src/plugins/DocumentReview/LayoutComponents.d.ts +47 -0
  198. package/dist-types/client/src/plugins/DocumentReview/MarkListPanel.d.ts +51 -0
  199. package/dist-types/client/src/plugins/DocumentReview/MarkModal.d.ts +37 -0
  200. package/dist-types/client/src/plugins/DocumentReview/ResultPanel.d.ts +32 -0
  201. package/dist-types/client/src/plugins/DocumentReview/Toolbar.d.ts +31 -0
  202. package/dist-types/client/src/plugins/DocumentReview/designTokens.d.ts +76 -0
  203. package/dist-types/client/src/plugins/DocumentReviewPlugin.d.ts +14 -0
  204. package/dist-types/client/src/plugins/ProcessOperationPlugin.d.ts +8 -0
  205. package/dist-types/client/src/plugins/QAPlugin.d.ts +9 -0
  206. package/dist-types/client/src/plugins/StrategyLabPlugin.d.ts +7 -0
  207. package/dist-types/client/src/plugins/decision-making/DecisionMakingPlugin.d.ts +4 -0
  208. package/dist-types/client/src/plugins/decision-making/DecisionWorkspace.d.ts +23 -0
  209. package/dist-types/client/src/plugins/decision-making/MaterialsPanel.d.ts +18 -0
  210. package/dist-types/client/src/plugins/decision-making/logic.d.ts +46 -0
  211. package/dist-types/client/src/plugins/decision-making/scoring.d.ts +79 -0
  212. package/dist-types/client/src/plugins/decision-making/styles.d.ts +743 -0
  213. package/dist-types/client/src/plugins/decision-making/types.d.ts +179 -0
  214. package/dist-types/client/src/plugins/form-filling/DocumentFormLayout.d.ts +22 -0
  215. package/dist-types/client/src/plugins/form-filling/FormAssistPanel.d.ts +20 -0
  216. package/dist-types/client/src/plugins/form-filling/FormFillingPlugin.d.ts +15 -0
  217. package/dist-types/client/src/plugins/form-filling/forms.d.ts +28 -0
  218. package/dist-types/client/src/plugins/form-filling/scoring.d.ts +86 -0
  219. package/dist-types/client/src/plugins/form-filling/useFormFilling.d.ts +42 -0
  220. package/dist-types/client/src/plugins/form-filling/validationRules.d.ts +26 -0
  221. package/dist-types/client/src/plugins/shared/DecisionShared.d.ts +54 -0
  222. package/dist-types/client/src/plugins/shared/FrameworkWidget.d.ts +19 -0
  223. package/dist-types/client/src/plugins/shared/PluginFooter.d.ts +4 -0
  224. package/dist-types/client/src/plugins/shared/PluginHeader.d.ts +4 -0
  225. package/dist-types/client/src/plugins/shared/analysisTools.d.ts +30 -0
  226. package/dist-types/client/src/plugins/shared/disturbanceUtils.d.ts +5 -0
  227. package/dist-types/client/src/plugins/shared/index.d.ts +5 -0
  228. package/dist-types/client/src/plugins/shared/jsonRepair.d.ts +39 -0
  229. package/dist-types/client/src/plugins/shared/judgement.d.ts +46 -0
  230. package/dist-types/client/src/plugins/shared/nodeChain.d.ts +15 -0
  231. package/dist-types/client/src/plugins/shared/renderFieldGrid.d.ts +16 -0
  232. package/dist-types/client/src/plugins/shared/reportBlocks.d.ts +33 -0
  233. package/dist-types/client/src/plugins/shared/reportEvaluation.d.ts +30 -0
  234. package/dist-types/client/src/plugins/shared/reportExport.d.ts +12 -0
  235. package/dist-types/client/src/plugins/shared/reportWorkbench/BlockPropertiesPanel.d.ts +9 -0
  236. package/dist-types/client/src/plugins/shared/reportWorkbench/BlockToolbox.d.ts +11 -0
  237. package/dist-types/client/src/plugins/shared/reportWorkbench/ReportWorkbench.d.ts +20 -0
  238. package/dist-types/client/src/plugins/shared/reportWorkbench/SortableBlock.d.ts +15 -0
  239. package/dist-types/client/src/plugins/shared/reportWorkbench/factory.d.ts +14 -0
  240. package/dist-types/client/src/plugins/shared/reportWorkbench/outlineDraft.d.ts +7 -0
  241. package/dist-types/client/src/plugins/shared/simulationEngine.d.ts +112 -0
  242. package/dist-types/client/src/plugins/shared/simulationModes.d.ts +21 -0
  243. package/dist-types/client/src/plugins/shared/themes.d.ts +5 -0
  244. package/dist-types/client/src/plugins/shared/types.d.ts +1247 -0
  245. package/dist-types/client/src/services/AICommandHandler.d.ts +68 -0
  246. package/dist-types/client/src/services/cozeApiClient.d.ts +44 -0
  247. package/dist-types/client/src/services/mockApi.d.ts +48 -0
  248. package/dist-types/client/src/services/storageService.d.ts +88 -0
  249. package/dist-types/client/src/stores/abilityStore.d.ts +33 -0
  250. package/dist-types/client/src/stores/dialogueStore.d.ts +30 -0
  251. package/dist-types/client/src/stores/formRegistryStore.d.ts +45 -0
  252. package/dist-types/client/src/stores/guidanceStore.d.ts +17 -0
  253. package/dist-types/client/src/stores/stepEvidenceStore.d.ts +14 -0
  254. package/dist-types/client/src/stores/strategyLabStore.d.ts +46 -0
  255. package/dist-types/client/src/stores/trainingStore.d.ts +84 -0
  256. package/dist-types/client/src/types/ai-commands.d.ts +144 -0
  257. package/dist-types/client/src/types.d.ts +17 -0
  258. package/dist-types/client/src/utils/abilityMapGenerator.d.ts +27 -0
  259. package/dist-types/client/src/utils/formUtils.d.ts +66 -0
  260. package/dist-types/client/src/utils/rule-engine.d.ts +36 -0
  261. package/dist-types/shared/types/index.d.ts +592 -0
  262. package/package.json +5 -3
  263. package/dist/CaseAnalysisPlugin-CQvF9_zr.js +0 -416
  264. package/dist/DialogueFormPlugin-C9ssnVMr.js +0 -959
  265. package/dist/DialoguePlugin-DU00QpmQ.js +0 -416
  266. package/dist/DocumentReviewPlugin-HNOZY1T4.js +0 -977
  267. package/dist/FormFillingPlugin-DURWsioi.js +0 -445
  268. package/dist/ModelEditor-BPJsPR0S.js +0 -8264
  269. package/dist/PluginHeader-B-GESJmT.js +0 -87
  270. package/dist/QAPlugin-Bh_UjK1N.js +0 -184
  271. package/dist/RadarChart-C5ZM0kWt.js +0 -24963
  272. package/dist/StrategyLabPlugin-DGeZsr_7.js +0 -14361
  273. package/dist/ThunderboltOutlined-nH_FO_4A.js +0 -44
  274. package/dist/ToolOutlined-DtuNJDB2.js +0 -28
  275. package/dist/TrainingModelContainer-DpW-uB8O.js +0 -11883
  276. package/dist/WarningOutlined-5g1d66hO.js +0 -164
  277. package/dist/judgement-D_9i7x9S.js +0 -20
  278. package/dist/useDialogueLogic-IHELcN3X.js +0 -368
@@ -1,4 +1,5 @@
1
1
  import type { ReactNode } from 'react';
2
+ import type { TrainingBlueprint, StageContract, StepTaskPackage, StageAcceptanceRecord, CaseVariantPackage, ValidationReport, AssemblyDryRunResult, GenerationPhase, Phase1Artifacts } from '../admin/types/creatorArtifacts';
2
3
  export type Domain = 'banking' | 'insurance' | 'trade';
3
4
  export type Difficulty = 'easy' | 'medium' | 'hard';
4
5
  export type TrainingLevel = 'undergraduate' | 'vocational' | 'technical';
@@ -29,6 +30,8 @@ export interface GlobalRules {
29
30
  export interface EvaluationRules {
30
31
  dimensions: EvaluationDimension[];
31
32
  businessRules: string[];
33
+ referenceAnswer?: string;
34
+ requiredPoints?: string[];
32
35
  }
33
36
  export interface EntryAnimation {
34
37
  type: EntryAnimationType;
@@ -41,25 +44,49 @@ export interface StepTargetAbility {
41
44
  }
42
45
  export interface Step {
43
46
  stepId: string;
44
- name: string;
47
+ stepName: string;
45
48
  description?: string;
46
49
  learningObjectives?: string[];
47
50
  pluginId: string;
48
51
  pluginType: PluginType;
49
52
  initData: any;
50
- checkRules: any;
53
+ runtimeRules: any;
54
+ evaluationRules?: EvaluationRules;
51
55
  jumpRules?: any;
52
56
  entryAnimation?: EntryAnimation;
53
57
  order: number;
54
58
  targetAbilities?: StepTargetAbility[];
55
59
  }
60
+ export interface StageAssessment {
61
+ consistencyChecks: Array<{
62
+ name: string;
63
+ description: string;
64
+ relatedSteps: string[];
65
+ }>;
66
+ deliverableChecks: Array<{
67
+ deliverable: string;
68
+ criteria: string[];
69
+ }>;
70
+ goalCriteria: string[];
71
+ passPolicy: {
72
+ stepWeights: Record<string, number>;
73
+ passScore?: number;
74
+ };
75
+ }
56
76
  export interface Stage {
57
77
  stageId: string;
58
- name: string;
78
+ stageName: string;
59
79
  description: string;
60
80
  businessType: string;
61
81
  learningObjectives?: string[];
62
- evaluationRules: EvaluationRules;
82
+ stageGoal?: string;
83
+ deliverables?: string[];
84
+ entryCriteria?: string[];
85
+ completionCriteria?: string[];
86
+ commonMistakes?: string[];
87
+ stageAssessment?: StageAssessment;
88
+ /** @deprecated 由 step.evaluationRules 替代,环节三完成后删除 */
89
+ evaluationRules?: EvaluationRules;
63
90
  steps: Step[];
64
91
  order: number;
65
92
  }
@@ -69,11 +96,13 @@ export interface RoleConfig {
69
96
  角色类型: string;
70
97
  [key: string]: any;
71
98
  }
99
+ export type FieldUsage = 'display' | 'evaluation';
72
100
  export interface CaseSchemaField {
73
101
  path: string;
74
102
  type: 'string' | 'number' | 'boolean' | 'enum' | 'date' | 'object' | 'array';
75
103
  label: string;
76
- purpose?: string;
104
+ purpose: string;
105
+ usage: FieldUsage[];
77
106
  rule?: string;
78
107
  enumValues?: string[];
79
108
  maxLength?: number;
@@ -101,9 +130,9 @@ export interface Case {
101
130
  scenario: string;
102
131
  customerInfo: any;
103
132
  businessData: any;
104
- standardAnswer: any;
133
+ stepAnswers?: Record<string, any>;
105
134
  riskPoints?: string[];
106
- rolePool: Record<string, RoleConfig>;
135
+ 角色池: Record<string, RoleConfig>;
107
136
  }
108
137
  export interface AbilityNode {
109
138
  id: string;
@@ -175,6 +204,7 @@ export interface DimensionResult {
175
204
  suggestions?: string[];
176
205
  }
177
206
  export interface EvaluationReport {
207
+ stepId?: string;
178
208
  totalScore: number;
179
209
  dimensions: DimensionResult[];
180
210
  highlights: string[];
@@ -182,6 +212,33 @@ export interface EvaluationReport {
182
212
  nextStepAdvice: string;
183
213
  pass: boolean;
184
214
  }
215
+ export interface StageAssessmentReport {
216
+ stageId: string;
217
+ totalScore: number;
218
+ pass: boolean;
219
+ stepBreakdown: Array<{
220
+ stepId: string;
221
+ stepName: string;
222
+ score: number;
223
+ weight: number;
224
+ }>;
225
+ consistencyIssues: Array<{
226
+ description: string;
227
+ relatedSteps: string[];
228
+ severity: 'info' | 'warning' | 'error';
229
+ }>;
230
+ deliverableResults: Array<{
231
+ deliverable: string;
232
+ achieved: boolean;
233
+ comment: string;
234
+ }>;
235
+ goalAchievement: {
236
+ score: number;
237
+ comment: string;
238
+ };
239
+ highlights: string[];
240
+ improvements: string[];
241
+ }
185
242
  export interface ScenarioDimension {
186
243
  key: string;
187
244
  dimensionLabel: string;
@@ -189,7 +246,20 @@ export interface ScenarioDimension {
189
246
  fieldHint?: string;
190
247
  }
191
248
  export interface CreatorContext {
192
- basicInfo: {
249
+ trainingBlueprint?: TrainingBlueprint;
250
+ stageContracts?: StageContract[];
251
+ stepTaskPackages?: StepTaskPackage[];
252
+ stageAcceptanceRecords?: StageAcceptanceRecord[];
253
+ /** 两段式生成的阶段状态机,用于中断后恢复到正确的生成环节 */
254
+ generationPhase?: GenerationPhase;
255
+ /** 环节一产物,用于中断后恢复并继续环节二落地(无需重生成) */
256
+ phase1Artifacts?: Phase1Artifacts | null;
257
+ caseVariantPackages?: CaseVariantPackage[];
258
+ validationReport?: ValidationReport;
259
+ assemblyDraft?: TrainingModel;
260
+ assemblyDryRunResult?: AssemblyDryRunResult;
261
+ releaseDecision?: 'pass' | 'block';
262
+ basicInfo?: {
193
263
  domain: string;
194
264
  businessType: string;
195
265
  targetPosition: string;
@@ -202,32 +272,48 @@ export interface CreatorContext {
202
272
  };
203
273
  intentData?: any;
204
274
  caseScenario: {
205
- selectedCases: Array<{
206
- value: string;
275
+ caseVariantPackages: Array<{
276
+ variantId: string;
207
277
  label: string;
208
- description?: string;
278
+ difficulty: 'easy' | 'medium' | 'hard';
279
+ objectProfile: Record<string, any>;
280
+ keyFacts: string[];
281
+ constraints: string[];
282
+ hiddenRisks: string[];
283
+ disturbanceEvents: string[];
284
+ communicationResistance: string[];
285
+ standardPath: string[];
286
+ commonErrors: string[];
209
287
  }>;
210
- customCase: string;
211
- scenarioSeeds?: Record<string, ScenarioDimension[]>;
288
+ selectedVariantIds: string[];
212
289
  };
213
290
  outline: {
291
+ summary: string;
214
292
  stages: Array<{
215
- name: string;
216
- description: string;
217
- businessType: string;
218
- learningObjectives?: string[];
293
+ stageId: string;
294
+ stageName: string;
295
+ stageGoal: string;
296
+ entryCriteria: string[];
297
+ deliverables: string[];
298
+ keyDecisions: string[];
299
+ completionCriteria: string[];
300
+ commonMistakes: string[];
219
301
  steps: Array<{
220
- name: string;
221
- description: string;
222
- learningObjectives?: string[];
302
+ stepId: string;
303
+ stepName: string;
304
+ purpose: string;
305
+ pluginType?: string;
223
306
  }>;
224
307
  }>;
225
- summary?: string;
226
308
  } | null;
309
+ abilityMap?: import('@shared/types/index.js').AbilityMap | null;
227
310
  outlineMessages: Array<{
228
311
  role: 'user' | 'ai';
229
312
  content: string;
230
313
  }>;
314
+ outlineConversationId?: string | null;
315
+ detailConversationId?: string | null;
316
+ /** @deprecated 仅用于恢复旧缓存,不再写入新值 */
231
317
  designConversationId?: string | null;
232
318
  generatedModel?: TrainingModel;
233
319
  caseSchema?: CaseSchema;
@@ -236,7 +322,12 @@ export interface CreatorContext {
236
322
  currentStep: number;
237
323
  savedAt: number;
238
324
  }
239
- export type TokenProvider = () => string | Promise<string>;
325
+ /**
326
+ * Token 提供器。
327
+ * @param forceRefresh 传 true 表示强制刷新(清掉缓存并重新换取),用于 token 失效自愈;
328
+ * 不传或 false 走正常的缓存优先逻辑。
329
+ */
330
+ export type TokenProvider = (forceRefresh?: boolean) => string | Promise<string>;
240
331
  export interface CreatorNotifyAdapter {
241
332
  success(message: string): void;
242
333
  error(message: string): void;
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ import type { PluginProps } from '@shared/types/index.js';
3
+ /**
4
+ * 评估问卷插件(通用)- 左右布局版
5
+ * 适用于:风险评估、适当性评估、合规检查、信用评估等
6
+ */
7
+ declare const AssessmentPlugin: React.FC<PluginProps>;
8
+ export default AssessmentPlugin;
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ import type { PluginProps } from '@shared/types/index.js';
3
+ /**
4
+ * 案例分析(对外 label:方案设计)插件 · 纯逻辑层。
5
+ * 范式:学生用结构化组件搭建一份报告/方案文档 → AI 按整篇报告评分 + 本地完整性兜底。
6
+ * 命名保留 CaseAnalysis*(PluginType 值仍 'case-analysis')。
7
+ */
8
+ declare const CaseAnalysisPlugin: React.FC<PluginProps>;
9
+ export default CaseAnalysisPlugin;
@@ -0,0 +1,26 @@
1
+ import React from 'react';
2
+ import type { CaseAnalysisUIConfig, ReportBlock, ReportBlockKind, ReferenceDoc, RecommendedOutline, EvaluationResult } from './shared/types';
3
+ export type { EvaluationResult } from './shared/types';
4
+ export interface CaseAnalysisPluginViewProps {
5
+ phase: 'editing' | 'evaluating' | 'feedback';
6
+ scenario: string;
7
+ background?: string;
8
+ referenceDocs?: ReferenceDoc[];
9
+ reportTitle?: string;
10
+ /** 中间顶栏标签来源 */
11
+ stepName?: string;
12
+ /** 「推荐示例」套用的大纲骨架 */
13
+ recommendedOutline?: RecommendedOutline;
14
+ blocks: ReportBlock[];
15
+ onBlocksChange: (blocks: ReportBlock[]) => void;
16
+ availableComponents?: ReportBlockKind[];
17
+ availableFrameworks?: string[];
18
+ evaluation: EvaluationResult | null;
19
+ loading: boolean;
20
+ uiConfig: CaseAnalysisUIConfig;
21
+ onSubmit: () => void;
22
+ onRetry: () => void;
23
+ onComplete: () => void;
24
+ }
25
+ declare const CaseAnalysisPluginView: React.FC<CaseAnalysisPluginViewProps>;
26
+ export default CaseAnalysisPluginView;
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ import type { PluginProps } from '@shared/types/index.js';
3
+ /**
4
+ * 决策选择插件(通用)
5
+ * 适用于:产品推荐、审批决策、方案选择、异常处置等
6
+ */
7
+ declare const DecisionSelectPlugin: React.FC<PluginProps>;
8
+ export default DecisionSelectPlugin;
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ import type { PluginProps } from '@shared/types/index.js';
3
+ /**
4
+ * 对话式表单插件
5
+ * 一边与AI扮演的角色聊天,一边操作表单
6
+ * 复用 useDialogueLogic + useFormFillingLogic
7
+ */
8
+ declare const DialogueFormPlugin: React.FC<PluginProps>;
9
+ export default DialogueFormPlugin;
@@ -0,0 +1,37 @@
1
+ import React from "react";
2
+ import type { DialogueFormUIConfig } from "./shared/types";
3
+ interface Message {
4
+ role: "customer" | "teller";
5
+ content: string;
6
+ timestamp: number;
7
+ emotion?: "neutral" | "happy" | "confused" | "angry";
8
+ feedback?: string;
9
+ }
10
+ export interface DialogueFormPluginViewProps {
11
+ messages: Message[];
12
+ input: string;
13
+ aiResponding: boolean;
14
+ aiError?: string | null;
15
+ scenario?: string;
16
+ objectives?: string[];
17
+ tellerRoleName: string;
18
+ customerRoleName: string;
19
+ formTemplate: any;
20
+ formData: Record<string, any>;
21
+ validationErrors: Record<string, string>;
22
+ highlightedFields: Set<string>;
23
+ formInstance: any;
24
+ uiConfig: DialogueFormUIConfig;
25
+ stableFormData: Record<string, any>;
26
+ stableOnValueChange: (field: string, value: any) => void;
27
+ forceRenderKey?: number;
28
+ onInputChange: (value: string) => void;
29
+ onSend: () => void;
30
+ onFieldChange: (fieldName: string, value: any) => void;
31
+ onComplete: () => void;
32
+ }
33
+ /**
34
+ * 对话式表单插件纯 UI 组件
35
+ */
36
+ declare const DialogueFormPluginView: React.FC<DialogueFormPluginViewProps>;
37
+ export default DialogueFormPluginView;
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ import type { PluginProps } from '@shared/types/index.js';
3
+ /**
4
+ * 对话交互插件
5
+ * 用于客户接待、需求确认等对话场景
6
+ */
7
+ declare const DialoguePlugin: React.FC<PluginProps>;
8
+ export default DialoguePlugin;
@@ -0,0 +1,44 @@
1
+ import React from 'react';
2
+ import type { DialogueUIConfig } from './shared/types';
3
+ import type { DialoguePhase } from '@shared/types/index.js';
4
+ type Emotion = 'neutral' | 'happy' | 'confused' | 'angry';
5
+ type TalkQuality = 'excellent' | 'good' | 'average' | 'poor';
6
+ interface Message {
7
+ role: 'customer' | 'teller';
8
+ content: string;
9
+ timestamp: number;
10
+ emotion?: Emotion;
11
+ feedback?: string;
12
+ talkQuality?: TalkQuality;
13
+ }
14
+ interface RoleProfile {
15
+ name: string;
16
+ trait?: string;
17
+ desc?: string;
18
+ }
19
+ export interface DialoguePluginViewProps {
20
+ messages: Message[];
21
+ input: string;
22
+ aiResponding: boolean;
23
+ aiError?: string | null;
24
+ dialogueLogCount: number;
25
+ scenario?: string;
26
+ dialogueGoals?: string[];
27
+ tellerRoleName: string;
28
+ customerRoleName: string;
29
+ customerProfile?: RoleProfile;
30
+ tellerProfile?: RoleProfile;
31
+ uiConfig: DialogueUIConfig;
32
+ onInputChange: (value: string) => void;
33
+ onSend: () => void;
34
+ onComplete: () => void;
35
+ phases?: DialoguePhase[];
36
+ currentPhaseId?: string | null;
37
+ phaseHistory?: string[];
38
+ }
39
+ /**
40
+ * 对话插件运行时视图(双栏:左聊天区 65% + 右信息面板 35%)。
41
+ * 按 yyy_v2 原型 main-content 还原;顶栏与左侧实训资料栏由引擎/公共模块统一渲染,此处不重复。
42
+ */
43
+ declare const DialoguePluginView: React.FC<DialoguePluginViewProps>;
44
+ export default DialoguePluginView;
@@ -0,0 +1,47 @@
1
+ import React from 'react';
2
+ import type { ReviewDocument, ReviewField, ReferenceDiscrepancy } from '../shared/types';
3
+ import type { DocumentReviewScoreResult } from '../shared/judgement';
4
+ /**
5
+ * 单据审核「找茬式」核心组件
6
+ *
7
+ * 像素级复现原型 document-review2.html 的单证区:
8
+ * .document-card → .tab-bar/.tab-item/.tab-badge → .tab-panel
9
+ * → .doc-header/.doc-title/.doc-subtitle/.doc-no
10
+ * → .form-section/.form-section-title → .form-grid(cols-2/3/full)
11
+ * → .field-item(marked/marked-error/marked-correct/locate-flash)
12
+ *
13
+ * 多份单证用 Tab(每 Tab 一份),点击 field-item 触发 onFieldClick。
14
+ */
15
+ export interface DocumentCardProps {
16
+ documents: ReviewDocument[];
17
+ /** key = field.name(全局唯一) */
18
+ markedFields: Map<string, {
19
+ typeId: string;
20
+ reason?: string;
21
+ }>;
22
+ onFieldClick: (docIndex: number, field: ReviewField) => void;
23
+ /** 当前激活 Tab(单证)变化时回调,索引为 documents 下标。用于驱动外部底栏「当前单证」等联动 */
24
+ onTabChange?: (index: number) => void;
25
+ /** 控制 Tab 上的预设错误数 badge */
26
+ showExpectedCount: boolean;
27
+ /** 各单证预设错误数(仅 showExpectedCount 为 true 时显示) */
28
+ expectedCountByDoc?: Record<number, number>;
29
+ /** 提交后:标注命中/遗漏/误标 */
30
+ resultMode?: boolean;
31
+ /** perAnswer / falseMarks */
32
+ scoreResult?: DocumentReviewScoreResult;
33
+ /** 提交后取 correctValue 展示 */
34
+ answers?: ReferenceDiscrepancy[];
35
+ /** 高亮笔圈划的字段集合(key = field.name),对齐原型 .highlight-pen */
36
+ highlightedFields?: Set<string>;
37
+ }
38
+ /**
39
+ * 主插件通过 ref 调用的命令式句柄(定位/闪烁)。
40
+ * DocumentCard 内部自管 activeIndex(Tab),定位需切 Tab + 滚动 + 闪烁,
41
+ * 故由内部暴露 locate(fieldName):找到字段所在单证 → 切 Tab → 下一帧 scrollIntoView + locate-flash。
42
+ */
43
+ export interface DocumentCardHandle {
44
+ locate: (fieldName: string) => void;
45
+ }
46
+ export declare const DocumentCard: React.ForwardRefExoticComponent<DocumentCardProps & React.RefAttributes<DocumentCardHandle>>;
47
+ export default DocumentCard;
@@ -0,0 +1,47 @@
1
+ import React from 'react';
2
+ /**
3
+ * 单据审核「找茬式」三栏布局容器
4
+ *
5
+ * 容器内自适应 flex 布局(对齐决策判断插件 styles.root/workspace,不再用 fixed 定位):
6
+ * mainLayout(横向 flex,height:100% 填满父容器,溢出收敛到各栏内部)
7
+ * ├─ 左:参考文档侧边栏(ReferenceDocPanel,flex 子项,固定宽 330,可折叠到 0)
8
+ * ├─ 中:contentArea(flex:1,自身 overflowY:auto)
9
+ * │ 工具栏 + 单证卡片 + 结果面板 + 底部统计条(均由 children 注入)
10
+ * └─ 右:标记清单面板(MarkListPanel,flex 子项,固定宽 380,可折叠到 0)
11
+ *
12
+ * 关键:三栏全部相对本容器排布。因此当外层步骤弹窗缩窄(如打开案例详情侧栏)时,
13
+ * 中栏 flex:1 自动收缩、左右栏随容器收敛,整组三栏随弹窗自适应;
14
+ * 不再依赖"头部恰好 64px"的隐式契约,也不会用 fixed 越出弹窗遮挡头部。
15
+ * 面板折叠/展开由各自组件用 width 过渡 + absolute 浮动按钮实现(相对本容器,position:relative)。
16
+ */
17
+ export interface DocumentReviewLayoutProps {
18
+ /** 左栏(可选,已弃用):参考文档移至引擎「实训资料」资料栏统一渲染,本插件不再传 */
19
+ left?: React.ReactNode;
20
+ /** 中栏:工具栏 + 单证 + 结果 + 底栏 */
21
+ center: React.ReactNode;
22
+ /** 右栏:标记清单面板(flex 子项,含自身折叠与浮动展开按钮) */
23
+ right: React.ReactNode;
24
+ }
25
+ export declare const DocumentReviewLayout: React.FC<DocumentReviewLayoutProps>;
26
+ /**
27
+ * 底部统计条(对齐原型 .bottom-bar)
28
+ *
29
+ * 左侧:📄 单证数量 / 📍 当前单证 / ⚠️ 预设错误数(N 受 showExpectedCount 控制)
30
+ * 右侧:操作提示
31
+ *
32
+ * 预设错误数仅在 showExpectedCount 为真且 expectedTotal 有值时展示该项
33
+ * (T9 会统一复核显隐口径,此处先按入参透传)。
34
+ */
35
+ export interface BottomBarProps {
36
+ /** 单证数量 */
37
+ documentCount: number;
38
+ /** 当前单证名称 */
39
+ currentDocName: string;
40
+ /** 预设错误数(仅 showExpectedCount 时展示) */
41
+ expectedTotal?: number;
42
+ showExpectedCount: boolean;
43
+ /** 右侧提示文案 */
44
+ hint?: string;
45
+ }
46
+ export declare const BottomBar: React.FC<BottomBarProps>;
47
+ export default DocumentReviewLayout;
@@ -0,0 +1,51 @@
1
+ import React from 'react';
2
+ import type { ErrorTypeOption } from '../shared/types';
3
+ import type { DocumentReviewScoreResult } from '../shared/judgement';
4
+ /**
5
+ * 右侧「标记清单」单条数据
6
+ * fieldName 全局唯一,作为定位/编辑/删除的 key。
7
+ */
8
+ export interface MarkListItem {
9
+ fieldName: string;
10
+ fieldLabel: string;
11
+ docName: string;
12
+ typeId: string;
13
+ reason?: string;
14
+ }
15
+ /**
16
+ * 单据审核「找茬式」右侧标记清单面板
17
+ *
18
+ * 像素级复现原型 document-review2.html 的右侧面板:
19
+ * .mark-panel(.collapsed / .submitted-mode)
20
+ * → .mark-panel-header(紫色渐变 #667eea→#764ba2,含收起按钮)
21
+ * → .mark-panel-stats(已标记不符点 X / N 处,count-num 24px 蓝)
22
+ * → .mark-panel-body
23
+ * → .mark-list-empty(空态)
24
+ * → .mark-list-item ×N(.mark-list-index / .mark-list-field-name
25
+ * / .mark-list-tab-tag / .mark-list-type-tag / .mark-list-reason
26
+ * / .mark-list-actions[定位/编辑/删除])
27
+ * + .mark-panel-fab(收起时浮动展开按钮)
28
+ *
29
+ * submitted 只读:隐藏编辑/删除(保留定位);依据 scoreResult 给序号/类型 tag 上色
30
+ * - 命中(fieldName ∈ perAnswer 且 hit)→ index-correct + type-correct(绿)
31
+ * - 误标(fieldName ∈ falseMarks)→ index-wrong(红)
32
+ */
33
+ export interface MarkListPanelProps {
34
+ marks: MarkListItem[];
35
+ /** 查 typeId → label */
36
+ errorTypes: ErrorTypeOption[];
37
+ collapsed: boolean;
38
+ onToggleCollapsed: () => void;
39
+ submitted: boolean;
40
+ /** 提交后判定每条命中/误标 */
41
+ scoreResult?: DocumentReviewScoreResult;
42
+ onLocate: (fieldName: string) => void;
43
+ onEdit: (fieldName: string) => void;
44
+ onDelete: (fieldName: string) => void;
45
+ /** 控制 "/ N" 显隐 */
46
+ showExpectedCount: boolean;
47
+ /** N(预设不符点总数) */
48
+ expectedTotal?: number;
49
+ }
50
+ export declare const MarkListPanel: React.FC<MarkListPanelProps>;
51
+ export default MarkListPanel;
@@ -0,0 +1,37 @@
1
+ import React from 'react';
2
+ import type { ErrorTypeOption } from '../shared/types';
3
+ /**
4
+ * 单据审核「找茬式」标记弹窗
5
+ *
6
+ * 像素级复现原型 document-review2.html 的标记弹窗:
7
+ * .mark-modal-overlay(show) → .mark-modal
8
+ * → .mark-modal-header
9
+ * → .mark-field-preview(.label / .value)
10
+ * → .mark-modal-body(label + .mark-error-select[optgroup] + label + .mark-reason-input)
11
+ * → .mark-modal-footer(.btn-cancel / .btn-confirm / 红色「取消标记」)
12
+ *
13
+ * 错误类型按 errorTypes[].group 分 <optgroup>(原型 confirmMark 行为);
14
+ * 未选错误类型不允许确认(原型 alert「请选择错误类型」)。
15
+ *
16
+ * existing(编辑既有标记):回填 typeId/reason,额外显示红色「取消标记」(onRemove),
17
+ * 「确认标记」文案改为「更新标记」(原型隐藏确认仅留删除,本实现保留更新能力以便修改类型/说明)。
18
+ */
19
+ export interface MarkModalProps {
20
+ open: boolean;
21
+ /** 字段名预览 */
22
+ fieldLabel: string;
23
+ /** 字段值预览 */
24
+ fieldValue: string;
25
+ errorTypes: ErrorTypeOption[];
26
+ /** 编辑既有标记时回填 */
27
+ existing?: {
28
+ typeId: string;
29
+ reason?: string;
30
+ };
31
+ onConfirm: (typeId: string, reason: string) => void;
32
+ /** 仅 existing 时显示「取消标记」 */
33
+ onRemove?: () => void;
34
+ onCancel: () => void;
35
+ }
36
+ export declare const MarkModal: React.FC<MarkModalProps>;
37
+ export default MarkModal;
@@ -0,0 +1,32 @@
1
+ import React from 'react';
2
+ import type { ReviewDocument, ReferenceDiscrepancy, ErrorTypeOption } from '../shared/types';
3
+ import type { DocumentReviewScoreResult } from '../shared/judgement';
4
+ /**
5
+ * 单据审核「找茬式」提交后结果面板 —— 不符点清单
6
+ *
7
+ * 像素级复现原型 document-review2.html 的 .result-panel:
8
+ * .result-panel
9
+ * .result-header(黄色渐变)
10
+ * h3「📋 审核结果 — 不符点清单」
11
+ * .result-stats(.stat-item found/missed/wrong,取自 scoreResult)
12
+ * .result-body
13
+ * .discrepancy-table(状态 / 字段名称 / 所属单证 / 错误类型 / 原值→正确值)
14
+ * - 命中(hit):✅、原值划线 + 绿色 correctValue、explanation、学员备注(蓝)
15
+ * - 遗漏:❌、「【未标记】原值:X → 应为:Y」(红)、explanation
16
+ * - 误标(falseMarks):⚠️、「误标」、该字段无误提示 + 学员备注
17
+ */
18
+ export interface ResultPanelProps {
19
+ scoreResult: DocumentReviewScoreResult;
20
+ answers: ReferenceDiscrepancy[];
21
+ /** 用于按 fieldName 查 字段label / 原值 / 所属单证名 */
22
+ documents: ReviewDocument[];
23
+ /** typeId → label */
24
+ errorTypes: ErrorTypeOption[];
25
+ /** 学员备注 reason(fieldName → { typeId, reason }) */
26
+ marks: Map<string, {
27
+ typeId: string;
28
+ reason?: string;
29
+ }>;
30
+ }
31
+ export declare const ResultPanel: React.FC<ResultPanelProps>;
32
+ export default ResultPanel;
@@ -0,0 +1,31 @@
1
+ import React from 'react';
2
+ /**
3
+ * 单据审核「找茬式」顶部工具栏
4
+ *
5
+ * 像素级复现原型 document-review2.html 的 .toolbar:
6
+ * .toolbar
7
+ * .toolbar-left
8
+ * .tool-btn(高亮笔,active 态由 highlightActive 控制)
9
+ * .tool-btn(审核提示,点击弹出 hintText)
10
+ * .tool-btn(清除标注)
11
+ * .toolbar-right
12
+ * .status-badge(.reviewing / .submitted)(带脉冲圆点)
13
+ * 已标记 X 处
14
+ * .submit-btn(提交审核 / 已提交禁用)
15
+ *
16
+ * 注意:高亮笔在字段上的显示,以及「点击字段切高亮 vs 开标记弹窗」的分流由
17
+ * 主插件 + DocumentCard 接线,本组件只负责按钮与 active 态。已砍掉放大镜。
18
+ */
19
+ export interface ToolbarProps {
20
+ markedCount: number;
21
+ /** 高亮笔是否激活 */
22
+ highlightActive: boolean;
23
+ onToggleHighlight: () => void;
24
+ onClearMarks: () => void;
25
+ onSubmit: () => void;
26
+ submitted: boolean;
27
+ /** 审核提示文案(默认给通用操作指引) */
28
+ hintText?: string;
29
+ }
30
+ export declare const Toolbar: React.FC<ToolbarProps>;
31
+ export default Toolbar;