st-comp 0.0.255 → 0.0.256
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/MonacoEditor.cjs +1 -1
- package/es/MonacoEditor.js +1 -1
- package/es/VarietyAiHelper.cjs +5 -5
- package/es/VarietyAiHelper.js +311 -279
- package/es/VarietySearch.cjs +1 -1
- package/es/VarietySearch.js +1 -1
- package/es/{index-5befc414.cjs → index-40f05e2c.cjs} +2 -2
- package/es/{index-8f9d0d17.js → index-8a54ceeb.js} +2 -2
- package/es/{python-27ece6fa.cjs → python-02c3937a.cjs} +1 -1
- package/es/{python-656db04f.js → python-99011a53.js} +1 -1
- package/es/style.css +1 -1
- package/lib/bundle.js +1 -1
- package/lib/bundle.umd.cjs +82 -82
- package/lib/{index-73a5aa87.js → index-00866046.js} +3363 -3331
- package/lib/{python-8821365d.js → python-a25c0b5b.js} +1 -1
- package/lib/style.css +1 -1
- package/package.json +1 -1
- package/packages/VarietyAiHelper/index.vue +344 -331
package/es/MonacoEditor.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const r=require("./index-
|
|
1
|
+
"use strict";const r=require("./index-40f05e2c.cjs");require("./base-ef747d02.cjs");require("vue");require("./el-button-974ff9e9.cjs");require("./index-33f80550.cjs");require("./index-f1c702f6.cjs");require("./use-global-config-c80f33a4.cjs");require("./use-form-common-props-d3ed62c6.cjs");require("./index-9780a537.cjs");require("./index-bb833443.cjs");require("./index-37b8d3c6.cjs");require("./index-eea0bcb3.cjs");require("./el-tag-6d8e653e.cjs");require("./index-28e03bad.cjs");require("./el-select-a11f33e8.cjs");require("./el-popper-2d3914e4.cjs");require("./index-e8eeea22.cjs");require("./el-scrollbar-bc3f790d.cjs");require("./index-6b99def3.cjs");require("./castArray-35947698.cjs");require("./index-7dce9f59.cjs");require("./scroll-b108dabd.cjs");require("./debounce-62f5b6e8.cjs");require("./vnode-b906ae6d.cjs");require("./el-input-fa18ef84.cjs");require("./typescript-b63f8e83.cjs");require("./el-tooltip-0ea8fbf8.cjs");require("./index-8901a38c.cjs");require("./VarietySelect-5c845562.cjs");require("./el-autocomplete-b59eb529.cjs");require("./_plugin-vue_export-helper-f246444f.cjs");require("./el-message-0ea8fbf8.cjs");require("./index-6ca95c8a.cjs");require("./config-provider-2ae47cc8.cjs");const i={install(e){e.component("st-monacoEditor",r.MonacoEditor)}};module.exports=i;
|
package/es/MonacoEditor.js
CHANGED
package/es/VarietyAiHelper.cjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
"use strict";const T=require("./base-ef747d02.cjs"),
|
|
2
|
-
`))!==-1;){const
|
|
3
|
-
`);let
|
|
1
|
+
"use strict";const T=require("./base-ef747d02.cjs"),z=require("./el-dialog-1b185570.cjs");require("./el-overlay-ea65cb05.cjs");const j=require("./el-button-974ff9e9.cjs"),O=require("./el-input-fa18ef84.cjs"),e=require("vue"),x=require("./dayjs.min-2c20abe6.cjs"),I=require("./index-8901a38c.cjs"),q=require("./index-33f80550.cjs"),L=require("./_plugin-vue_export-helper-f246444f.cjs"),M=require("./index-6ca95c8a.cjs"),H=require("./use-form-common-props-d3ed62c6.cjs");require("./index-28e03bad.cjs");require("./index-9780a537.cjs");require("./index-bb833443.cjs");require("./index-f1c702f6.cjs");require("./vnode-b906ae6d.cjs");require("./scroll-b108dabd.cjs");require("./use-global-config-c80f33a4.cjs");require("./index-37b8d3c6.cjs");require("./index-eea0bcb3.cjs");require("./typescript-b63f8e83.cjs");require("./index-7dce9f59.cjs");require("./config-provider-2ae47cc8.cjs");const J=T.buildProps({size:{type:[Number,String],values:H.componentSizes,default:"",validator:u=>T.isNumber(u)},shape:{type:String,values:["circle","square"],default:"circle"},icon:{type:H.iconPropType},src:{type:String,default:""},alt:String,srcSet:String,fit:{type:T.definePropType(String),default:"cover"}}),R={error:u=>u instanceof Event},K=e.defineComponent({name:"ElAvatar"}),U=e.defineComponent({...K,props:J,emits:R,setup(u,{emit:y}){const h=u,i=T.useNamespace("avatar"),p=e.ref(!1),c=e.computed(()=>{const{size:a,icon:b,shape:n}=h,m=[i.b()];return T.isString(a)&&m.push(i.m(a)),b&&m.push(i.m("icon")),n&&m.push(i.m(n)),m}),_=e.computed(()=>{const{size:a}=h;return T.isNumber(a)?i.cssVarBlock({size:T.addUnit(a)||""}):void 0}),f=e.computed(()=>({objectFit:h.fit}));e.watch(()=>h.src,()=>p.value=!1);function l(a){p.value=!0,y("error",a)}return(a,b)=>(e.openBlock(),e.createElementBlock("span",{class:e.normalizeClass(e.unref(c)),style:e.normalizeStyle(e.unref(_))},[(a.src||a.srcSet)&&!p.value?(e.openBlock(),e.createElementBlock("img",{key:0,src:a.src,alt:a.alt,srcset:a.srcSet,style:e.normalizeStyle(e.unref(f)),onError:l},null,44,["src","alt","srcset"])):a.icon?(e.openBlock(),e.createBlock(e.unref(q.ElIcon),{key:1},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(a.icon)))]),_:1})):e.renderSlot(a.$slots,"default",{key:2})],6))}});var W=T._export_sfc(U,[["__file","avatar.vue"]]);const X=T.withInstall(W);const G=async({appId:u,apiKey:y,value:h,callback:i})=>{var p;try{const c=await fetch(`https://dashscope.aliyuncs.com/api/v1/apps/${u}/completion`,{method:"POST",body:JSON.stringify({input:{prompt:h},parameters:{incremental_output:"true"},debug:{}}),headers:{Authorization:`Bearer ${y}`,"Content-Type":"application/json","X-DashScope-SSE":"enable"}});if(!c.ok){i("error",`HTTP ${c.status}: ${c.statusText}`);return}const _=c.body.getReader(),f=new TextDecoder;let l="",a=null;for(;;){const{done:b,value:n}=await _.read();if(b){l.trim()&&Q(l,i),i("finish","");break}l+=f.decode(n,{stream:!0});let m;for(;(m=l.indexOf(`
|
|
2
|
+
`))!==-1;){const k=l.substring(0,m).trim();if(l=l.substring(m+1),k.startsWith("event:")){a=k.substring(6).trim();continue}if(k.startsWith("data:")){const E=k.substring(5).trim();if(a==="error"||E&&E.startsWith("{"))try{const g=JSON.parse(E);if(g.code||g.message||a==="error"){const F=g.message||g.code||"未知错误";i("error",`百炼服务端错误: ${F}`);return}const B=(p=g==null?void 0:g.output)==null?void 0:p.text;B&&i&&i("message",B)}catch{console.debug("JSON 解析失败:",E)}a=null}}}}catch(c){console.error("流式请求失败:",c),i("error",c.message)}},Q=(u,y)=>{var p;const h=u.split(`
|
|
3
|
+
`);let i=null;for(const c of h){if(c.startsWith("event:")){i=c.substring(6).trim();continue}if(c.startsWith("data:")){const _=c.substring(5).trim();if(_&&_!=="[DONE]")try{const f=JSON.parse(_);if(i==="error"||f.code||f.message){const a=f.message||f.code||"未知错误";y("error",`百炼服务端错误: ${a}`);return}const l=(p=f==null?void 0:f.output)==null?void 0:p.text;l&&y&&y("message",l)}catch{}i=null}}};const V=u=>(e.pushScopeId("data-v-50a97ff3"),u=u(),e.popScopeId(),u),Z={class:"ai-dialog-body"},ee={class:"avatar"},te={class:"message-content"},se=["innerHTML"],ae={key:1,class:"message-text"},ne={class:"message-createTime"},re=V(()=>e.createElementVNode("div",{class:"message-createTime"},"请问对本轮查询结果是否满意?",-1)),oe={class:"feedback-buttons"},ie=["onClick"],le=V(()=>e.createElementVNode("span",{class:"btn-emoji"},"👍",-1)),ce=V(()=>e.createElementVNode("span",{class:"btn-text"},"满意",-1)),ue=[le,ce],de=["onClick"],me=V(()=>e.createElementVNode("span",{class:"btn-emoji"},"👎",-1)),fe=V(()=>e.createElementVNode("span",{class:"btn-text"},"不满意",-1)),pe=[me,fe],ve={key:1,class:"message-createTime"},ge={key:0,class:"message-item assistant"},he={class:"avatar"},_e=V(()=>e.createElementVNode("div",{class:"message-content"},[e.createElementVNode("div",{class:"typing-indicator"},[e.createElementVNode("span"),e.createElementVNode("span"),e.createElementVNode("span")])],-1)),ke={class:"input-area"},ye={class:"input-actions"},be=V(()=>e.createElementVNode("div",{class:"input-hint"},[e.createElementVNode("span",null,"Enter 发送 | Ctrl + Enter 换行")],-1)),Ee={class:"feedback-dialog-content"},Te=V(()=>e.createElementVNode("div",{class:"feedback-emoji"},"😟",-1)),Ve=V(()=>e.createElementVNode("p",{class:"feedback-tip"},"很抱歉没能帮到您,请告诉我们哪里需要改进:",-1)),Ne={class:"dialog-footer"},Ce={__name:"index",props:{defaultMessage:{type:String,default:`你好呀!我是你的品种池AI助手,会根据您的自然语言去进行品种的条件查询
|
|
4
4
|
|
|
5
5
|
示例:
|
|
6
|
-
帮我查A股科创板下品种转价差上证50并且总市值大于1千万, 按照总市值升序进行排序`}},emits:["callBack"],setup(
|
|
7
|
-
`+
|
|
6
|
+
帮我查A股科创板下品种转价差上证50并且总市值大于1千万, 按照总市值升序进行排序`}},emits:["callBack"],setup(u,{expose:y,emit:h}){const i=e.inject("stConfig"),p=e.reactive(I.V()),c=e.ref(!1),_=h,f=u,l=e.ref(!1),a=e.ref(!1),b=e.ref(null),n=e.ref([{role:"assistant",content:f.defaultMessage,userContent:null,showFeedback:!1,hasFeedback:!1,createTime:x.dayjs().format("YYYY-MM-DD HH:mm:ss"),resTime:0,firstPackageTime:0}]),m=e.ref(""),k=e.ref(!1),E=e.ref(""),g=e.ref({}),B=r=>{if(typeof r!="string")return!1;try{const t=JSON.parse(r);return t!==null&&typeof t=="object"}catch{return!1}},F=r=>{if(!B(r))return null;try{const t=JSON.parse(r),{parsedConditions:s,...d}=t;return{parsedConditions:s,webParams:d}}catch{return null}},Y=r=>{var s;if(!r)return"";let t="";return(s=r.parsedConditions)!=null&&s.length&&(t+='<div class="parsed-conditions">',r.parsedConditions.forEach(d=>{t+=`<div class="parsed-conditions-item">${d}</div>`}),t+="</div>"),t},w=async(r,t)=>{switch(r){case"satisfied":{const s=n.value[t],d={userName:p.username,userContent:s.userContent,aiContent:s.content,type:1,createTime:s.createTime,resTime:s.resTime,firstPackageTime:s.firstPackageTime};await i.request.post("/alarm/deliversign/addVarietyAiHelperLog",d),M.ElMessage.success("感谢您的评价!"),n.value[t].hasFeedback=!0;break}case"open":{g.value=t,k.value=!0;break}case"unsatisfied":{const s=n.value[t],d={userName:p.username,userContent:s.userContent,userSuggestion:E.value,aiContent:s.content,type:2,resTime:s.resTime,createTime:s.createTime,firstPackageTime:s.firstPackageTime};await i.request.post("/alarm/deliversign/addVarietyAiHelperLog",d),M.ElMessage.success("感谢您的反馈!我们将持续跟踪并进行优化"),k.value=!1,n.value[t].hasFeedback=!0;break}case"default":{const s=n.value[t],d={userName:p.username,userContent:s.userContent,userSuggestion:E.value,aiContent:s.content,type:null,resTime:s.resTime,createTime:s.createTime,firstPackageTime:s.firstPackageTime};await i.request.post("/alarm/deliversign/addVarietyAiHelperLog",d)}}},P=async()=>{const r=m.value.trim();if(!r)return M.ElMessage.warning("请输入消息内容");if(l.value)return;n.value.push({role:"user",content:r,createTime:x.dayjs().format("YYYY-MM-DD HH:mm:ss")}),m.value="",await N(),n.value.push({role:"assistant",content:"",userContent:r,showFeedback:!1,hasFeedback:!1,createTime:x.dayjs().format("YYYY-MM-DD HH:mm:ss"),resTime:0,firstPackageTime:0}),await N(),l.value=!0,a.value=!0;let t="",s=new Date().getTime();try{await G({appId:"9e54d112acfe4531bd1fc4fee8827fef",apiKey:"sk-d995eb26a4334bdeb2ccb4cbfaf51de8",value:r,callback:(S,v)=>{if(S==="error"){a.value=!1,l.value=!1,n.value.pop(),n.value.push({role:"assistant",userContent:r,content:`❌ ${v}`,showFeedback:!1,hasFeedback:!1,createTime:x.dayjs().format("YYYY-MM-DD HH:mm:ss"),resTime:new Date().getTime()-s,firstPackageTime:0}),w("default",n.value.length-1),N();return}else if(S==="message"){t+=v;const o=n.value[n.value.length-1];o&&o.role==="assistant"&&(o.content=t,N()),o.firstPackageTime===0&&(o.firstPackageTime=new Date().getTime()-s)}else if(S==="finish"){a.value=!1,l.value=!1;const o=n.value[n.value.length-1];o&&o.role==="assistant"&&(o.showFeedback=!0,o.resTime=new Date().getTime()-s,w("default",n.value.length-1));try{const C=JSON.parse(t);delete C.parsedConditions,_("callBack",C)}catch{_("callBack",t)}}}})}catch(d){M.ElMessage.error(`AI响应异常: ${d}`),n.value.pop(),n.value.push({role:"assistant",userContent:r,content:"❌ 抱歉,AI服务响应异常,请稍后重试。",showFeedback:!0,hasFeedback:!1,createTime:x.dayjs().format("YYYY-MM-DD HH:mm:ss"),resTime:new Date().getTime()-s,firstPackageTime:0}),w("default",n.value.length-1),await N(),l.value=!1,a.value=!1}},$=r=>{if(r.key==="Enter")if(r.ctrlKey){r.preventDefault();const t=r.target,s=t.selectionStart,d=t.selectionEnd;m.value=m.value.substring(0,s)+`
|
|
7
|
+
`+m.value.substring(d),e.nextTick(()=>{t.selectionStart=t.selectionEnd=s+1})}else r.preventDefault(),P()},N=async()=>{await e.nextTick(),b.value&&(b.value.scrollTop=b.value.scrollHeight)};return e.watch(()=>n.value,()=>{N()},{deep:!0}),y({open:()=>{c.value=!0,e.nextTick(()=>{N()})}}),(r,t)=>{const s=X,d=O.ElInput,D=j.ElButton,S=z.ElDialog;return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(S,{class:"ai-dialog",modelValue:c.value,"onUpdate:modelValue":t[1]||(t[1]=v=>c.value=v),title:"✨ 品种池参数解析AI助手",width:"500px",center:"",draggable:"",overflow:"",modal:!1,"modal-penetrable":!0},{default:e.withCtx(()=>{var v;return[e.createElementVNode("div",Z,[e.createElementVNode("div",{ref_key:"messageListRef",ref:b,class:"message-list"},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.value,(o,C)=>(e.openBlock(),e.createElementBlock("div",{key:C,class:e.normalizeClass([o.role,"message-item"])},[o.content?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("div",ee,[e.createVNode(s,{size:32,icon:o.role==="user"?e.unref(q.user_filled_default):e.unref(q.service_default)},null,8,["icon"])]),e.createElementVNode("div",te,[B(o.content)?(e.openBlock(),e.createElementBlock("div",{key:0,class:"message-json",innerHTML:Y(F(o.content))},null,8,se)):(e.openBlock(),e.createElementBlock("div",ae,e.toDisplayString(o.content),1)),e.createElementVNode("div",ne,e.toDisplayString(o.createTime),1),o.role==="assistant"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[o.showFeedback&&!o.hasFeedback?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[re,e.createElementVNode("div",oe,[e.createElementVNode("button",{class:"feedback-btn satisfied-btn",onClick:A=>w("satisfied",C)},ue,8,ie),e.createElementVNode("button",{class:"feedback-btn unsatisfied-btn",onClick:A=>w("open",C)},pe,8,de)])],64)):e.createCommentVNode("",!0),o.showFeedback&&o.hasFeedback?(e.openBlock(),e.createElementBlock("div",ve,"感谢您进行的评价反馈")):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)])],64)):e.createCommentVNode("",!0)],2))),128)),a.value&&!((v=n.value[n.value.length-1])!=null&&v.content)?(e.openBlock(),e.createElementBlock("div",ge,[e.createElementVNode("div",he,[e.createVNode(s,{size:32,icon:e.unref(q.service_default)},null,8,["icon"])]),_e])):e.createCommentVNode("",!0)],512),e.createElementVNode("div",ke,[e.createVNode(d,{class:"message-input",modelValue:m.value,"onUpdate:modelValue":t[0]||(t[0]=o=>m.value=o),type:"textarea",rows:4,autosize:{minRows:2,maxRows:4},placeholder:"输入您想查询的品种条件... (Ctrl+Enter换行,Enter发送)",onKeydown:$},null,8,["modelValue"]),e.createElementVNode("div",ye,[be,e.createVNode(D,{class:"send-btn",type:"primary",icon:e.unref(q.promotion_default),loading:l.value,onClick:P,round:""},{default:e.withCtx(()=>[e.createTextVNode(" 发送 ")]),_:1},8,["icon","loading"])])])])]}),_:1},8,["modelValue"]),e.createVNode(S,{modelValue:k.value,"onUpdate:modelValue":t[5]||(t[5]=v=>k.value=v),title:"📝 反馈意见",width:"400px"},{footer:e.withCtx(()=>[e.createElementVNode("span",Ne,[e.createVNode(D,{onClick:t[3]||(t[3]=v=>k.value=!1)},{default:e.withCtx(()=>[e.createTextVNode("取消")]),_:1}),e.createVNode(D,{type:"primary",onClick:t[4]||(t[4]=v=>w("unsatisfied",g.value))},{default:e.withCtx(()=>[e.createTextVNode("提交反馈")]),_:1})])]),default:e.withCtx(()=>[e.createElementVNode("div",Ee,[Te,Ve,e.createVNode(d,{modelValue:E.value,"onUpdate:modelValue":t[2]||(t[2]=v=>E.value=v),type:"textarea",rows:4,placeholder:"[非必填]例如:回答不够准确、查询结果有误、界面体验不佳..."},null,8,["modelValue"])])]),_:1},8,["modelValue"])],64)}}},we=L._export_sfc(Ce,[["__scopeId","data-v-50a97ff3"]]),Se={install(u){u.component("st-varietyAiHelper",we)}};module.exports=Se;
|