@labelbee/lb-components 1.19.0-alpha.1 → 1.19.0-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (27) hide show
  1. package/dist/components/LLMToolView/index.js +1 -1
  2. package/dist/components/LLMToolView/modelAPIView/index.js +1 -1
  3. package/dist/components/LLMToolView/questionView/index.js +1 -1
  4. package/dist/components/LLMToolView/sidebar/components/answerList/index.js +1 -1
  5. package/dist/components/LLMToolView/sidebar/components/textEditor/index.js +1 -0
  6. package/dist/components/LLMToolView/sidebar/index.js +1 -1
  7. package/dist/components/diffMatchPatchComponent/index.js +2 -0
  8. package/dist/index.css +8 -3
  9. package/dist/store/ctx.js +1 -1
  10. package/dist/types/components/LLMToolView/questionView/index.d.ts +2 -1
  11. package/dist/types/components/LLMToolView/sidebar/components/answerList/index.d.ts +1 -1
  12. package/dist/types/components/LLMToolView/sidebar/components/textEditor/index.d.ts +10 -0
  13. package/dist/types/components/LLMToolView/types.d.ts +11 -2
  14. package/dist/types/components/diffMatchPatchComponent/index.d.ts +12 -0
  15. package/dist/types/store/ctx.d.ts +3 -1
  16. package/dist/views/MainView/LLMLayout/index.js +1 -1
  17. package/es/components/LLMToolView/index.js +1 -1
  18. package/es/components/LLMToolView/modelAPIView/index.js +1 -1
  19. package/es/components/LLMToolView/questionView/index.js +1 -1
  20. package/es/components/LLMToolView/sidebar/components/answerList/index.js +1 -1
  21. package/es/components/LLMToolView/sidebar/components/textEditor/index.js +1 -0
  22. package/es/components/LLMToolView/sidebar/index.js +1 -1
  23. package/es/components/diffMatchPatchComponent/index.js +2 -0
  24. package/es/index.css +8 -3
  25. package/es/store/ctx.js +1 -1
  26. package/es/views/MainView/LLMLayout/index.js +1 -1
  27. package/package.json +6 -3
@@ -1 +1 @@
1
- "use strict";var React=require("react"),reactRedux=require("react-redux"),ctx=require("../../store/ctx.js"),antd=require("antd"),index$2=require("../../constant/index.js"),es=require("antd/es"),index$1=require("./questionView/index.js"),reactI18next=require("react-i18next"),index=require("../../views/MainView/annotationTips/index.js"),data=require("./utils/data.js");function _interopDefaultLegacy(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var React__default=_interopDefaultLegacy(React);const LLMViewCls=`${index$2.prefix}-LLMView`,LLMToolView=e=>{const{annotation:i,checkMode:o=!0,tips:v,showTips:f}=e,{imgIndex:n,imgList:a}=i,{hoverKey:L,modelAPIResponse:x,setModelAPIResponse:u}=React.useContext(ctx.LLMContext),[q,m]=React.useState([]),[p,w]=React.useState(""),{t:R}=reactI18next.useTranslation();return React.useEffect(()=>{let t;if(!o)return t=setInterval(()=>{antd.message.info(R("EfficientListening"))},1e3*60),()=>{t&&clearInterval(t)}},[]),React.useEffect(()=>{var t,l;if(!a[n])return;const r=(t=a[n])==null?void 0:t.questionList,c=(l=a[n])!=null?l:{},s=data.getCurrentResultFromResultList(c==null?void 0:c.result),d=(s==null?void 0:s.length)>0?s[0]:s;w(r==null?void 0:r.question),m((r==null?void 0:r.answerList)||[]),u((d==null?void 0:d.modelAPIResponse)||[])},[n]),React__default.default.createElement(es.Layout,{className:LLMViewCls},React__default.default.createElement("div",{className:`${LLMViewCls}-question`},f===!0&&React__default.default.createElement(index,{tips:v}),React__default.default.createElement(index$1.default,{hoverKey:L,question:p,answerList:q,modelAPIResponse:x,setModelAPIResponse:u,checkMode:o,annotation:i})))},mapStateToProps=e=>({annotation:e.annotation});var LLMToolView$1=reactRedux.connect(mapStateToProps,null,null,{context:ctx.LabelBeeContext})(LLMToolView);module.exports=LLMToolView$1;
1
+ "use strict";var React=require("react"),reactRedux=require("react-redux"),ctx=require("../../store/ctx.js"),antd=require("antd"),index$3=require("../../constant/index.js"),es=require("antd/es"),index$2=require("./questionView/index.js"),reactI18next=require("react-i18next"),index$1=require("../../views/MainView/annotationTips/index.js"),data=require("./utils/data.js"),reducer=require("../../store/annotation/reducer.js"),index=require("../../utils/index.js");function _interopDefaultLegacy(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var React__default=_interopDefaultLegacy(React);const LLMViewCls=`${index$3.prefix}-LLMView`,LLMToolView=e=>{const{annotation:c,checkMode:d=!0,tips:q,showTips:p}=e,{imgIndex:n,imgList:a,stepList:o,step:u}=c,{hoverKey:g,modelAPIResponse:m,setModelAPIResponse:f,newAnswerList:l}=React.useContext(ctx.LLMContext),[w,M]=React.useState([]),[j,C]=React.useState(""),[R,E]=React.useState(),{t:I}=reactI18next.useTranslation();return React.useEffect(()=>{let t;if(!d)return t=setInterval(()=>{antd.message.info(I("EfficientListening"))},1e3*60),()=>{t&&clearInterval(t)}},[]),React.useEffect(()=>{var t,r;if(!a[n])return;const s=(t=a[n])==null?void 0:t.questionList,v=(r=a[n])!=null?r:{},i=data.getCurrentResultFromResultList(v==null?void 0:v.result),L=(i==null?void 0:i.length)>0?i[0]:i;C(s==null?void 0:s.question);let x=(s==null?void 0:s.answerList)||[];l.length>0&&(x=l),M(x),f((L==null?void 0:L.modelAPIResponse)||[])},[n,l]),React.useEffect(()=>{var t;if(o&&u){const r=(t=reducer.getStepConfig(o,u))==null?void 0:t.config;E(index.jsonParser(r))}},[o,u]),React__default.default.createElement(es.Layout,{className:LLMViewCls},React__default.default.createElement("div",{className:`${LLMViewCls}-question`},p===!0&&React__default.default.createElement(index$1,{tips:q}),React__default.default.createElement(index$2.default,{hoverKey:g,question:j,answerList:w,modelAPIResponse:m,setModelAPIResponse:f,checkMode:d,annotation:c,LLMConfig:R})))},mapStateToProps=e=>({annotation:e.annotation});var LLMToolView$1=reactRedux.connect(mapStateToProps,null,null,{context:ctx.LabelBeeContext})(LLMToolView);module.exports=LLMToolView$1;
@@ -1 +1 @@
1
- "use strict";var antd=require("antd"),classNames=require("classnames"),React=require("react"),loading=require("../../../assets/annotation/LLMTool/loading.svg.js"),index$4=require("../../longText/index.js"),index$3=require("../../markdownView/index.js"),index$2=require("../../../constant/index.js"),reducer=require("../../../store/annotation/reducer.js"),index=require("../../../utils/index.js"),icons=require("@ant-design/icons"),index$1=require("../questionView/index.js"),lbUtils=require("@labelbee/lb-utils");function _interopDefaultLegacy(t){return t&&typeof t=="object"&&"default"in t?t:{default:t}}var classNames__default=_interopDefaultLegacy(classNames),React__default=_interopDefaultLegacy(React),__async=(t,e,n)=>new Promise((l,u)=>{var o=a=>{try{r(n.next(a))}catch(d){u(d)}},c=a=>{try{r(n.throw(a))}catch(d){u(d)}},r=a=>a.done?l(a.value):Promise.resolve(a.value).then(o,c);r((n=n.apply(t,e)).next())});const RenderContent=({dataFormatType:t,answer:e})=>t===index$2.EDataFormatType.Markdown?React__default.default.createElement(index$3,{value:e}):React__default.default.createElement(index$4,{wordCount:1e3,text:e}),getAnswer=(t,e)=>{var n;return(n=e.find(l=>l.id===t))==null?void 0:n.answer},ModelAPIView=t=>{var e;const{annotation:n={},checkMode:l,dataFormatType:u,modelAPIResponse:o,question:c,setModelAPIResponse:r}=t,{stepList:a,step:d,toolInstance:f}=n,[v,m]=React.useState({}),{enableModelAPI:p=!1,modelAPIConfigList:i=[]}=v,g=s=>{let L=!1;const w=o.map(_=>_.id===s.id?(L=!0,s):_);L||w.push(s),r==null||r(w)};return React.useEffect(()=>{var s;if(a&&d){const L=(s=reducer.getStepConfig(a,d))==null?void 0:s.config;m(index.jsonParser(L))}},[a,d]),p?(e=i==null?void 0:i.map)==null?void 0:e.call(i,s=>React__default.default.createElement(ModelAPIContent,{dataFormatType:u,config:s,modelAPIResponse:o,key:s==null?void 0:s.id,toolInstance:f,question:c,updateModelAPIResponse:g,checkMode:l})):null},LoadingMessage=()=>React__default.default.createElement("div",{className:classNames__default.default({[`${index$1.LLMViewCls}__loading`]:!0})},lbUtils.i18n.t("AnswersAreBeingGenerated"),React__default.default.createElement("img",{src:loading})),FailedMessage=()=>React__default.default.createElement("span",{className:classNames__default.default({[`${index$1.LLMViewCls}__failed`]:!0})},lbUtils.i18n.t("AnswerGenerationFailedPleaseTryAgainLater")," ",React__default.default.createElement(icons.InfoCircleFilled,null)),ModelAPIContent=({dataFormatType:t,config:e,modelAPIResponse:n,toolInstance:l,question:u,updateModelAPIResponse:o,checkMode:c})=>{const[r,a]=React.useState(!1),[d,f]=React.useState(!1),v=getAnswer(e==null?void 0:e.id,n),m=i=>{a(i),l&&(l.loading=i)},p=()=>__async(void 0,null,function*(){m(!0),f(!1);try{const i=yield l==null?void 0:l.getAPIAnswer(e,u);o({id:e==null?void 0:e.id,answer:i})}catch(i){f(!0)}finally{m(!1)}});return React__default.default.createElement("div",{className:classNames__default.default({[`${index$1.LLMViewCls}__content`]:!0}),key:e==null?void 0:e.id},React__default.default.createElement(antd.Tag,{style:{color:"#666FFF",background:"#eeefff",height:"20px",padding:"0px 8px",border:"none"}},e==null?void 0:e.name),React__default.default.createElement("div",{className:classNames__default.default({[`${index$1.LLMViewCls}__answer`]:!0})},!r&&v&&React__default.default.createElement(RenderContent,{dataFormatType:t,answer:v}),React__default.default.createElement("div",{className:classNames__default.default({[`${index$1.LLMViewCls}__message`]:!0})},r?React__default.default.createElement(LoadingMessage,null):d&&React__default.default.createElement(FailedMessage,null)),!r&&!c&&React__default.default.createElement("div",{className:classNames__default.default({[`${index$1.LLMViewCls}__footer`]:!0})},React__default.default.createElement("span",{onClick:p},lbUtils.i18n.t("ReGenerate"),React__default.default.createElement(icons.SyncOutlined,null)))))};module.exports=ModelAPIView;
1
+ "use strict";var antd=require("antd"),classNames=require("classnames"),React=require("react"),loading=require("../../../assets/annotation/LLMTool/loading.svg.js"),index$4=require("../../longText/index.js"),index$3=require("../../markdownView/index.js"),index$2=require("../../../constant/index.js"),reducer=require("../../../store/annotation/reducer.js"),index=require("../../../utils/index.js"),icons=require("@ant-design/icons"),index$1=require("../questionView/index.js"),lbUtils=require("@labelbee/lb-utils");function _interopDefaultLegacy(t){return t&&typeof t=="object"&&"default"in t?t:{default:t}}var classNames__default=_interopDefaultLegacy(classNames),React__default=_interopDefaultLegacy(React),__async=(t,e,n)=>new Promise((l,u)=>{var o=a=>{try{r(n.next(a))}catch(d){u(d)}},c=a=>{try{r(n.throw(a))}catch(d){u(d)}},r=a=>a.done?l(a.value):Promise.resolve(a.value).then(o,c);r((n=n.apply(t,e)).next())});const RenderContent=({dataFormatType:t,answer:e})=>t===index$2.EDataFormatType.Markdown?React__default.default.createElement(index$3,{value:e}):React__default.default.createElement(index$4,{wordCount:1e3,text:e}),getAnswer=(t,e)=>{var n;return(n=e.find(l=>l.id===t))==null?void 0:n.answer},ModelAPIView=t=>{var e;const{annotation:n={},checkMode:l,dataFormatType:u,modelAPIResponse:o,question:c,setModelAPIResponse:r}=t,{stepList:a,step:d,toolInstance:f}=n,[v,m]=React.useState(),{enableModelAPI:p=!1,modelAPIConfigList:i=[]}=v||{},g=s=>{let L=!1;const w=o.map(_=>_.id===s.id?(L=!0,s):_);L||w.push(s),r==null||r(w)};return React.useEffect(()=>{var s;if(a&&d){const L=(s=reducer.getStepConfig(a,d))==null?void 0:s.config;m(index.jsonParser(L))}},[a,d]),p?(e=i==null?void 0:i.map)==null?void 0:e.call(i,s=>React__default.default.createElement(ModelAPIContent,{dataFormatType:u,config:s,modelAPIResponse:o,key:s==null?void 0:s.id,toolInstance:f,question:c,updateModelAPIResponse:g,checkMode:l})):null},LoadingMessage=()=>React__default.default.createElement("div",{className:classNames__default.default({[`${index$1.LLMViewCls}__loading`]:!0})},lbUtils.i18n.t("AnswersAreBeingGenerated"),React__default.default.createElement("img",{src:loading})),FailedMessage=()=>React__default.default.createElement("span",{className:classNames__default.default({[`${index$1.LLMViewCls}__failed`]:!0})},lbUtils.i18n.t("AnswerGenerationFailedPleaseTryAgainLater")," ",React__default.default.createElement(icons.InfoCircleFilled,null)),ModelAPIContent=({dataFormatType:t,config:e,modelAPIResponse:n,toolInstance:l,question:u,updateModelAPIResponse:o,checkMode:c})=>{const[r,a]=React.useState(!1),[d,f]=React.useState(!1),v=getAnswer(e==null?void 0:e.id,n),m=i=>{a(i),l&&(l.loading=i)},p=()=>__async(void 0,null,function*(){m(!0),f(!1);try{const i=yield l==null?void 0:l.getAPIAnswer(e,u);o({id:e==null?void 0:e.id,answer:i})}catch(i){f(!0)}finally{m(!1)}});return React__default.default.createElement("div",{className:classNames__default.default({[`${index$1.LLMViewCls}__content`]:!0}),key:e==null?void 0:e.id},React__default.default.createElement(antd.Tag,{style:{color:"#666FFF",background:"#eeefff",height:"20px",padding:"0px 8px",border:"none"}},e==null?void 0:e.name),React__default.default.createElement("div",{className:classNames__default.default({[`${index$1.LLMViewCls}__answer`]:!0})},!r&&v&&React__default.default.createElement(RenderContent,{dataFormatType:t,answer:v}),React__default.default.createElement("div",{className:classNames__default.default({[`${index$1.LLMViewCls}__message`]:!0})},r?React__default.default.createElement(LoadingMessage,null):d&&React__default.default.createElement(FailedMessage,null)),!r&&!c&&React__default.default.createElement("div",{className:classNames__default.default({[`${index$1.LLMViewCls}__footer`]:!0})},React__default.default.createElement("span",{onClick:p},lbUtils.i18n.t("ReGenerate"),React__default.default.createElement(icons.SyncOutlined,null)))))};module.exports=ModelAPIView;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var React=require("react"),antd=require("antd"),index$2=require("../../longText/index.js"),index=require("../../../constant/index.js"),classNames=require("classnames"),reactI18next=require("react-i18next"),lbUtils=require("@labelbee/lb-utils"),index$1=require("../../markdownView/index.js"),icons=require("@ant-design/icons"),index$3=require("../modelAPIView/index.js");function _interopDefaultLegacy(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var React__default=_interopDefaultLegacy(React),classNames__default=_interopDefaultLegacy(classNames),__defProp=Object.defineProperty,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(e,t,a)=>t in e?__defProp(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,__spreadValues=(e,t)=>{for(var a in t||(t={}))__hasOwnProp.call(t,a)&&__defNormalProp(e,a,t[a]);if(__getOwnPropSymbols)for(var a of __getOwnPropSymbols(t))__propIsEnum.call(t,a)&&__defNormalProp(e,a,t[a]);return e};const LLMViewCls=`${index.prefix}-LLMView`,Header=({setDataFormatType:e,dataFormatType:t})=>{const{t:a}=reactI18next.useTranslation();return React__default.default.createElement("div",{className:`${LLMViewCls}__title`,style:{display:"flex",justifyContent:"space-between"}},a("Title"),React__default.default.createElement("span",{style:{display:"flex"}},React__default.default.createElement(antd.Radio.Group,{value:t,onChange:n=>{e(n.target.value)}},React__default.default.createElement(antd.Radio.Button,{value:index.EDataFormatType.Default,style:{textAlign:"center",width:"52px"}},"</>"),React__default.default.createElement(antd.Radio.Button,{value:index.EDataFormatType.Markdown,style:{textAlign:"center",width:"52px"}},React__default.default.createElement(icons.FileTextOutlined,null))),React__default.default.createElement("span",{style:{marginLeft:"8px",width:"4px",background:"#1890ff"}})))},QuestionView=e=>{const{hoverKey:t,answerList:a,question:n,lang:o,modelAPIResponse:s,setModelAPIResponse:u,checkMode:d=!0}=e,[l,i]=React.useState(index.EDataFormatType.Default),{t:c}=reactI18next.useTranslation();return React.useEffect(()=>{var r;o&&((r=lbUtils.i18n)==null||r.changeLanguage(o))},[]),React__default.default.createElement("div",{className:LLMViewCls},React__default.default.createElement("div",{className:`${LLMViewCls}__textBox`,style:{borderBottom:"1px solid #EBEBEB"}},React__default.default.createElement(Header,{setDataFormatType:i,dataFormatType:l}),React__default.default.createElement("div",{className:`${LLMViewCls}__content`},l===index.EDataFormatType.Markdown?React__default.default.createElement(index$1,{value:n}):React__default.default.createElement(index$2,{wordCount:200,text:n}))),React__default.default.createElement("div",{className:`${LLMViewCls}__textBox`},React__default.default.createElement("div",{className:`${LLMViewCls}__title`},c("Answer")),a.map((r,f)=>React__default.default.createElement("div",{className:classNames__default.default({[`${LLMViewCls}__content`]:!0,[`${LLMViewCls}__contentActive`]:t===(r==null?void 0:r.order)}),key:f},React__default.default.createElement(antd.Tag,{style:{color:"#666FFF",background:"#eeefff",height:"20px",padding:"0px 8px",border:"none"}},r==null?void 0:r.order),l===index.EDataFormatType.Markdown?React__default.default.createElement(index$1,{value:r==null?void 0:r.answer}):React__default.default.createElement(index$2,{wordCount:1e3,text:r==null?void 0:r.answer}))),React__default.default.createElement(index$3,{dataFormatType:l,modelAPIResponse:s,question:n,setModelAPIResponse:u,checkMode:d,annotation:e.annotation})))},WrapQuestionView=e=>React__default.default.createElement(reactI18next.I18nextProvider,{i18n:lbUtils.i18n},React__default.default.createElement(QuestionView,__spreadValues({},e)));exports.LLMViewCls=LLMViewCls,exports.default=WrapQuestionView;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var React=require("react"),antd=require("antd"),index=require("../../../constant/index.js"),classNames=require("classnames"),reactI18next=require("react-i18next"),lbUtils=require("@labelbee/lb-utils"),index$1=require("../../markdownView/index.js"),icons=require("@ant-design/icons"),index$2=require("../modelAPIView/index.js"),index$3=require("../../diffMatchPatchComponent/index.js"),reResizable=require("re-resizable");function _interopDefaultLegacy(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var React__default=_interopDefaultLegacy(React),classNames__default=_interopDefaultLegacy(classNames),__defProp=Object.defineProperty,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(e,t,a)=>t in e?__defProp(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,__spreadValues=(e,t)=>{for(var a in t||(t={}))__hasOwnProp.call(t,a)&&__defNormalProp(e,a,t[a]);if(__getOwnPropSymbols)for(var a of __getOwnPropSymbols(t))__propIsEnum.call(t,a)&&__defNormalProp(e,a,t[a]);return e};const LLMViewCls=`${index.prefix}-LLMView`,Header=({setDataFormatType:e,dataFormatType:t})=>{const{t:a}=reactI18next.useTranslation();return React__default.default.createElement("div",{className:`${LLMViewCls}__title`,style:{display:"flex",justifyContent:"space-between"}},a("Title"),React__default.default.createElement("span",{style:{display:"flex"}},React__default.default.createElement(antd.Radio.Group,{value:t,onChange:n=>{e(n.target.value)}},React__default.default.createElement(antd.Radio.Button,{value:index.EDataFormatType.Default,style:{textAlign:"center",width:"52px"}},"</>"),React__default.default.createElement(antd.Radio.Button,{value:index.EDataFormatType.Markdown,style:{textAlign:"center",width:"52px"}},React__default.default.createElement(icons.FileTextOutlined,null))),React__default.default.createElement("span",{style:{marginLeft:"8px",width:"4px",background:"#1890ff"}})))},RenderAnswer=({i:e,dataFormatType:t,isTextControl:a})=>{var n;return t===index.EDataFormatType.Markdown?React__default.default.createElement(index$1,{value:(n=e==null?void 0:e.newAnswer)!=null?n:e==null?void 0:e.answer}):a?React__default.default.createElement(index$3,{originString:e==null?void 0:e.answer,currentString:e==null?void 0:e.newAnswer}):React__default.default.createElement("div",null,e==null?void 0:e.answer)},QuestionView=e=>{const{hoverKey:t,answerList:a,question:n,lang:d,modelAPIResponse:f,setModelAPIResponse:m,checkMode:v=!0,LLMConfig:l}=e,[o,p]=React.useState(index.EDataFormatType.Default),u=200,{t:E}=reactI18next.useTranslation();React.useEffect(()=>{var r;d&&((r=lbUtils.i18n)==null||r.changeLanguage(d))},[]);const x=r=>{var i;return(l==null?void 0:l.isTextEdit)?!!((i=((l==null?void 0:l.textEdit)||[]).filter(c=>(c==null?void 0:c.title)===r.order)[0])==null?void 0:i.textControl):!1};return React__default.default.createElement("div",{className:LLMViewCls},React__default.default.createElement(reResizable.Resizable,{defaultSize:{width:"100%",height:u},minHeight:u,enable:{bottom:!0},style:{padding:"26px 32px",borderBottom:"1px solid #EBEBEB",overflow:"hidden"}},React__default.default.createElement(Header,{setDataFormatType:p,dataFormatType:o}),React__default.default.createElement("div",{className:`${LLMViewCls}__headerContent`},o===index.EDataFormatType.Markdown?React__default.default.createElement(index$1,{value:n}):n)),React__default.default.createElement("div",{className:`${LLMViewCls}__textBox`},React__default.default.createElement("div",{className:`${LLMViewCls}__title`},E("Answer")),a.map((r,i)=>{const s=x(r);return React__default.default.createElement("div",{className:classNames__default.default({[`${LLMViewCls}__content`]:!0,[`${LLMViewCls}__contentActive`]:t===(r==null?void 0:r.order)}),key:i},React__default.default.createElement(antd.Tag,{style:{color:"#666FFF",background:"#eeefff",height:"20px",padding:"0px 8px",border:"none"}},r==null?void 0:r.order),React__default.default.createElement(RenderAnswer,{i:r,isTextControl:s,dataFormatType:o}))}),React__default.default.createElement(index$2,{dataFormatType:o,modelAPIResponse:f,question:n,setModelAPIResponse:m,checkMode:v,annotation:e.annotation})))},WrapQuestionView=e=>React__default.default.createElement(reactI18next.I18nextProvider,{i18n:lbUtils.i18n},React__default.default.createElement(QuestionView,__spreadValues({},e)));exports.LLMViewCls=LLMViewCls,exports.default=WrapQuestionView;
@@ -1 +1 @@
1
- "use strict";var React=require("react"),index$4=require("../../../../../constant/index.js"),antd=require("antd"),reactI18next=require("react-i18next"),index$2=require("../scoreGroupButton/index.js"),index$3=require("../determineGroup/index.js"),ctx=require("../../../../../store/ctx.js"),index$1=require("../../../../../utils/index.js"),icons=require("@ant-design/icons"),index=require("../../../../../views/MainView/sidebar/TagSidebar/index.js"),_=require("lodash"),index$5=require("../../../../longText/index.js");function _interopDefaultLegacy(t){return t&&typeof t=="object"&&"default"in t?t:{default:t}}var React__default=_interopDefaultLegacy(React),ETagType;(function(t){t[t.Finish=0]="Finish",t[t.UnFinish=1]="UnFinish",t[t.Default=2]="Default"})(ETagType||(ETagType={}));const{Panel}=antd.Collapse,LLMSidebarCls=`${index$4.prefix}-LLMSidebar`,AnswerList=t=>{const{list:x=[],LLMConfig:g={},updateValue:h,checkMode:b}=t,{hoverKey:C,setHoverKey:S}=React.useContext(ctx.LLMContext),{t:y}=reactI18next.useTranslation(),F=b,$=e=>{const{indicatorScore:n=[],indicatorDetermine:r=[]}=g;let o=2;if((n==null?void 0:n.length)>0){if(n.some(a=>{var l,i;return!((l=e==null?void 0:e.indicatorScore)==null?void 0:l[a.value])||((i=e==null?void 0:e.indicatorScore)==null?void 0:i[a.value])>Number(a==null?void 0:a.score)}))return o=1,o;o=0}if((r==null?void 0:r.length)>0){if(r.some(a=>{var l;const i=(l=e==null?void 0:e.indicatorDetermine)==null?void 0:l[a.value];return!_.isBoolean(i)}))return o=1,o;o=0}return o},D=e=>{const n=$(e);let r=e.order;switch(n){case 0:return{backgroundColor:"#D9FFDF",fontColor:"#36B34A",tagText:`${r} ${y("Finished")}`,tagStatus:n};case 1:return{backgroundColor:"#FFD9D9",fontColor:"#F26549",tagText:`${r} ${y("Unfinished")}`,tagStatus:n};default:return{backgroundColor:"#EBEBEB",fontColor:"#999999",tagText:r,tagStatus:n}}};return React__default.default.createElement(antd.Collapse,{bordered:!1,expandIcon:index.expandIconFuc,expandIconPosition:"end",defaultActiveKey:x.length>0?x.map((e,n)=>n):void 0,style:{margin:"16px 0px"}},x.map((e,n)=>{const{indicatorScore:r=[],indicatorDetermine:o=[]}=g,{backgroundColor:f,fontColor:a,tagText:l,tagStatus:i}=D(e),k=React__default.default.createElement("div",{style:{display:"flex",width:"500px",alignItems:"center",whiteSpace:"nowrap"},onMouseMove:()=>{S(e.order)},onMouseLeave:()=>{S(-1)}},React__default.default.createElement(antd.Tag,{color:f,style:{color:a,padding:"0px 8px"}},l),React__default.default.createElement("span",{style:{textOverflow:"ellipsis",overflow:"hidden",lineHeight:"32px",paddingRight:"24px"}},e.answer));return React__default.default.createElement(Panel,{header:k,key:n,className:index$1.classnames({[`${LLMSidebarCls}-panel`]:!0,[`${LLMSidebarCls}-panelHover`]:C===e.order,[`${LLMSidebarCls}-errorPanel`]:i===1})},(r==null?void 0:r.length)>0&&r.map((p,m)=>{var s;const{label:d,text:u,value:c,score:v}=p,q=React__default.default.createElement("div",{className:`${LLMSidebarCls}-indicatorScore`},React__default.default.createElement(index$5,{text:d,openByText:!0}),u&&React__default.default.createElement(antd.Popover,{placement:"bottom",content:u,overlayClassName:`${LLMSidebarCls}-indicatorScore-title`},React__default.default.createElement(icons.InfoCircleOutlined,{style:{margin:"0px 4px",cursor:"pointer"}})));return d&&v?React__default.default.createElement(index$2,{score:v,title:q,selectScore:(s=e==null?void 0:e.indicatorScore)==null?void 0:s[c],updateScore:L=>{const w={key:c,value:L};h({order:e.order,value:w,key:"indicatorScore"})},key:m,isDisableAll:F}):null}),(o==null?void 0:o.length)>0&&o.map((p,m)=>{var s;const{label:d,value:u}=p;return d?React__default.default.createElement(index$3,{selectValue:(s=e==null?void 0:e.indicatorDetermine)==null?void 0:s[u],title:d,updateValue:c=>{const v={key:u,value:c};h({order:e.order,value:v,key:"indicatorDetermine"})},key:m,isDisableAll:F}):null}))}))};module.exports=AnswerList;
1
+ "use strict";var React=require("react"),index$5=require("../../../../../constant/index.js"),antd=require("antd"),reactI18next=require("react-i18next"),index$2=require("../scoreGroupButton/index.js"),index$3=require("../determineGroup/index.js"),ctx=require("../../../../../store/ctx.js"),index$1=require("../../../../../utils/index.js"),icons=require("@ant-design/icons"),index=require("../../../../../views/MainView/sidebar/TagSidebar/index.js"),_=require("lodash"),index$6=require("../../../../longText/index.js"),index$4=require("../textEditor/index.js");function _interopDefaultLegacy(t){return t&&typeof t=="object"&&"default"in t?t:{default:t}}var React__default=_interopDefaultLegacy(React),ETagType;(function(t){t[t.Finish=0]="Finish",t[t.UnFinish=1]="UnFinish",t[t.Default=2]="Default"})(ETagType||(ETagType={}));const{Panel}=antd.Collapse,LLMSidebarCls=`${index$5.prefix}-LLMSidebar`,AnswerList=t=>{const{list:g=[],LLMConfig:F,updateValue:h,checkMode:S}=t,{hoverKey:$,setHoverKey:w}=React.useContext(ctx.LLMContext),{t:y}=reactI18next.useTranslation(),C=S,k=e=>{const{indicatorScore:n=[],indicatorDetermine:r=[],textEdit:a=[],isTextEdit:E=!1}=F||{};let o=2;if((n==null?void 0:n.length)>0){if(n.some(l=>{var i,d;return!((i=e==null?void 0:e.indicatorScore)==null?void 0:i[l.value])||((d=e==null?void 0:e.indicatorScore)==null?void 0:d[l.value])>Number(l==null?void 0:l.score)}))return o=1,o;o=0}if((r==null?void 0:r.length)>0){if(r.some(l=>{var i;const d=(i=e==null?void 0:e.indicatorDetermine)==null?void 0:i[l.value];return!_.isBoolean(d)}))return o=1,o;o=0}if(E&&(a==null?void 0:a.length)>0){const s=a.filter(f=>(f==null?void 0:f.title)===e.order)[0],{min:l}=s,i=(e==null?void 0:e.newAnswer)||"";if(l&&(i==null?void 0:i.length)<Number(l))return o=1,o;o=0}return o},q=e=>{const n=k(e);let r=e.order;switch(n){case 0:return{backgroundColor:"#D9FFDF",fontColor:"#36B34A",tagText:`${r} ${y("Finished")}`,tagStatus:n};case 1:return{backgroundColor:"#FFD9D9",fontColor:"#F26549",tagText:`${r} ${y("Unfinished")}`,tagStatus:n};default:return{backgroundColor:"#EBEBEB",fontColor:"#999999",tagText:r,tagStatus:n}}},D=(e,n)=>n.filter(r=>(r==null?void 0:r.title)===e.order)[0];return React__default.default.createElement(antd.Collapse,{bordered:!1,expandIcon:index.expandIconFuc,expandIconPosition:"end",defaultActiveKey:g.length>0?g.map((e,n)=>n):void 0,style:{margin:"16px 0px"}},g.map((e,n)=>{const{indicatorScore:r=[],indicatorDetermine:a=[],textEdit:E=[],isTextEdit:o=!1}=F||{},{backgroundColor:s,fontColor:l,tagText:i,tagStatus:d}=q(e),f=D(e,E)||{},j=React__default.default.createElement("div",{style:{display:"flex",width:"500px",alignItems:"center",whiteSpace:"nowrap"},onMouseMove:()=>{w(e.order)},onMouseLeave:()=>{w(-1)}},React__default.default.createElement(antd.Tag,{color:s,style:{color:l,padding:"0px 8px"}},i),React__default.default.createElement("span",{style:{textOverflow:"ellipsis",overflow:"hidden",lineHeight:"32px",paddingRight:"24px"}},e.answer));return React__default.default.createElement(Panel,{header:j,key:n,className:index$1.classnames({[`${LLMSidebarCls}-panel`]:!0,[`${LLMSidebarCls}-panelHover`]:$===e.order,[`${LLMSidebarCls}-errorPanel`]:d===1})},(r==null?void 0:r.length)>0&&r.map((u,b)=>{var c;const{label:v,text:x,value:p,score:m}=u,L=React__default.default.createElement("div",{className:`${LLMSidebarCls}-indicatorScore`},React__default.default.createElement(index$6,{text:v,openByText:!0}),x&&React__default.default.createElement(antd.Popover,{placement:"bottom",content:x,overlayClassName:`${LLMSidebarCls}-indicatorScore-title`},React__default.default.createElement(icons.InfoCircleOutlined,{style:{margin:"0px 4px",cursor:"pointer"}})));return v&&m?React__default.default.createElement(index$2,{score:m,title:L,selectScore:(c=e==null?void 0:e.indicatorScore)==null?void 0:c[p],updateScore:M=>{const U={key:p,value:M};h({order:e.order,value:U,key:"indicatorScore"})},key:b,isDisableAll:C}):null}),(a==null?void 0:a.length)>0&&a.map((u,b)=>{var c;const{label:v,value:x}=u;return v?React__default.default.createElement(index$3,{selectValue:(c=e==null?void 0:e.indicatorDetermine)==null?void 0:c[x],title:v,updateValue:p=>{const m={key:x,value:p};h({order:e.order,value:m,key:"indicatorDetermine"})},key:b,isDisableAll:C}):null}),o&&React__default.default.createElement(index$4,{checkMode:S,newAnswer:e==null?void 0:e.newAnswer,textEditObject:f,updateValue:u=>{h({order:e.order,value:u,key:"textEdit"})}}))}))};module.exports=AnswerList;
@@ -0,0 +1 @@
1
+ "use strict";var React=require("react"),antd=require("antd"),reactI18next=require("react-i18next"),icons=require("@ant-design/icons");function _interopDefaultLegacy(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var React__default=_interopDefaultLegacy(React);const TextEditor=e=>{const{checkMode:o,newAnswer:l,textEditObject:u,updateValue:i}=e,{max:s,min:r}=u,{TextArea:c}=antd.Input,[a]=antd.Form.useForm(),{t:n}=reactI18next.useTranslation(),m=n("LeastCharacterError",{num:r});return React.useEffect(()=>{a.setFieldsValue({value:l}),o||a.validateFields()},[l]),React__default.default.createElement(antd.Form,{form:a,onValuesChange:(d,t)=>{const f=t.value;i(f)},style:{marginBottom:"16px"}},React__default.default.createElement("div",{style:{marginBottom:"16px"}},n("AnswerTextEdit"),React__default.default.createElement(antd.Popover,{placement:"bottom",content:n("ShowEditingResultDifferencesInTextModeOnly")},React__default.default.createElement(icons.InfoCircleOutlined,{style:{margin:"0px 4px",cursor:"pointer"}}))),React__default.default.createElement(antd.Form.Item,{name:"value",style:{marginBottom:8},rules:[{validator:(d,t="")=>r&&(t==null?void 0:t.length)<Number(r)?Promise.reject(m):Promise.resolve()}]},React__default.default.createElement(c,{maxLength:s,autoSize:{minRows:4,maxRows:10},allowClear:!0,disabled:o,showCount:!!s,style:{width:"100%"}})))};module.exports=TextEditor;
@@ -1 +1 @@
1
- "use strict";var React=require("react"),index$4=require("../../../constant/index.js"),antd=require("antd"),index$1=require("./components/answerSort/index.js"),reactRedux=require("react-redux"),_=require("lodash"),index$2=require("./components/answerList/index.js"),ctx=require("../../../store/ctx.js"),index=require("../../../utils/index.js"),reducer=require("../../../store/annotation/reducer.js"),annotation=require("../../../hooks/annotation.js"),actionCreators=require("../../../store/annotation/actionCreators.js"),lbAnnotation=require("@labelbee/lb-annotation"),reactI18next=require("react-i18next"),data=require("../utils/data.js"),empty=require("../../../assets/annotation/LLMTool/empty.svg.js"),index$3=require("./components/textInputBox/index.js");function _interopDefaultLegacy(r){return r&&typeof r=="object"&&"default"in r?r:{default:r}}var React__default=_interopDefaultLegacy(React),__defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(r,n,i)=>n in r?__defProp(r,n,{enumerable:!0,configurable:!0,writable:!0,value:i}):r[n]=i,__spreadValues=(r,n)=>{for(var i in n||(n={}))__hasOwnProp.call(n,i)&&__defNormalProp(r,i,n[i]);if(__getOwnPropSymbols)for(var i of __getOwnPropSymbols(n))__propIsEnum.call(n,i)&&__defNormalProp(r,i,n[i]);return r},__spreadProps=(r,n)=>__defProps(r,__getOwnPropDescs(n));const EKeyCode=lbAnnotation.cKeyCode.default,sidebarCls=`${index$4.prefix}-sidebar`,LLMToolSidebar=r=>{var n;const{annotation:i,dispatch:x,checkMode:L}=r,{imgIndex:h,imgList:y,stepList:E,step:C,skipBeforePageTurning:S}=i,{modelAPIResponse:P}=React.useContext(ctx.LLMContext),{t:j}=reactI18next.useTranslation(),o=(n=y[h])!=null?n:{},I=index.jsonParser(o==null?void 0:o.result),{toolInstanceRef:q}=annotation.useCustomToolInstance({basicInfo:I}),[p,M]=React.useState({}),[v,O]=React.useState([]),[w,D]=React.useState(void 0),[b,N]=React.useState([]),[A,F]=React.useState([]);React.useEffect(()=>{var e;if(E&&C){const t=(e=reducer.getStepConfig(E,C))==null?void 0:e.config;M(index.jsonParser(t))}},[E,C]),React.useEffect(()=>{if(!o)return;const e=data.getCurrentResultFromResultList(o==null?void 0:o.result);let t=(e==null?void 0:e.answerList)?e:o==null?void 0:o.questionList;(t==null?void 0:t.answerList)&&(B(t.answerList),O(t.answerList||[])),D(e==null?void 0:e.textAttribute)},[h,o]),React.useEffect(()=>{q.current.exportData=()=>{const s=data.formatSort(b);return[[{answerList:v,sort:s,textAttribute:w,id:o==null?void 0:o.id,modelAPIResponse:P}],{}]};const e=data.formatSort(b),t={answerList:v,sort:e,textAttribute:w,id:o==null?void 0:o.id,toolName:lbAnnotation.EToolName.LLM,modelAPIResponse:P};q.current.currentPageResult=t},[v,b,w,P]),React.useEffect(()=>(window.addEventListener("keydown",R),()=>{window.removeEventListener("keydown",R)}),[]);const R=e=>{if(e.ctrlKey&&e.keyCode===EKeyCode.Enter){if(S){S(()=>x(actionCreators.PageForward()));return}x(actionCreators.PageForward())}},B=e=>{var t;let s=[],u=[];if((e==null?void 0:e.length)>0){const a=data.getCurrentResultFromResultList(o==null?void 0:o.result),d=(a==null?void 0:a.length)>0?a[0]:a;((t=d==null?void 0:d.sort)==null?void 0:t.length)>0&&(u=d.sort.reduce((l,c)=>{let f=[{title:c[0],id:c[0]}];return c.length>1&&(f=c.map(g=>({title:g,id:g}))),[...l,f]},[])),e.forEach(l=>{u.some(f=>f.length>1?f.some(g=>g.id===l.order):f[0].id===l.order)||s.push({title:l.order,id:l.order})})}N(u),F(s)},K=({order:e,value:t,key:s})=>{const u=v==null?void 0:v.map(a=>{var d;if((a==null?void 0:a.order)===e){if(_.isNumber(t))return __spreadProps(__spreadValues({},a),{score:t});if(_.isObject(t)&&s){const l={[t==null?void 0:t.key]:t.value},c=(d=a[s])!=null?d:{};return __spreadProps(__spreadValues({},a),{[s]:__spreadValues(__spreadValues({},c),l)})}}return a});O(u)};if((()=>{var e,t;const{indicatorScore:s=[],indicatorDetermine:u=[],text:a=[],enableSort:d}=p,l=((e=s==null?void 0:s.filter(m=>m.label&&m.value&&m.score))==null?void 0:e.length)>0,c=((t=u==null?void 0:u.filter(m=>m.label&&m.value))==null?void 0:t.length)>0,f=(a==null?void 0:a.length)>0;return!(l||c||f||d)})())return React__default.default.createElement("div",{className:`${sidebarCls}`},React__default.default.createElement("div",{className:`${sidebarCls}__content`,style:{display:"flex",justifyContent:"center",alignItems:"center"}},React__default.default.createElement(antd.Empty,{description:React__default.default.createElement("span",{style:{color:"#ccc"}},j("NoScoringScale")),imageStyle:{width:200,height:200},image:React__default.default.createElement("img",{src:empty})})));const{indicatorScore:T=[],indicatorDetermine:$=[],enableSort:V}=p,W=v.length>0&&(($==null?void 0:$.length)>0||(T==null?void 0:T.length)>0);return React__default.default.createElement("div",{className:`${sidebarCls}`},React__default.default.createElement("div",{className:`${sidebarCls}__content`},V&&React__default.default.createElement(index$1,{waitSortList:A,sortList:b,setSortList:N,checkMode:L}),W&&React__default.default.createElement(index$2,{list:v,LLMConfig:p,updateValue:K,checkMode:L}),(p==null?void 0:p.text)&&React__default.default.createElement("div",{style:{padding:"0px 16px",marginTop:"16px"}},React__default.default.createElement(index$3,{textAttribute:w||[],LLMConfig:p,setText:D,checkMode:L}))),React__default.default.createElement("div",{style:{margin:"24px 16px",display:"flex"}},(y==null?void 0:y.length)-1!==h&&React__default.default.createElement(antd.Button,{type:"primary",style:{marginLeft:"auto"},onClick:()=>{if(S){S(()=>x(actionCreators.PageForward()));return}x(actionCreators.PageForward())},disabled:L},j("Save"))))},mapStateToProps=r=>({annotation:r.annotation});var LLMToolSidebar$1=reactRedux.connect(mapStateToProps,null,null,{context:ctx.LabelBeeContext})(LLMToolSidebar);module.exports=LLMToolSidebar$1;
1
+ "use strict";var React=require("react"),index$4=require("../../../constant/index.js"),antd=require("antd"),index$1=require("./components/answerSort/index.js"),reactRedux=require("react-redux"),_=require("lodash"),index$2=require("./components/answerList/index.js"),ctx=require("../../../store/ctx.js"),index=require("../../../utils/index.js"),reducer=require("../../../store/annotation/reducer.js"),annotation=require("../../../hooks/annotation.js"),actionCreators=require("../../../store/annotation/actionCreators.js"),lbAnnotation=require("@labelbee/lb-annotation"),reactI18next=require("react-i18next"),data=require("../utils/data.js"),empty=require("../../../assets/annotation/LLMTool/empty.svg.js"),index$3=require("./components/textInputBox/index.js");function _interopDefaultLegacy(n){return n&&typeof n=="object"&&"default"in n?n:{default:n}}var React__default=_interopDefaultLegacy(React),__defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(n,o,l)=>o in n?__defProp(n,o,{enumerable:!0,configurable:!0,writable:!0,value:l}):n[o]=l,__spreadValues=(n,o)=>{for(var l in o||(o={}))__hasOwnProp.call(o,l)&&__defNormalProp(n,l,o[l]);if(__getOwnPropSymbols)for(var l of __getOwnPropSymbols(o))__propIsEnum.call(o,l)&&__defNormalProp(n,l,o[l]);return n},__spreadProps=(n,o)=>__defProps(n,__getOwnPropDescs(o));const EKeyCode=lbAnnotation.cKeyCode.default,sidebarCls=`${index$4.prefix}-sidebar`,LLMToolSidebar=n=>{var o;const{annotation:l,dispatch:g,checkMode:w}=n,{imgIndex:b,imgList:h,stepList:y,step:C,skipBeforePageTurning:L}=l,{modelAPIResponse:P}=React.useContext(ctx.LLMContext),{t:j}=reactI18next.useTranslation(),a=(o=h[b])!=null?o:{},$=index.jsonParser(a==null?void 0:a.result),{toolInstanceRef:q}=annotation.useCustomToolInstance({basicInfo:$}),[v,I]=React.useState(),[p,A]=React.useState([]),[E,T]=React.useState(void 0),[S,D]=React.useState([]),[M,F]=React.useState([]),{setNewAnswerList:B}=React.useContext(ctx.LLMContext);React.useEffect(()=>{var e;if(y&&C){const t=(e=reducer.getStepConfig(y,C))==null?void 0:e.config;I(index.jsonParser(t))}},[y,C]),React.useEffect(()=>{if(!a)return;const e=data.getCurrentResultFromResultList(a==null?void 0:a.result);let t=(e==null?void 0:e.answerList)?e:a==null?void 0:a.questionList;if(t==null?void 0:t.answerList){W(t.answerList);const s=K(t.answerList)||[];A(s)}T(e==null?void 0:e.textAttribute)},[b,a,v]),React.useEffect(()=>{q.current.exportData=()=>{const s=data.formatSort(S);return[[{answerList:p,sort:s,textAttribute:E,id:a==null?void 0:a.id,modelAPIResponse:P}],{}]};const e=data.formatSort(S),t={answerList:p,sort:e,textAttribute:E,id:a==null?void 0:a.id,toolName:lbAnnotation.EToolName.LLM,modelAPIResponse:P};q.current.currentPageResult=t,B(p)},[p,S,E,P]),React.useEffect(()=>(window.addEventListener("keydown",O),()=>{window.removeEventListener("keydown",O)}),[]);const K=e=>{const{isTextEdit:t,textEdit:s=[]}=v||{};return t?e.map(r=>{var u,i;return((u=s.filter(f=>f.title===r.order)[0])==null?void 0:u.isFillAnswer)?__spreadProps(__spreadValues({},r),{newAnswer:(i=r==null?void 0:r.newAnswer)!=null?i:r.answer}):r}):e},O=e=>{if(e.ctrlKey&&e.keyCode===EKeyCode.Enter){if(L){L(()=>g(actionCreators.PageForward()));return}g(actionCreators.PageForward())}},W=e=>{var t;let s=[],c=[];if((e==null?void 0:e.length)>0){const r=data.getCurrentResultFromResultList(a==null?void 0:a.result),u=(r==null?void 0:r.length)>0?r[0]:r;((t=u==null?void 0:u.sort)==null?void 0:t.length)>0&&(c=u.sort.reduce((i,d)=>{let f=[{title:d[0],id:d[0]}];return d.length>1&&(f=d.map(m=>({title:m,id:m}))),[...i,f]},[])),e.forEach(i=>{c.some(f=>f.length>1?f.some(m=>m.id===i.order):f[0].id===i.order)||s.push({title:i.order,id:i.order})})}D(c),F(s)},V=({order:e,value:t,key:s})=>{const c=p==null?void 0:p.map(r=>{var u;if((r==null?void 0:r.order)===e){if(s==="textEdit")return __spreadProps(__spreadValues({},r),{newAnswer:t});if(_.isNumber(t))return __spreadProps(__spreadValues({},r),{score:t});if(_.isObject(t)&&s){const i={[t==null?void 0:t.key]:t.value},d=(u=r[s])!=null?u:{};return __spreadProps(__spreadValues({},r),{[s]:__spreadValues(__spreadValues({},d),i)})}}return r});A(c)};if((()=>{var e,t;const{indicatorScore:s=[],indicatorDetermine:c=[],text:r=[],enableSort:u,isTextEdit:i}=v||{},d=((e=s==null?void 0:s.filter(x=>x.label&&x.value&&x.score))==null?void 0:e.length)>0,f=((t=c==null?void 0:c.filter(x=>x.label&&x.value))==null?void 0:t.length)>0,m=(r==null?void 0:r.length)>0;return!(d||f||m||u||i)})())return React__default.default.createElement("div",{className:`${sidebarCls}`},React__default.default.createElement("div",{className:`${sidebarCls}__content`,style:{display:"flex",justifyContent:"center",alignItems:"center"}},React__default.default.createElement(antd.Empty,{description:React__default.default.createElement("span",{style:{color:"#ccc"}},j("NoScoringScale")),imageStyle:{width:200,height:200},image:React__default.default.createElement("img",{src:empty})})));const{indicatorScore:N=[],indicatorDetermine:R=[],enableSort:k,isTextEdit:z}=v||{},G=p.length>0&&((R==null?void 0:R.length)>0||(N==null?void 0:N.length)>0||z);return React__default.default.createElement("div",{className:`${sidebarCls}`},React__default.default.createElement("div",{className:`${sidebarCls}__content`},k&&React__default.default.createElement(index$1,{waitSortList:M,sortList:S,setSortList:D,checkMode:w}),G&&React__default.default.createElement(index$2,{list:p,LLMConfig:v,updateValue:V,checkMode:w}),(v==null?void 0:v.text)&&React__default.default.createElement("div",{style:{padding:"0px 16px",marginTop:"16px"}},React__default.default.createElement(index$3,{textAttribute:E||[],LLMConfig:v,setText:T,checkMode:w}))),React__default.default.createElement("div",{style:{margin:"24px 16px",display:"flex"}},(h==null?void 0:h.length)-1!==b&&React__default.default.createElement(antd.Button,{type:"primary",style:{marginLeft:"auto"},onClick:()=>{if(L){L(()=>g(actionCreators.PageForward()));return}g(actionCreators.PageForward())},disabled:w},j("Save"))))},mapStateToProps=n=>({annotation:n.annotation});var LLMToolSidebar$1=reactRedux.connect(mapStateToProps,null,null,{context:ctx.LabelBeeContext})(LLMToolSidebar);module.exports=LLMToolSidebar$1;
@@ -0,0 +1,2 @@
1
+ "use strict";var React=require("react"),lbAnnotation=require("@labelbee/lb-annotation"),DiffMatchPatch=require("diff-match-patch");function _interopDefaultLegacy(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var React__default=_interopDefaultLegacy(React),DiffMatchPatch__default=_interopDefaultLegacy(DiffMatchPatch);const styles={added:{color:"#36B34A",backgroundColor:"#D9FFDF"},removed:{color:"#F26549",backgroundColor:"#FFD9D9",textDecoration:"line-through"}},DiffMatchPatchComponent=({originString:e="",currentString:c=""})=>{const f=new DiffMatchPatch__default.default().diff_main(e,c).map(o=>{const t=o[0];let a=o[1];if((t===-1||t===1)&&!/\S/.test(a)){const n=a.match(/(\S)*(\r\n|\r|\n)/g);n&&(t===-1&&(a="\u21B5".repeat(n.length)),t===1&&(a=`\u21B5
2
+ `.repeat(n.length)))}let r;return t===1&&(r=styles.added),t===-1&&(r=styles.removed),React__default.default.createElement("span",{style:r,key:lbAnnotation.uuid()},a)});return React__default.default.createElement("span",{style:{whiteSpace:"pre-wrap"}},f)};module.exports=DiffMatchPatchComponent;
package/dist/index.css CHANGED
@@ -2417,7 +2417,7 @@
2417
2417
  flex: 1;
2418
2418
  }
2419
2419
  .bee-LLMView__textBox {
2420
- padding: 24px;
2420
+ padding: 26px 32px;
2421
2421
  }
2422
2422
  .bee-LLMView__title {
2423
2423
  font-weight: 500;
@@ -2429,8 +2429,13 @@
2429
2429
  font-size: 14px;
2430
2430
  display: flex;
2431
2431
  margin-bottom: 24px;
2432
- min-width: 240px;
2433
- padding: 16px;
2432
+ width: 100%;
2433
+ }
2434
+ .bee-LLMView__headerContent {
2435
+ font-weight: 500;
2436
+ font-size: 14px;
2437
+ overflow-y: auto;
2438
+ height: calc(100% - 54px);
2434
2439
  }
2435
2440
  .bee-LLMView__contentActive {
2436
2441
  background-color: #eeefff;
package/dist/store/ctx.js CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var React=require("react"),reactRedux=require("react-redux");function _interopDefaultLegacy(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var React__default=_interopDefaultLegacy(React);const LabelBeeContext=React__default.default.createContext(void 0),useDispatch=reactRedux.createDispatchHook(LabelBeeContext),useSelector=reactRedux.createSelectorHook(LabelBeeContext),LLMContext=React__default.default.createContext({hoverKey:-1,setHoverKey:()=>{},modelAPIResponse:[],setModelAPIResponse:()=>{}});exports.LLMContext=LLMContext,exports.LabelBeeContext=LabelBeeContext,exports.useDispatch=useDispatch,exports.useSelector=useSelector;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var React=require("react"),reactRedux=require("react-redux");function _interopDefaultLegacy(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var React__default=_interopDefaultLegacy(React);const LabelBeeContext=React__default.default.createContext(void 0),useDispatch=reactRedux.createDispatchHook(LabelBeeContext),useSelector=reactRedux.createSelectorHook(LabelBeeContext),LLMContext=React__default.default.createContext({hoverKey:-1,newAnswerList:[],setHoverKey:()=>{},modelAPIResponse:[],setModelAPIResponse:()=>{},setNewAnswerList:()=>{}});exports.LLMContext=LLMContext,exports.LabelBeeContext=LabelBeeContext,exports.useDispatch=useDispatch,exports.useSelector=useSelector;
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { IAnswerList, IModelAPIAnswer } from '@/components/LLMToolView/types';
2
+ import { IAnswerList, IModelAPIAnswer, ILLMToolConfig } from '@/components/LLMToolView/types';
3
3
  interface IProps {
4
4
  hoverKey?: number;
5
5
  question: string;
@@ -9,6 +9,7 @@ interface IProps {
9
9
  lang?: string;
10
10
  checkMode?: boolean;
11
11
  annotation?: any;
12
+ LLMConfig?: ILLMToolConfig;
12
13
  }
13
14
  export declare const LLMViewCls: string;
14
15
  declare const WrapQuestionView: (props: IProps) => React.JSX.Element;
@@ -6,7 +6,7 @@ interface IProps {
6
6
  LLMConfig?: ILLMToolConfig;
7
7
  updateValue: ({ order, value, key, }: {
8
8
  order: number;
9
- value: number | {
9
+ value: number | string | {
10
10
  key: string;
11
11
  value: number | boolean;
12
12
  };
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ import { ITextList } from '@/components/LLMToolView/types';
3
+ interface IProps {
4
+ newAnswer?: string;
5
+ textEditObject: ITextList;
6
+ updateValue: (changeValue: string) => void;
7
+ checkMode?: boolean;
8
+ }
9
+ declare const TextEditor: (props: IProps) => React.JSX.Element;
10
+ export default TextEditor;
@@ -18,6 +18,7 @@ export interface IAnswerList {
18
18
  indicatorDetermine?: {
19
19
  [key: string]: boolean;
20
20
  };
21
+ newAnswer?: string;
21
22
  }
22
23
  export interface IModelAPIAnswer {
23
24
  id: string;
@@ -43,14 +44,22 @@ export interface ILLMToolConfig {
43
44
  indicatorDetermine?: IndicatorDetermine[];
44
45
  score?: number;
45
46
  text?: ITextList[];
47
+ dataType: {
48
+ prompt: string;
49
+ response: string;
50
+ };
51
+ isTextEdit: boolean;
52
+ textEdit: ITextList[];
46
53
  }
47
54
  export interface ITextList {
48
- textId: string;
49
- title?: string;
55
+ textId?: string;
56
+ title?: string | number;
50
57
  tip?: string;
51
58
  min?: number;
52
59
  max?: number;
53
60
  value?: string;
61
+ isFillAnswer?: boolean;
62
+ textControl?: boolean;
54
63
  }
55
64
  export interface IWaitAnswerSort {
56
65
  title: number;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * @file React component based on diff-match-patch
3
+ * displays the difference between two strings, red is deleted content, green is added content
4
+ * @author lihuaqi <lihuaqi@sensetime.com>
5
+ * @date 2023年9月21日
6
+ */
7
+ import React from 'react';
8
+ declare const DiffMatchPatchComponent: ({ originString, currentString }: {
9
+ originString?: string | undefined;
10
+ currentString?: string | undefined;
11
+ }) => React.JSX.Element;
12
+ export default DiffMatchPatchComponent;
@@ -1,11 +1,13 @@
1
- import { IModelAPIAnswer } from '@/components/LLMToolView/types';
1
+ import { IModelAPIAnswer, IAnswerList } from '@/components/LLMToolView/types';
2
2
  import React from 'react';
3
3
  import { AnyAction, Dispatch } from 'redux';
4
4
  interface ILLMContext {
5
5
  hoverKey: number;
6
+ newAnswerList: IAnswerList[];
6
7
  setHoverKey: (value: number) => void;
7
8
  modelAPIResponse: IModelAPIAnswer[];
8
9
  setModelAPIResponse: (value: IModelAPIAnswer[]) => void;
10
+ setNewAnswerList: (value: IAnswerList[]) => void;
9
11
  }
10
12
  export declare const LabelBeeContext: any;
11
13
  export declare const useDispatch: () => Dispatch<AnyAction | any>;
@@ -1 +1 @@
1
- "use strict";var index$4=require("../../../constant/index.js"),es=require("antd/es"),React=require("react"),index$3=require("../sidebar/index.js"),index$2=require("../toolFooter/index.js"),dom=require("../../../utils/dom.js"),index=require("../../../utils/index.js"),ctx=require("../../../store/ctx.js"),index$1=require("../../../components/LLMToolView/index.js");function _interopDefaultLegacy(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var React__default=_interopDefaultLegacy(React);const{Sider,Content}=es.Layout,layoutCls=`${index$4.prefix}-layout`,LLMLayout=e=>{var t,a;const[l,n]=React.useState(-1),[r,o]=React.useState([]);return React__default.default.createElement(es.Layout,{className:dom.getClassName("layout","container")},React__default.default.createElement(ctx.LLMContext.Provider,{value:React.useMemo(()=>({hoverKey:l,setHoverKey:n,modelAPIResponse:r,setModelAPIResponse:o}),[l,r])},e==null?void 0:e.leftSider,React__default.default.createElement(Content,{className:index.classnames({[`${layoutCls}__content`]:!0,[`${index$4.prefix}-LLMLayout`]:!0})},React__default.default.createElement(index$1,{checkMode:e.checkMode,showTips:e.showTips,tips:e.tips}),React__default.default.createElement(index$2.default,{style:(t=e.style)==null?void 0:t.footer,mode:e.mode,footer:e==null?void 0:e.footer})),React__default.default.createElement(Sider,{className:`${layoutCls}__side`,width:600,style:{position:"relative"}},React__default.default.createElement(index$3.default,{sider:e==null?void 0:e.sider,checkMode:e==null?void 0:e.checkMode}),(a=e.drawLayerSlot)==null?void 0:a.call(e,{}))))};module.exports=LLMLayout;
1
+ "use strict";var index$4=require("../../../constant/index.js"),es=require("antd/es"),React=require("react"),index$3=require("../sidebar/index.js"),index$2=require("../toolFooter/index.js"),dom=require("../../../utils/dom.js"),index=require("../../../utils/index.js"),ctx=require("../../../store/ctx.js"),index$1=require("../../../components/LLMToolView/index.js");function _interopDefaultLegacy(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var React__default=_interopDefaultLegacy(React);const{Sider,Content}=es.Layout,layoutCls=`${index$4.prefix}-layout`,LLMLayout=e=>{var t,a;const[l,i]=React.useState(-1),[r,o]=React.useState([]),[n,s]=React.useState([]);return React__default.default.createElement(es.Layout,{className:dom.getClassName("layout","container")},React__default.default.createElement(ctx.LLMContext.Provider,{value:React.useMemo(()=>({hoverKey:l,setHoverKey:i,modelAPIResponse:r,setModelAPIResponse:o,newAnswerList:n,setNewAnswerList:s}),[l,r,n])},e==null?void 0:e.leftSider,React__default.default.createElement(Content,{className:index.classnames({[`${layoutCls}__content`]:!0,[`${index$4.prefix}-LLMLayout`]:!0})},React__default.default.createElement(index$1,{checkMode:e.checkMode,showTips:e.showTips,tips:e.tips}),React__default.default.createElement(index$2.default,{style:(t=e.style)==null?void 0:t.footer,mode:e.mode,footer:e==null?void 0:e.footer})),React__default.default.createElement(Sider,{className:`${layoutCls}__side`,width:600,style:{position:"relative"}},React__default.default.createElement(index$3.default,{sider:e==null?void 0:e.sider,checkMode:e==null?void 0:e.checkMode}),(a=e.drawLayerSlot)==null?void 0:a.call(e,{}))))};module.exports=LLMLayout;
@@ -1 +1 @@
1
- import s,{useContext as E,useState as d,useEffect as f}from"react";import{connect as I}from"react-redux";import{LabelBeeContext as j,LLMContext as A}from"../../store/ctx.js";import{message as C}from"antd";import{prefix as h}from"../../constant/index.js";import{Layout as P}from"antd/es";import $ from"./questionView/index.js";import{useTranslation as b}from"react-i18next";import y from"../../views/MainView/annotationTips/index.js";import{getCurrentResultFromResultList as D}from"./utils/data.js";const L=`${h}-LLMView`,N=i=>{const{annotation:a,checkMode:l=!0,tips:v,showTips:x}=i,{imgIndex:e,imgList:r}=a,{hoverKey:w,modelAPIResponse:M,setModelAPIResponse:u}=E(A),[R,T]=d([]),[V,g]=d(""),{t:q}=b();return f(()=>{let t;if(!l)return t=setInterval(()=>{C.info(q("EfficientListening"))},1e3*60),()=>{t&&clearInterval(t)}},[]),f(()=>{var t,c;if(!r[e])return;const n=(t=r[e])==null?void 0:t.questionList,m=(c=r[e])!=null?c:{},o=D(m==null?void 0:m.result),p=(o==null?void 0:o.length)>0?o[0]:o;g(n==null?void 0:n.question),T((n==null?void 0:n.answerList)||[]),u((p==null?void 0:p.modelAPIResponse)||[])},[e]),s.createElement(P,{className:L},s.createElement("div",{className:`${L}-question`},x===!0&&s.createElement(y,{tips:v}),s.createElement($,{hoverKey:w,question:V,answerList:R,modelAPIResponse:M,setModelAPIResponse:u,checkMode:l,annotation:a})))},Q=i=>({annotation:i.annotation});var S=I(Q,null,null,{context:j})(N);export{S as default};
1
+ import i,{useContext as P,useState as m,useEffect as f}from"react";import{connect as S}from"react-redux";import{LabelBeeContext as _,LLMContext as $}from"../../store/ctx.js";import{message as b}from"antd";import{prefix as y}from"../../constant/index.js";import{Layout as D}from"antd/es";import N from"./questionView/index.js";import{useTranslation as Q}from"react-i18next";import k from"../../views/MainView/annotationTips/index.js";import{getCurrentResultFromResultList as B}from"./utils/data.js";import{getStepConfig as F}from"../../store/annotation/reducer.js";import{jsonParser as K}from"../../utils/index.js";const g=`${y}-LLMView`,W=r=>{const{annotation:p,checkMode:L=!0,tips:M,showTips:C}=r,{imgIndex:e,imgList:a,stepList:l,step:u}=p,{hoverKey:j,modelAPIResponse:R,setModelAPIResponse:d,newAnswerList:c}=P($),[T,V]=m([]),[q,A]=m(""),[E,I]=m(),{t:h}=Q();return f(()=>{let t;if(!L)return t=setInterval(()=>{b.info(h("EfficientListening"))},1e3*60),()=>{t&&clearInterval(t)}},[]),f(()=>{var t,n;if(!a[e])return;const o=(t=a[e])==null?void 0:t.questionList,v=(n=a[e])!=null?n:{},s=B(v==null?void 0:v.result),w=(s==null?void 0:s.length)>0?s[0]:s;A(o==null?void 0:o.question);let x=(o==null?void 0:o.answerList)||[];c.length>0&&(x=c),V(x),d((w==null?void 0:w.modelAPIResponse)||[])},[e,c]),f(()=>{var t;if(l&&u){const n=(t=F(l,u))==null?void 0:t.config;I(K(n))}},[l,u]),i.createElement(D,{className:g},i.createElement("div",{className:`${g}-question`},C===!0&&i.createElement(k,{tips:M}),i.createElement(N,{hoverKey:j,question:q,answerList:T,modelAPIResponse:R,setModelAPIResponse:d,checkMode:L,annotation:p,LLMConfig:E})))},z=r=>({annotation:r.annotation});var G=S(z,null,null,{context:_})(W);export{G as default};
@@ -1 +1 @@
1
- import{Tag as x}from"antd";import u from"classnames";import t,{useState as _,useEffect as C}from"react";import h from"../../../assets/annotation/LLMTool/loading.svg.js";import F from"../../longText/index.js";import j from"../../markdownView/index.js";import{EDataFormatType as k}from"../../../constant/index.js";import{getStepConfig as I}from"../../../store/annotation/reducer.js";import{jsonParser as N}from"../../../utils/index.js";import{SyncOutlined as R,InfoCircleFilled as T}from"@ant-design/icons";import{LLMViewCls as f}from"../questionView/index.js";import{i18n as A}from"@labelbee/lb-utils";var b=(s,e,r)=>new Promise((a,m)=>{var c=n=>{try{l(r.next(n))}catch(i){m(i)}},p=n=>{try{l(r.throw(n))}catch(i){m(i)}},l=n=>n.done?a(n.value):Promise.resolve(n.value).then(c,p);l((r=r.apply(s,e)).next())});const $=({dataFormatType:s,answer:e})=>s===k.Markdown?t.createElement(j,{value:e}):t.createElement(F,{wordCount:1e3,text:e}),V=(s,e)=>{var r;return(r=e.find(a=>a.id===s))==null?void 0:r.answer},S=s=>{var e;const{annotation:r={},checkMode:a,dataFormatType:m,modelAPIResponse:c,question:p,setModelAPIResponse:l}=s,{stepList:n,step:i,toolInstance:v}=r,[g,w]=_({}),{enableModelAPI:L=!1,modelAPIConfigList:d=[]}=g,P=o=>{let E=!1;const M=c.map(y=>y.id===o.id?(E=!0,o):y);E||M.push(o),l==null||l(M)};return C(()=>{var o;if(n&&i){const E=(o=I(n,i))==null?void 0:o.config;w(N(E))}},[n,i]),L?(e=d==null?void 0:d.map)==null?void 0:e.call(d,o=>t.createElement(B,{dataFormatType:m,config:o,modelAPIResponse:c,key:o==null?void 0:o.id,toolInstance:v,question:p,updateModelAPIResponse:P,checkMode:a})):null},G=()=>t.createElement("div",{className:u({[`${f}__loading`]:!0})},A.t("AnswersAreBeingGenerated"),t.createElement("img",{src:h})),q=()=>t.createElement("span",{className:u({[`${f}__failed`]:!0})},A.t("AnswerGenerationFailedPleaseTryAgainLater")," ",t.createElement(T,null)),B=({dataFormatType:s,config:e,modelAPIResponse:r,toolInstance:a,question:m,updateModelAPIResponse:c,checkMode:p})=>{const[l,n]=_(!1),[i,v]=_(!1),g=V(e==null?void 0:e.id,r),w=d=>{n(d),a&&(a.loading=d)},L=()=>b(void 0,null,function*(){w(!0),v(!1);try{const d=yield a==null?void 0:a.getAPIAnswer(e,m);c({id:e==null?void 0:e.id,answer:d})}catch(d){v(!0)}finally{w(!1)}});return t.createElement("div",{className:u({[`${f}__content`]:!0}),key:e==null?void 0:e.id},t.createElement(x,{style:{color:"#666FFF",background:"#eeefff",height:"20px",padding:"0px 8px",border:"none"}},e==null?void 0:e.name),t.createElement("div",{className:u({[`${f}__answer`]:!0})},!l&&g&&t.createElement($,{dataFormatType:s,answer:g}),t.createElement("div",{className:u({[`${f}__message`]:!0})},l?t.createElement(G,null):i&&t.createElement(q,null)),!l&&!p&&t.createElement("div",{className:u({[`${f}__footer`]:!0})},t.createElement("span",{onClick:L},A.t("ReGenerate"),t.createElement(R,null)))))};export{S as default};
1
+ import{Tag as x}from"antd";import u from"classnames";import t,{useState as _,useEffect as C}from"react";import h from"../../../assets/annotation/LLMTool/loading.svg.js";import F from"../../longText/index.js";import j from"../../markdownView/index.js";import{EDataFormatType as k}from"../../../constant/index.js";import{getStepConfig as I}from"../../../store/annotation/reducer.js";import{jsonParser as N}from"../../../utils/index.js";import{SyncOutlined as R,InfoCircleFilled as T}from"@ant-design/icons";import{LLMViewCls as f}from"../questionView/index.js";import{i18n as A}from"@labelbee/lb-utils";var b=(s,e,r)=>new Promise((a,m)=>{var c=n=>{try{l(r.next(n))}catch(i){m(i)}},p=n=>{try{l(r.throw(n))}catch(i){m(i)}},l=n=>n.done?a(n.value):Promise.resolve(n.value).then(c,p);l((r=r.apply(s,e)).next())});const $=({dataFormatType:s,answer:e})=>s===k.Markdown?t.createElement(j,{value:e}):t.createElement(F,{wordCount:1e3,text:e}),V=(s,e)=>{var r;return(r=e.find(a=>a.id===s))==null?void 0:r.answer},S=s=>{var e;const{annotation:r={},checkMode:a,dataFormatType:m,modelAPIResponse:c,question:p,setModelAPIResponse:l}=s,{stepList:n,step:i,toolInstance:v}=r,[g,w]=_(),{enableModelAPI:L=!1,modelAPIConfigList:d=[]}=g||{},P=o=>{let E=!1;const M=c.map(y=>y.id===o.id?(E=!0,o):y);E||M.push(o),l==null||l(M)};return C(()=>{var o;if(n&&i){const E=(o=I(n,i))==null?void 0:o.config;w(N(E))}},[n,i]),L?(e=d==null?void 0:d.map)==null?void 0:e.call(d,o=>t.createElement(B,{dataFormatType:m,config:o,modelAPIResponse:c,key:o==null?void 0:o.id,toolInstance:v,question:p,updateModelAPIResponse:P,checkMode:a})):null},G=()=>t.createElement("div",{className:u({[`${f}__loading`]:!0})},A.t("AnswersAreBeingGenerated"),t.createElement("img",{src:h})),q=()=>t.createElement("span",{className:u({[`${f}__failed`]:!0})},A.t("AnswerGenerationFailedPleaseTryAgainLater")," ",t.createElement(T,null)),B=({dataFormatType:s,config:e,modelAPIResponse:r,toolInstance:a,question:m,updateModelAPIResponse:c,checkMode:p})=>{const[l,n]=_(!1),[i,v]=_(!1),g=V(e==null?void 0:e.id,r),w=d=>{n(d),a&&(a.loading=d)},L=()=>b(void 0,null,function*(){w(!0),v(!1);try{const d=yield a==null?void 0:a.getAPIAnswer(e,m);c({id:e==null?void 0:e.id,answer:d})}catch(d){v(!0)}finally{w(!1)}});return t.createElement("div",{className:u({[`${f}__content`]:!0}),key:e==null?void 0:e.id},t.createElement(x,{style:{color:"#666FFF",background:"#eeefff",height:"20px",padding:"0px 8px",border:"none"}},e==null?void 0:e.name),t.createElement("div",{className:u({[`${f}__answer`]:!0})},!l&&g&&t.createElement($,{dataFormatType:s,answer:g}),t.createElement("div",{className:u({[`${f}__message`]:!0})},l?t.createElement(G,null):i&&t.createElement(q,null)),!l&&!p&&t.createElement("div",{className:u({[`${f}__footer`]:!0})},t.createElement("span",{onClick:L},A.t("ReGenerate"),t.createElement(R,null)))))};export{S as default};
@@ -1 +1 @@
1
- import e,{useState as h,useEffect as b}from"react";import{Tag as M,Radio as m}from"antd";import d from"../../longText/index.js";import{EDataFormatType as s,prefix as N}from"../../../constant/index.js";import O from"classnames";import{I18nextProvider as T,useTranslation as p}from"react-i18next";import{i18n as u}from"@labelbee/lb-utils";import f from"../../markdownView/index.js";import{FileTextOutlined as V}from"@ant-design/icons";import A from"../modelAPIView/index.js";var B=Object.defineProperty,v=Object.getOwnPropertySymbols,L=Object.prototype.hasOwnProperty,$=Object.prototype.propertyIsEnumerable,x=(r,t,n)=>t in r?B(r,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):r[t]=n,j=(r,t)=>{for(var n in t||(t={}))L.call(t,n)&&x(r,n,t[n]);if(v)for(var n of v(t))$.call(t,n)&&x(r,n,t[n]);return r};const o=`${N}-LLMView`,k=({setDataFormatType:r,dataFormatType:t})=>{const{t:n}=p();return e.createElement("div",{className:`${o}__title`,style:{display:"flex",justifyContent:"space-between"}},n("Title"),e.createElement("span",{style:{display:"flex"}},e.createElement(m.Group,{value:t,onChange:l=>{r(l.target.value)}},e.createElement(m.Button,{value:s.Default,style:{textAlign:"center",width:"52px"}},"</>"),e.createElement(m.Button,{value:s.Markdown,style:{textAlign:"center",width:"52px"}},e.createElement(V,null))),e.createElement("span",{style:{marginLeft:"8px",width:"4px",background:"#1890ff"}})))},F=r=>{const{hoverKey:t,answerList:n,question:l,lang:c,modelAPIResponse:E,setModelAPIResponse:w,checkMode:_=!0}=r,[i,y]=h(s.Default),{t:g}=p();return b(()=>{var a;c&&((a=u)==null||a.changeLanguage(c))},[]),e.createElement("div",{className:o},e.createElement("div",{className:`${o}__textBox`,style:{borderBottom:"1px solid #EBEBEB"}},e.createElement(k,{setDataFormatType:y,dataFormatType:i}),e.createElement("div",{className:`${o}__content`},i===s.Markdown?e.createElement(f,{value:l}):e.createElement(d,{wordCount:200,text:l}))),e.createElement("div",{className:`${o}__textBox`},e.createElement("div",{className:`${o}__title`},g("Answer")),n.map((a,P)=>e.createElement("div",{className:O({[`${o}__content`]:!0,[`${o}__contentActive`]:t===(a==null?void 0:a.order)}),key:P},e.createElement(M,{style:{color:"#666FFF",background:"#eeefff",height:"20px",padding:"0px 8px",border:"none"}},a==null?void 0:a.order),i===s.Markdown?e.createElement(f,{value:a==null?void 0:a.answer}):e.createElement(d,{wordCount:1e3,text:a==null?void 0:a.answer}))),e.createElement(A,{dataFormatType:i,modelAPIResponse:E,question:l,setModelAPIResponse:w,checkMode:_,annotation:r.annotation})))},I=r=>e.createElement(T,{i18n:u},e.createElement(F,j({},r)));export{o as LLMViewCls,I as default};
1
+ import t,{useState as T,useEffect as C}from"react";import{Tag as L,Radio as m}from"antd";import{EDataFormatType as i,prefix as O}from"../../../constant/index.js";import V from"classnames";import{I18nextProvider as B,useTranslation as E}from"react-i18next";import{i18n as w}from"@labelbee/lb-utils";import x from"../../markdownView/index.js";import{FileTextOutlined as F}from"@ant-design/icons";import I from"../modelAPIView/index.js";import N from"../../diffMatchPatchComponent/index.js";import{Resizable as j}from"re-resizable";var k=Object.defineProperty,_=Object.getOwnPropertySymbols,$=Object.prototype.hasOwnProperty,D=Object.prototype.propertyIsEnumerable,g=(e,n,r)=>n in e?k(e,n,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[n]=r,R=(e,n)=>{for(var r in n||(n={}))$.call(n,r)&&g(e,r,n[r]);if(_)for(var r of _(n))D.call(n,r)&&g(e,r,n[r]);return e};const l=`${O}-LLMView`,S=({setDataFormatType:e,dataFormatType:n})=>{const{t:r}=E();return t.createElement("div",{className:`${l}__title`,style:{display:"flex",justifyContent:"space-between"}},r("Title"),t.createElement("span",{style:{display:"flex"}},t.createElement(m.Group,{value:n,onChange:o=>{e(o.target.value)}},t.createElement(m.Button,{value:i.Default,style:{textAlign:"center",width:"52px"}},"</>"),t.createElement(m.Button,{value:i.Markdown,style:{textAlign:"center",width:"52px"}},t.createElement(F,null))),t.createElement("span",{style:{marginLeft:"8px",width:"4px",background:"#1890ff"}})))},H=({i:e,dataFormatType:n,isTextControl:r})=>{var o;return n===i.Markdown?t.createElement(x,{value:(o=e==null?void 0:e.newAnswer)!=null?o:e==null?void 0:e.answer}):r?t.createElement(N,{originString:e==null?void 0:e.answer,currentString:e==null?void 0:e.newAnswer}):t.createElement("div",null,e==null?void 0:e.answer)},z=e=>{const{hoverKey:n,answerList:r,question:o,lang:u,modelAPIResponse:y,setModelAPIResponse:h,checkMode:b=!0,LLMConfig:s}=e,[c,P]=T(i.Default),p=200,{t:A}=E();C(()=>{var a;u&&((a=w)==null||a.changeLanguage(u))},[]);const M=a=>{var d;return(s==null?void 0:s.isTextEdit)?!!((d=((s==null?void 0:s.textEdit)||[]).filter(v=>(v==null?void 0:v.title)===a.order)[0])==null?void 0:d.textControl):!1};return t.createElement("div",{className:l},t.createElement(j,{defaultSize:{width:"100%",height:p},minHeight:p,enable:{bottom:!0},style:{padding:"26px 32px",borderBottom:"1px solid #EBEBEB",overflow:"hidden"}},t.createElement(S,{setDataFormatType:P,dataFormatType:c}),t.createElement("div",{className:`${l}__headerContent`},c===i.Markdown?t.createElement(x,{value:o}):o)),t.createElement("div",{className:`${l}__textBox`},t.createElement("div",{className:`${l}__title`},A("Answer")),r.map((a,d)=>{const f=M(a);return t.createElement("div",{className:V({[`${l}__content`]:!0,[`${l}__contentActive`]:n===(a==null?void 0:a.order)}),key:d},t.createElement(L,{style:{color:"#666FFF",background:"#eeefff",height:"20px",padding:"0px 8px",border:"none"}},a==null?void 0:a.order),t.createElement(H,{i:a,isTextControl:f,dataFormatType:c}))}),t.createElement(I,{dataFormatType:c,modelAPIResponse:y,question:o,setModelAPIResponse:h,checkMode:b,annotation:e.annotation})))},G=e=>t.createElement(B,{i18n:w},t.createElement(z,R({},e)));export{l as LLMViewCls,G as default};
@@ -1 +1 @@
1
- import r,{useContext as I}from"react";import{prefix as _}from"../../../../../constant/index.js";import{Collapse as D,Tag as A,Popover as G}from"antd";import{useTranslation as N}from"react-i18next";import P from"../scoreGroupButton/index.js";import T from"../determineGroup/index.js";import{LLMContext as V}from"../../../../../store/ctx.js";import{classnames as H}from"../../../../../utils/index.js";import{InfoCircleOutlined as K}from"@ant-design/icons";import{expandIconFuc as R}from"../../../../../views/MainView/sidebar/TagSidebar/index.js";import{isBoolean as O}from"lodash";import q from"../../../../longText/index.js";var k;(function(l){l[l.Finish=0]="Finish",l[l.UnFinish=1]="UnFinish",l[l.Default=2]="Default"})(k||(k={}));const{Panel:z}=D,m=`${_}-LLMSidebar`,J=l=>{const{list:f=[],LLMConfig:S={},updateValue:F,checkMode:L}=l,{hoverKey:w,setHoverKey:b}=I(V),{t:y}=N(),C=L,E=e=>{const{indicatorScore:t=[],indicatorDetermine:o=[]}=S;let n=2;if((t==null?void 0:t.length)>0){if(t.some(i=>{var a,s;return!((a=e==null?void 0:e.indicatorScore)==null?void 0:a[i.value])||((s=e==null?void 0:e.indicatorScore)==null?void 0:s[i.value])>Number(i==null?void 0:i.score)}))return n=1,n;n=0}if((o==null?void 0:o.length)>0){if(o.some(i=>{var a;const s=(a=e==null?void 0:e.indicatorDetermine)==null?void 0:a[i.value];return!O(s)}))return n=1,n;n=0}return n},$=e=>{const t=E(e);let o=e.order;switch(t){case 0:return{backgroundColor:"#D9FFDF",fontColor:"#36B34A",tagText:`${o} ${y("Finished")}`,tagStatus:t};case 1:return{backgroundColor:"#FFD9D9",fontColor:"#F26549",tagText:`${o} ${y("Unfinished")}`,tagStatus:t};default:return{backgroundColor:"#EBEBEB",fontColor:"#999999",tagText:o,tagStatus:t}}};return r.createElement(D,{bordered:!1,expandIcon:R,expandIconPosition:"end",defaultActiveKey:f.length>0?f.map((e,t)=>t):void 0,style:{margin:"16px 0px"}},f.map((e,t)=>{const{indicatorScore:o=[],indicatorDetermine:n=[]}=S,{backgroundColor:x,fontColor:i,tagText:a,tagStatus:s}=$(e),M=r.createElement("div",{style:{display:"flex",width:"500px",alignItems:"center",whiteSpace:"nowrap"},onMouseMove:()=>{b(e.order)},onMouseLeave:()=>{b(-1)}},r.createElement(A,{color:x,style:{color:i,padding:"0px 8px"}},a),r.createElement("span",{style:{textOverflow:"ellipsis",overflow:"hidden",lineHeight:"32px",paddingRight:"24px"}},e.answer));return r.createElement(z,{header:M,key:t,className:H({[`${m}-panel`]:!0,[`${m}-panelHover`]:w===e.order,[`${m}-errorPanel`]:s===1})},(o==null?void 0:o.length)>0&&o.map((g,h)=>{var c;const{label:d,text:u,value:p,score:v}=g,B=r.createElement("div",{className:`${m}-indicatorScore`},r.createElement(q,{text:d,openByText:!0}),u&&r.createElement(G,{placement:"bottom",content:u,overlayClassName:`${m}-indicatorScore-title`},r.createElement(K,{style:{margin:"0px 4px",cursor:"pointer"}})));return d&&v?r.createElement(P,{score:v,title:B,selectScore:(c=e==null?void 0:e.indicatorScore)==null?void 0:c[p],updateScore:j=>{const U={key:p,value:j};F({order:e.order,value:U,key:"indicatorScore"})},key:h,isDisableAll:C}):null}),(n==null?void 0:n.length)>0&&n.map((g,h)=>{var c;const{label:d,value:u}=g;return d?r.createElement(T,{selectValue:(c=e==null?void 0:e.indicatorDetermine)==null?void 0:c[u],title:d,updateValue:p=>{const v={key:u,value:p};F({order:e.order,value:v,key:"indicatorDetermine"})},key:h,isDisableAll:C}):null}))}))};export{J as default};
1
+ import r,{useContext as N}from"react";import{prefix as _}from"../../../../../constant/index.js";import{Collapse as L,Tag as G,Popover as O}from"antd";import{useTranslation as P}from"react-i18next";import H from"../scoreGroupButton/index.js";import K from"../determineGroup/index.js";import{LLMContext as R}from"../../../../../store/ctx.js";import{classnames as q}from"../../../../../utils/index.js";import{InfoCircleOutlined as z}from"@ant-design/icons";import{expandIconFuc as J}from"../../../../../views/MainView/sidebar/TagSidebar/index.js";import{isBoolean as Q}from"lodash";import W from"../../../../longText/index.js";import X from"../textEditor/index.js";var j;(function(a){a[a.Finish=0]="Finish",a[a.UnFinish=1]="UnFinish",a[a.Default=2]="Default"})(j||(j={}));const{Panel:Y}=L,x=`${_}-LLMSidebar`,Z=a=>{const{list:E=[],LLMConfig:w,updateValue:S,checkMode:y}=a,{hoverKey:$,setHoverKey:C}=N(R),{t:k}=P(),D=y,M=e=>{const{indicatorScore:t=[],indicatorDetermine:n=[],textEdit:s=[],isTextEdit:F=!1}=w||{};let o=2;if((t==null?void 0:t.length)>0){if(t.some(i=>{var l,d;return!((l=e==null?void 0:e.indicatorScore)==null?void 0:l[i.value])||((d=e==null?void 0:e.indicatorScore)==null?void 0:d[i.value])>Number(i==null?void 0:i.score)}))return o=1,o;o=0}if((n==null?void 0:n.length)>0){if(n.some(i=>{var l;const d=(l=e==null?void 0:e.indicatorDetermine)==null?void 0:l[i.value];return!Q(d)}))return o=1,o;o=0}if(F&&(s==null?void 0:s.length)>0){const c=s.filter(f=>(f==null?void 0:f.title)===e.order)[0],{min:i}=c,l=(e==null?void 0:e.newAnswer)||"";if(i&&(l==null?void 0:l.length)<Number(i))return o=1,o;o=0}return o},U=e=>{const t=M(e);let n=e.order;switch(t){case 0:return{backgroundColor:"#D9FFDF",fontColor:"#36B34A",tagText:`${n} ${k("Finished")}`,tagStatus:t};case 1:return{backgroundColor:"#FFD9D9",fontColor:"#F26549",tagText:`${n} ${k("Unfinished")}`,tagStatus:t};default:return{backgroundColor:"#EBEBEB",fontColor:"#999999",tagText:n,tagStatus:t}}},A=(e,t)=>t.filter(n=>(n==null?void 0:n.title)===e.order)[0];return r.createElement(L,{bordered:!1,expandIcon:J,expandIconPosition:"end",defaultActiveKey:E.length>0?E.map((e,t)=>t):void 0,style:{margin:"16px 0px"}},E.map((e,t)=>{const{indicatorScore:n=[],indicatorDetermine:s=[],textEdit:F=[],isTextEdit:o=!1}=w||{},{backgroundColor:c,fontColor:i,tagText:l,tagStatus:d}=U(e),f=A(e,F)||{},B=r.createElement("div",{style:{display:"flex",width:"500px",alignItems:"center",whiteSpace:"nowrap"},onMouseMove:()=>{C(e.order)},onMouseLeave:()=>{C(-1)}},r.createElement(G,{color:c,style:{color:i,padding:"0px 8px"}},l),r.createElement("span",{style:{textOverflow:"ellipsis",overflow:"hidden",lineHeight:"32px",paddingRight:"24px"}},e.answer));return r.createElement(Y,{header:B,key:t,className:q({[`${x}-panel`]:!0,[`${x}-panelHover`]:$===e.order,[`${x}-errorPanel`]:d===1})},(n==null?void 0:n.length)>0&&n.map((u,b)=>{var m;const{label:v,text:p,value:g,score:h}=u,T=r.createElement("div",{className:`${x}-indicatorScore`},r.createElement(W,{text:v,openByText:!0}),p&&r.createElement(O,{placement:"bottom",content:p,overlayClassName:`${x}-indicatorScore-title`},r.createElement(z,{style:{margin:"0px 4px",cursor:"pointer"}})));return v&&h?r.createElement(H,{score:h,title:T,selectScore:(m=e==null?void 0:e.indicatorScore)==null?void 0:m[g],updateScore:V=>{const I={key:g,value:V};S({order:e.order,value:I,key:"indicatorScore"})},key:b,isDisableAll:D}):null}),(s==null?void 0:s.length)>0&&s.map((u,b)=>{var m;const{label:v,value:p}=u;return v?r.createElement(K,{selectValue:(m=e==null?void 0:e.indicatorDetermine)==null?void 0:m[p],title:v,updateValue:g=>{const h={key:p,value:g};S({order:e.order,value:h,key:"indicatorDetermine"})},key:b,isDisableAll:D}):null}),o&&r.createElement(X,{checkMode:y,newAnswer:e==null?void 0:e.newAnswer,textEditObject:f,updateValue:u=>{S({order:e.order,value:u,key:"textEdit"})}}))}))};export{Z as default};
@@ -0,0 +1 @@
1
+ import e,{useEffect as E}from"react";import{Form as a,Popover as g,Input as v}from"antd";import{useTranslation as w}from"react-i18next";import{InfoCircleOutlined as h}from"@ant-design/icons";const y=i=>{const{checkMode:s,newAnswer:l,textEditObject:c,updateValue:u}=i,{max:m,min:r}=c,{TextArea:d}=v,[o]=a.useForm(),{t:n}=w(),f=n("LeastCharacterError",{num:r});return E(()=>{o.setFieldsValue({value:l}),s||o.validateFields()},[l]),e.createElement(a,{form:o,onValuesChange:(p,t)=>{const x=t.value;u(x)},style:{marginBottom:"16px"}},e.createElement("div",{style:{marginBottom:"16px"}},n("AnswerTextEdit"),e.createElement(g,{placement:"bottom",content:n("ShowEditingResultDifferencesInTextModeOnly")},e.createElement(h,{style:{margin:"0px 4px",cursor:"pointer"}}))),e.createElement(a.Item,{name:"value",style:{marginBottom:8},rules:[{validator:(p,t="")=>r&&(t==null?void 0:t.length)<Number(r)?Promise.reject(f):Promise.resolve()}]},e.createElement(d,{maxLength:m,autoSize:{minRows:4,maxRows:10},allowClear:!0,disabled:s,showCount:!!m,style:{width:"100%"}})))};export{y as default};
@@ -1 +1 @@
1
- import s,{useContext as et,useState as L,useEffect as y}from"react";import{prefix as ot}from"../../../constant/index.js";import{Empty as nt,Button as rt}from"antd";import it from"./components/answerSort/index.js";import{connect as st}from"react-redux";import{isNumber as lt,isObject as at}from"lodash";import ct from"./components/answerList/index.js";import{LabelBeeContext as dt,LLMContext as ut}from"../../../store/ctx.js";import{jsonParser as F}from"../../../utils/index.js";import{getStepConfig as mt}from"../../../store/annotation/reducer.js";import{useCustomToolInstance as pt}from"../../../hooks/annotation.js";import{PageForward as E}from"../../../store/annotation/actionCreators.js";import{cKeyCode as ft,EToolName as vt}from"@labelbee/lb-annotation";import{useTranslation as gt}from"react-i18next";import{getCurrentResultFromResultList as V,formatSort as W}from"../utils/data.js";import xt from"../../../assets/annotation/LLMTool/empty.svg.js";import Lt from"./components/textInputBox/index.js";var wt=Object.defineProperty,St=Object.defineProperties,_t=Object.getOwnPropertyDescriptors,k=Object.getOwnPropertySymbols,bt=Object.prototype.hasOwnProperty,ht=Object.prototype.propertyIsEnumerable,z=(i,o,l)=>o in i?wt(i,o,{enumerable:!0,configurable:!0,writable:!0,value:l}):i[o]=l,C=(i,o)=>{for(var l in o||(o={}))bt.call(o,l)&&z(i,l,o[l]);if(k)for(var l of k(o))ht.call(o,l)&&z(i,l,o[l]);return i},G=(i,o)=>St(i,_t(o));const yt=ft.default,j=`${ot}-sidebar`,Et=i=>{var o;const{annotation:l,dispatch:w,checkMode:S}=i,{imgIndex:P,imgList:O,stepList:T,step:D,skipBeforePageTurning:_}=l,{modelAPIResponse:N}=et(ut),{t:I}=gt(),n=(o=O[P])!=null?o:{},H=F(n==null?void 0:n.result),{toolInstanceRef:A}=pt({basicInfo:H}),[v,J]=L({}),[f,M]=L([]),[b,R]=L(void 0),[h,$]=L([]),[Q,U]=L([]);y(()=>{var t;if(T&&D){const e=(t=mt(T,D))==null?void 0:t.config;J(F(e))}},[T,D]),y(()=>{if(!n)return;const t=V(n==null?void 0:n.result);let e=(t==null?void 0:t.answerList)?t:n==null?void 0:n.questionList;(e==null?void 0:e.answerList)&&(X(e.answerList),M(e.answerList||[])),R(t==null?void 0:t.textAttribute)},[P,n]),y(()=>{A.current.exportData=()=>{const a=W(h);return[[{answerList:f,sort:a,textAttribute:b,id:n==null?void 0:n.id,modelAPIResponse:N}],{}]};const t=W(h),e={answerList:f,sort:t,textAttribute:b,id:n==null?void 0:n.id,toolName:vt.LLM,modelAPIResponse:N};A.current.currentPageResult=e},[f,h,b,N]),y(()=>(window.addEventListener("keydown",B),()=>{window.removeEventListener("keydown",B)}),[]);const B=t=>{if(t.ctrlKey&&t.keyCode===yt.Enter){if(_){_(()=>w(E()));return}w(E())}},X=t=>{var e;let a=[],d=[];if((t==null?void 0:t.length)>0){const r=V(n==null?void 0:n.result),m=(r==null?void 0:r.length)>0?r[0]:r;((e=m==null?void 0:m.sort)==null?void 0:e.length)>0&&(d=m.sort.reduce((c,u)=>{let p=[{title:u[0],id:u[0]}];return u.length>1&&(p=u.map(x=>({title:x,id:x}))),[...c,p]},[])),t.forEach(c=>{d.some(p=>p.length>1?p.some(x=>x.id===c.order):p[0].id===c.order)||a.push({title:c.order,id:c.order})})}$(d),U(a)},Y=({order:t,value:e,key:a})=>{const d=f==null?void 0:f.map(r=>{var m;if((r==null?void 0:r.order)===t){if(lt(e))return G(C({},r),{score:e});if(at(e)&&a){const c={[e==null?void 0:e.key]:e.value},u=(m=r[a])!=null?m:{};return G(C({},r),{[a]:C(C({},u),c)})}}return r});M(d)};if((()=>{var t,e;const{indicatorScore:a=[],indicatorDetermine:d=[],text:r=[],enableSort:m}=v,c=((t=a==null?void 0:a.filter(g=>g.label&&g.value&&g.score))==null?void 0:t.length)>0,u=((e=d==null?void 0:d.filter(g=>g.label&&g.value))==null?void 0:e.length)>0,p=(r==null?void 0:r.length)>0;return!(c||u||p||m)})())return s.createElement("div",{className:`${j}`},s.createElement("div",{className:`${j}__content`,style:{display:"flex",justifyContent:"center",alignItems:"center"}},s.createElement(nt,{description:s.createElement("span",{style:{color:"#ccc"}},I("NoScoringScale")),imageStyle:{width:200,height:200},image:s.createElement("img",{src:xt})})));const{indicatorScore:K=[],indicatorDetermine:q=[],enableSort:Z}=v,tt=f.length>0&&((q==null?void 0:q.length)>0||(K==null?void 0:K.length)>0);return s.createElement("div",{className:`${j}`},s.createElement("div",{className:`${j}__content`},Z&&s.createElement(it,{waitSortList:Q,sortList:h,setSortList:$,checkMode:S}),tt&&s.createElement(ct,{list:f,LLMConfig:v,updateValue:Y,checkMode:S}),(v==null?void 0:v.text)&&s.createElement("div",{style:{padding:"0px 16px",marginTop:"16px"}},s.createElement(Lt,{textAttribute:b||[],LLMConfig:v,setText:R,checkMode:S}))),s.createElement("div",{style:{margin:"24px 16px",display:"flex"}},(O==null?void 0:O.length)-1!==P&&s.createElement(rt,{type:"primary",style:{marginLeft:"auto"},onClick:()=>{if(_){_(()=>w(E()));return}w(E())},disabled:S},I("Save"))))},Ct=i=>({annotation:i.annotation});var jt=st(Ct,null,null,{context:dt})(Et);export{jt as default};
1
+ import a,{useContext as W,useState as L,useEffect as y}from"react";import{prefix as it}from"../../../constant/index.js";import{Empty as lt,Button as at}from"antd";import ct from"./components/answerSort/index.js";import{connect as dt}from"react-redux";import{isNumber as ut,isObject as mt}from"lodash";import pt from"./components/answerList/index.js";import{LabelBeeContext as ft,LLMContext as V}from"../../../store/ctx.js";import{jsonParser as k}from"../../../utils/index.js";import{getStepConfig as vt}from"../../../store/annotation/reducer.js";import{useCustomToolInstance as gt}from"../../../hooks/annotation.js";import{PageForward as C}from"../../../store/annotation/actionCreators.js";import{cKeyCode as xt,EToolName as wt}from"@labelbee/lb-annotation";import{useTranslation as Lt}from"react-i18next";import{getCurrentResultFromResultList as z,formatSort as G}from"../utils/data.js";import Et from"../../../assets/annotation/LLMTool/empty.svg.js";import _t from"./components/textInputBox/index.js";var bt=Object.defineProperty,St=Object.defineProperties,ht=Object.getOwnPropertyDescriptors,H=Object.getOwnPropertySymbols,yt=Object.prototype.hasOwnProperty,Ct=Object.prototype.propertyIsEnumerable,J=(i,r,c)=>r in i?bt(i,r,{enumerable:!0,configurable:!0,writable:!0,value:c}):i[r]=c,w=(i,r)=>{for(var c in r||(r={}))yt.call(r,c)&&J(i,c,r[c]);if(H)for(var c of H(r))Ct.call(r,c)&&J(i,c,r[c]);return i},j=(i,r)=>St(i,ht(r));const jt=xt.default,P=`${it}-sidebar`,Pt=i=>{var r;const{annotation:c,dispatch:E,checkMode:_}=i,{imgIndex:A,imgList:T,stepList:O,step:D,skipBeforePageTurning:b}=c,{modelAPIResponse:N}=W(V),{t:I}=Lt(),s=(r=T[A])!=null?r:{},Q=k(s==null?void 0:s.result),{toolInstanceRef:M}=gt({basicInfo:Q}),[f,U]=L(),[v,R]=L([]),[S,$]=L(void 0),[h,B]=L([]),[X,Y]=L([]),{setNewAnswerList:Z}=W(V);y(()=>{var t;if(O&&D){const e=(t=vt(O,D))==null?void 0:t.config;U(k(e))}},[O,D]),y(()=>{if(!s)return;const t=z(s==null?void 0:s.result);let e=(t==null?void 0:t.answerList)?t:s==null?void 0:s.questionList;if(e==null?void 0:e.answerList){et(e.answerList);const o=tt(e.answerList)||[];R(o)}$(t==null?void 0:t.textAttribute)},[A,s,f]),y(()=>{M.current.exportData=()=>{const o=G(h);return[[{answerList:v,sort:o,textAttribute:S,id:s==null?void 0:s.id,modelAPIResponse:N}],{}]};const t=G(h),e={answerList:v,sort:t,textAttribute:S,id:s==null?void 0:s.id,toolName:wt.LLM,modelAPIResponse:N};M.current.currentPageResult=e,Z(v)},[v,h,S,N]),y(()=>(window.addEventListener("keydown",F),()=>{window.removeEventListener("keydown",F)}),[]);const tt=t=>{const{isTextEdit:e,textEdit:o=[]}=f||{};return e?t.map(n=>{var d,l;return((d=o.filter(p=>p.title===n.order)[0])==null?void 0:d.isFillAnswer)?j(w({},n),{newAnswer:(l=n==null?void 0:n.newAnswer)!=null?l:n.answer}):n}):t},F=t=>{if(t.ctrlKey&&t.keyCode===jt.Enter){if(b){b(()=>E(C()));return}E(C())}},et=t=>{var e;let o=[],u=[];if((t==null?void 0:t.length)>0){const n=z(s==null?void 0:s.result),d=(n==null?void 0:n.length)>0?n[0]:n;((e=d==null?void 0:d.sort)==null?void 0:e.length)>0&&(u=d.sort.reduce((l,m)=>{let p=[{title:m[0],id:m[0]}];return m.length>1&&(p=m.map(g=>({title:g,id:g}))),[...l,p]},[])),t.forEach(l=>{u.some(p=>p.length>1?p.some(g=>g.id===l.order):p[0].id===l.order)||o.push({title:l.order,id:l.order})})}B(u),Y(o)},nt=({order:t,value:e,key:o})=>{const u=v==null?void 0:v.map(n=>{var d;if((n==null?void 0:n.order)===t){if(o==="textEdit")return j(w({},n),{newAnswer:e});if(ut(e))return j(w({},n),{score:e});if(mt(e)&&o){const l={[e==null?void 0:e.key]:e.value},m=(d=n[o])!=null?d:{};return j(w({},n),{[o]:w(w({},m),l)})}}return n});R(u)};if((()=>{var t,e;const{indicatorScore:o=[],indicatorDetermine:u=[],text:n=[],enableSort:d,isTextEdit:l}=f||{},m=((t=o==null?void 0:o.filter(x=>x.label&&x.value&&x.score))==null?void 0:t.length)>0,p=((e=u==null?void 0:u.filter(x=>x.label&&x.value))==null?void 0:e.length)>0,g=(n==null?void 0:n.length)>0;return!(m||p||g||d||l)})())return a.createElement("div",{className:`${P}`},a.createElement("div",{className:`${P}__content`,style:{display:"flex",justifyContent:"center",alignItems:"center"}},a.createElement(lt,{description:a.createElement("span",{style:{color:"#ccc"}},I("NoScoringScale")),imageStyle:{width:200,height:200},image:a.createElement("img",{src:Et})})));const{indicatorScore:K=[],indicatorDetermine:q=[],enableSort:rt,isTextEdit:ot}=f||{},st=v.length>0&&((q==null?void 0:q.length)>0||(K==null?void 0:K.length)>0||ot);return a.createElement("div",{className:`${P}`},a.createElement("div",{className:`${P}__content`},rt&&a.createElement(ct,{waitSortList:X,sortList:h,setSortList:B,checkMode:_}),st&&a.createElement(pt,{list:v,LLMConfig:f,updateValue:nt,checkMode:_}),(f==null?void 0:f.text)&&a.createElement("div",{style:{padding:"0px 16px",marginTop:"16px"}},a.createElement(_t,{textAttribute:S||[],LLMConfig:f,setText:$,checkMode:_}))),a.createElement("div",{style:{margin:"24px 16px",display:"flex"}},(T==null?void 0:T.length)-1!==A&&a.createElement(at,{type:"primary",style:{marginLeft:"auto"},onClick:()=>{if(b){b(()=>E(C()));return}E(C())},disabled:_},I("Save"))))},At=i=>({annotation:i.annotation});var Tt=dt(At,null,null,{context:ft})(Pt);export{Tt as default};
@@ -0,0 +1,2 @@
1
+ import r from"react";import{uuid as l}from"@labelbee/lb-annotation";import m from"diff-match-patch";const c={added:{color:"#36B34A",backgroundColor:"#D9FFDF"},removed:{color:"#F26549",backgroundColor:"#FFD9D9",textDecoration:"line-through"}},s=({originString:f="",currentString:i=""})=>{const d=new m().diff_main(f,i).map(n=>{const e=n[0];let t=n[1];if((e===-1||e===1)&&!/\S/.test(t)){const a=t.match(/(\S)*(\r\n|\r|\n)/g);a&&(e===-1&&(t="\u21B5".repeat(a.length)),e===1&&(t=`\u21B5
2
+ `.repeat(a.length)))}let o;return e===1&&(o=c.added),e===-1&&(o=c.removed),r.createElement("span",{style:o,key:l()},t)});return r.createElement("span",{style:{whiteSpace:"pre-wrap"}},d)};export{s as default};
package/es/index.css CHANGED
@@ -2417,7 +2417,7 @@
2417
2417
  flex: 1;
2418
2418
  }
2419
2419
  .bee-LLMView__textBox {
2420
- padding: 24px;
2420
+ padding: 26px 32px;
2421
2421
  }
2422
2422
  .bee-LLMView__title {
2423
2423
  font-weight: 500;
@@ -2429,8 +2429,13 @@
2429
2429
  font-size: 14px;
2430
2430
  display: flex;
2431
2431
  margin-bottom: 24px;
2432
- min-width: 240px;
2433
- padding: 16px;
2432
+ width: 100%;
2433
+ }
2434
+ .bee-LLMView__headerContent {
2435
+ font-weight: 500;
2436
+ font-size: 14px;
2437
+ overflow-y: auto;
2438
+ height: calc(100% - 54px);
2434
2439
  }
2435
2440
  .bee-LLMView__contentActive {
2436
2441
  background-color: #eeefff;
package/es/store/ctx.js CHANGED
@@ -1 +1 @@
1
- import t from"react";import{createDispatchHook as o,createSelectorHook as r}from"react-redux";const e=t.createContext(void 0),c=o(e),s=r(e),a=t.createContext({hoverKey:-1,setHoverKey:()=>{},modelAPIResponse:[],setModelAPIResponse:()=>{}});export{a as LLMContext,e as LabelBeeContext,c as useDispatch,s as useSelector};
1
+ import t from"react";import{createDispatchHook as o,createSelectorHook as s}from"react-redux";const e=t.createContext(void 0),r=o(e),c=s(e),n=t.createContext({hoverKey:-1,newAnswerList:[],setHoverKey:()=>{},modelAPIResponse:[],setModelAPIResponse:()=>{},setNewAnswerList:()=>{}});export{n as LLMContext,e as LabelBeeContext,r as useDispatch,c as useSelector};
@@ -1 +1 @@
1
- import{prefix as r}from"../../../constant/index.js";import{Layout as a}from"antd/es";import t,{useState as s,useMemo as u}from"react";import f from"../sidebar/index.js";import L from"../toolFooter/index.js";import{getClassName as v}from"../../../utils/dom.js";import{classnames as y}from"../../../utils/index.js";import{LLMContext as M}from"../../../store/ctx.js";import x from"../../../components/LLMToolView/index.js";const{Sider:h,Content:j}=a,m=`${r}-layout`,E=e=>{var o,l;const[i,c]=s(-1),[n,d]=s([]);return t.createElement(a,{className:v("layout","container")},t.createElement(M.Provider,{value:u(()=>({hoverKey:i,setHoverKey:c,modelAPIResponse:n,setModelAPIResponse:d}),[i,n])},e==null?void 0:e.leftSider,t.createElement(j,{className:y({[`${m}__content`]:!0,[`${r}-LLMLayout`]:!0})},t.createElement(x,{checkMode:e.checkMode,showTips:e.showTips,tips:e.tips}),t.createElement(L,{style:(o=e.style)==null?void 0:o.footer,mode:e.mode,footer:e==null?void 0:e.footer})),t.createElement(h,{className:`${m}__side`,width:600,style:{position:"relative"}},t.createElement(f,{sider:e==null?void 0:e.sider,checkMode:e==null?void 0:e.checkMode}),(l=e.drawLayerSlot)==null?void 0:l.call(e,{}))))};export{E as default};
1
+ import{prefix as a}from"../../../constant/index.js";import{Layout as m}from"antd/es";import t,{useState as o,useMemo as f}from"react";import v from"../sidebar/index.js";import y from"../toolFooter/index.js";import{getClassName as M}from"../../../utils/dom.js";import{classnames as w}from"../../../utils/index.js";import{LLMContext as x}from"../../../store/ctx.js";import h from"../../../components/LLMToolView/index.js";const{Sider:j,Content:E}=m,c=`${a}-layout`,_=e=>{var l,n;const[s,d]=o(-1),[i,u]=o([]),[r,L]=o([]);return t.createElement(m,{className:M("layout","container")},t.createElement(x.Provider,{value:f(()=>({hoverKey:s,setHoverKey:d,modelAPIResponse:i,setModelAPIResponse:u,newAnswerList:r,setNewAnswerList:L}),[s,i,r])},e==null?void 0:e.leftSider,t.createElement(E,{className:w({[`${c}__content`]:!0,[`${a}-LLMLayout`]:!0})},t.createElement(h,{checkMode:e.checkMode,showTips:e.showTips,tips:e.tips}),t.createElement(y,{style:(l=e.style)==null?void 0:l.footer,mode:e.mode,footer:e==null?void 0:e.footer})),t.createElement(j,{className:`${c}__side`,width:600,style:{position:"relative"}},t.createElement(v,{sider:e==null?void 0:e.sider,checkMode:e==null?void 0:e.checkMode}),(n=e.drawLayerSlot)==null?void 0:n.call(e,{}))))};export{_ as default};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@labelbee/lb-components",
3
- "version": "1.19.0-alpha.1",
3
+ "version": "1.19.0-alpha.2",
4
4
  "description": "Provide a complete library of annotation components",
5
5
  "main": "./dist/index.js",
6
6
  "es": "./es/index.js",
@@ -43,8 +43,8 @@
43
43
  },
44
44
  "dependencies": {
45
45
  "@ant-design/icons": "^4.6.2",
46
- "@labelbee/lb-annotation": "1.22.1-alpha.1",
47
- "@labelbee/lb-utils": "1.15.0-alpha.1",
46
+ "@labelbee/lb-annotation": "1.23.0-alpha.1",
47
+ "@labelbee/lb-utils": "1.15.0-alpha.2",
48
48
  "@labelbee/wavesurfer": "1.0.0",
49
49
  "@types/react-dom": "^18.2.7",
50
50
  "ahooks": "^3.4.0",
@@ -62,6 +62,8 @@
62
62
  "redux-actions": "^2.6.5",
63
63
  "redux-thunk": "^2.3.0",
64
64
  "rehype-katex": "^6.0.3",
65
+ "diff-match-patch": "^1.0.5",
66
+ "re-resizable": "^6.9.9",
65
67
  "remark-math": "^5.1.1",
66
68
  "remark-gfm": "^3.0.1",
67
69
  "resize-observer-polyfill": "^1.5.1"
@@ -78,6 +80,7 @@
78
80
  "@rollup/plugin-eslint": "^8.0.1",
79
81
  "@rollup/plugin-image": "^2.0.6",
80
82
  "@rollup/plugin-node-resolve": "^11.2.1",
83
+ "@types/diff-match-patch": "^1.0.36",
81
84
  "@types/lodash": "^4.14.168",
82
85
  "@types/react": "^16.13.1",
83
86
  "@types/react-redux": "^7.1.16",