pcm-agents 0.6.62 → 0.6.63

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 (148) hide show
  1. package/dist/cjs/components-position-selector_28.cjs.entry.js +6 -8
  2. package/dist/cjs/components-position-selector_28.cjs.entry.js.map +1 -1
  3. package/dist/cjs/{index-oCI89hDY.js → index-NR0bG-Uv.js} +3 -3
  4. package/dist/cjs/{index-oCI89hDY.js.map → index-NR0bG-Uv.js.map} +1 -1
  5. package/dist/cjs/index.cjs.js +1 -1
  6. package/dist/cjs/oem-htws-modal.cjs.entry.js +1 -1
  7. package/dist/cjs/oem-jd-modal.cjs.entry.js +2 -2
  8. package/dist/cjs/oem-jlpp-modal.cjs.entry.js +1 -1
  9. package/dist/cjs/oem-jlsx-modal.cjs.entry.js +2 -2
  10. package/dist/cjs/oem-jlzz-modal.cjs.entry.js +1 -1
  11. package/dist/cjs/oem-mnct-modal.cjs.entry.js +1 -1
  12. package/dist/cjs/oem-qgqjl-modal.cjs.entry.js +1 -1
  13. package/dist/cjs/oem-zygh-modal.cjs.entry.js +1 -1
  14. package/dist/cjs/pcm-hr-chat-modal.cjs.entry.js +2 -2
  15. package/dist/cjs/pcm-mnms-modal.cjs.entry.js +2 -3
  16. package/dist/cjs/pcm-mnms-modal.cjs.entry.js.map +1 -1
  17. package/dist/cjs/pcm-mnms-modal.entry.cjs.js.map +1 -1
  18. package/dist/cjs/pcm-zygh-v2-modal.cjs.entry.js +1 -1
  19. package/dist/cjs/{sentry-reporter-BmOwSI2j.js → sentry-reporter-BvQcVVQ_.js} +3 -3
  20. package/dist/cjs/{sentry-reporter-BmOwSI2j.js.map → sentry-reporter-BvQcVVQ_.js.map} +1 -1
  21. package/dist/collection/components/oem-mnms-modal/oem-mnms-modal.js +2 -3
  22. package/dist/collection/components/oem-mnms-modal/oem-mnms-modal.js.map +1 -1
  23. package/dist/collection/components/pcm-1zhanshi-mnms-modal/pcm-1zhanshi-mnms-modal.js +1 -1
  24. package/dist/collection/components/pcm-1zhanshi-mnms-modal/pcm-1zhanshi-mnms-modal.js.map +1 -1
  25. package/dist/collection/components/pcm-jlzz-modal/pcm-jlzz-modal.js +2 -2
  26. package/dist/collection/components/pcm-jlzz-modal/pcm-jlzz-modal.js.map +1 -1
  27. package/dist/collection/components/pcm-mnms-modal/pcm-mnms-modal.js +2 -3
  28. package/dist/collection/components/pcm-mnms-modal/pcm-mnms-modal.js.map +1 -1
  29. package/dist/collection/components/pcm-mnms-zp-modal/pcm-mnms-zp-modal.js +2 -3
  30. package/dist/collection/components/pcm-mnms-zp-modal/pcm-mnms-zp-modal.js.map +1 -1
  31. package/dist/components/components-position-selector.js +1 -1
  32. package/dist/components/index.js +1 -1
  33. package/dist/components/oem-htws-modal.js +6 -6
  34. package/dist/components/oem-jd-modal.js +4 -4
  35. package/dist/components/oem-jlpp-modal.js +8 -8
  36. package/dist/components/oem-jlsx-modal.js +6 -6
  37. package/dist/components/oem-jlzz-modal.js +6 -6
  38. package/dist/components/oem-mnct-modal.js +8 -8
  39. package/dist/components/oem-mnms-modal.js +10 -11
  40. package/dist/components/oem-mnms-modal.js.map +1 -1
  41. package/dist/components/oem-qgqjl-modal.js +8 -8
  42. package/dist/components/oem-zygh-modal.js +6 -6
  43. package/dist/components/{p-ZQIpCN-g.js → p-B0in66n7.js} +3 -3
  44. package/dist/components/{p-ZQIpCN-g.js.map → p-B0in66n7.js.map} +1 -1
  45. package/dist/components/{p-D4N6bvJF.js → p-C3QG0kk0.js} +4 -4
  46. package/dist/components/{p-D4N6bvJF.js.map → p-C3QG0kk0.js.map} +1 -1
  47. package/dist/components/{p-DLAGpFb_.js → p-CNKZCbo_.js} +5 -5
  48. package/dist/components/{p-DLAGpFb_.js.map → p-CNKZCbo_.js.map} +1 -1
  49. package/dist/components/{p-bq_oqII4.js → p-CNx58GiW.js} +3 -3
  50. package/dist/components/{p-bq_oqII4.js.map → p-CNx58GiW.js.map} +1 -1
  51. package/dist/components/{p-D0Yu-fO8.js → p-DY30qE8x.js} +3 -3
  52. package/dist/components/{p-D0Yu-fO8.js.map → p-DY30qE8x.js.map} +1 -1
  53. package/dist/components/{p-Bq2zTnFk.js → p-DeoeSzgS.js} +3 -3
  54. package/dist/components/{p-Bq2zTnFk.js.map → p-DeoeSzgS.js.map} +1 -1
  55. package/dist/components/{p-BvRXK_mf.js → p-Dl6ISIDE.js} +3 -3
  56. package/dist/components/{p-BvRXK_mf.js.map → p-Dl6ISIDE.js.map} +1 -1
  57. package/dist/components/{p-Dc0jLjwJ.js → p-_ysXxBbt.js} +3 -3
  58. package/dist/components/{p-Dc0jLjwJ.js.map → p-_ysXxBbt.js.map} +1 -1
  59. package/dist/components/{p-D0nx0wKX.js → p-ebsIIpQh.js} +3 -3
  60. package/dist/components/{p-D0nx0wKX.js.map → p-ebsIIpQh.js.map} +1 -1
  61. package/dist/components/{p-NcgycWbs.js → p-zNL5HFbN.js} +3 -3
  62. package/dist/components/{p-NcgycWbs.js.map → p-zNL5HFbN.js.map} +1 -1
  63. package/dist/components/pcm-1zhanshi-mnms-modal.js +6 -6
  64. package/dist/components/pcm-1zhanshi-mnms-modal.js.map +1 -1
  65. package/dist/components/pcm-app-chat-modal.js +1 -1
  66. package/dist/components/pcm-card.js +1 -1
  67. package/dist/components/pcm-chat-message.js +1 -1
  68. package/dist/components/pcm-digital-human.js +1 -1
  69. package/dist/components/pcm-export-records-modal.js +1 -1
  70. package/dist/components/pcm-hr-chat-modal.js +2 -2
  71. package/dist/components/pcm-htws-modal.js +7 -7
  72. package/dist/components/pcm-hyzj-modal.js +4 -4
  73. package/dist/components/pcm-jd-modal.js +4 -4
  74. package/dist/components/pcm-jlpp-modal.js +7 -7
  75. package/dist/components/pcm-jlsx-modal.js +5 -5
  76. package/dist/components/pcm-jlzz-modal.js +7 -7
  77. package/dist/components/pcm-mnct-modal.js +4 -4
  78. package/dist/components/pcm-mnms-modal.js +9 -10
  79. package/dist/components/pcm-mnms-modal.js.map +1 -1
  80. package/dist/components/pcm-mnms-zp-modal.js +9 -10
  81. package/dist/components/pcm-mnms-zp-modal.js.map +1 -1
  82. package/dist/components/pcm-mobile-input-btn.js +1 -1
  83. package/dist/components/pcm-mobile-upload-btn.js +1 -1
  84. package/dist/components/pcm-msbg-modal.js +4 -4
  85. package/dist/components/pcm-qgqjl-modal.js +7 -7
  86. package/dist/components/pcm-upload.js +1 -1
  87. package/dist/components/pcm-virtual-chat-modal.js +1 -1
  88. package/dist/components/pcm-zsk-chat-modal.js +2 -2
  89. package/dist/components/pcm-zygh-modal.js +6 -6
  90. package/dist/components/pcm-zygh-v2-modal.js +6 -6
  91. package/dist/esm/components-position-selector_28.entry.js +6 -8
  92. package/dist/esm/components-position-selector_28.entry.js.map +1 -1
  93. package/dist/esm/{index-CK35lVyu.js → index-DcHaiJdv.js} +3 -3
  94. package/dist/esm/{index-CK35lVyu.js.map → index-DcHaiJdv.js.map} +1 -1
  95. package/dist/esm/index.js +1 -1
  96. package/dist/esm/oem-htws-modal.entry.js +1 -1
  97. package/dist/esm/oem-jd-modal.entry.js +2 -2
  98. package/dist/esm/oem-jlpp-modal.entry.js +1 -1
  99. package/dist/esm/oem-jlsx-modal.entry.js +2 -2
  100. package/dist/esm/oem-jlzz-modal.entry.js +1 -1
  101. package/dist/esm/oem-mnct-modal.entry.js +1 -1
  102. package/dist/esm/oem-qgqjl-modal.entry.js +1 -1
  103. package/dist/esm/oem-zygh-modal.entry.js +1 -1
  104. package/dist/esm/pcm-hr-chat-modal.entry.js +2 -2
  105. package/dist/esm/pcm-mnms-modal.entry.js +2 -3
  106. package/dist/esm/pcm-mnms-modal.entry.js.map +1 -1
  107. package/dist/esm/pcm-zygh-v2-modal.entry.js +1 -1
  108. package/dist/esm/{sentry-reporter-4lgFL2MJ.js → sentry-reporter-BZ6jaP_d.js} +3 -3
  109. package/dist/esm/{sentry-reporter-4lgFL2MJ.js.map → sentry-reporter-BZ6jaP_d.js.map} +1 -1
  110. package/dist/pcm-agents/index.esm.js +1 -1
  111. package/dist/pcm-agents/{p-f68e45d7.entry.js → p-079c81fd.entry.js} +2 -2
  112. package/dist/pcm-agents/{p-66df336d.entry.js → p-178f3772.entry.js} +2 -2
  113. package/dist/pcm-agents/{p-94cd1672.entry.js → p-22e147d9.entry.js} +2 -2
  114. package/dist/pcm-agents/{p-4f7cce57.entry.js → p-26c3bb94.entry.js} +2 -2
  115. package/dist/pcm-agents/{p-0c7a4fd3.entry.js → p-285a11db.entry.js} +2 -2
  116. package/dist/pcm-agents/{p-1f724e43.entry.js → p-359d3474.entry.js} +2 -2
  117. package/dist/pcm-agents/{p-d63c3394.entry.js → p-4a91a26a.entry.js} +2 -2
  118. package/dist/pcm-agents/{p-0d795f3f.entry.js → p-6037c915.entry.js} +2 -2
  119. package/dist/pcm-agents/{p-730afd8d.entry.js → p-7a6267c2.entry.js} +2 -2
  120. package/dist/pcm-agents/{p-CJrQ18zg.js → p-CBQPOkZb.js} +2 -2
  121. package/dist/pcm-agents/{p-CJrQ18zg.js.map → p-CBQPOkZb.js.map} +1 -1
  122. package/dist/pcm-agents/{p-DU3DLNhC.js → p-WTSeW6oH.js} +2 -2
  123. package/dist/pcm-agents/{p-DU3DLNhC.js.map → p-WTSeW6oH.js.map} +1 -1
  124. package/dist/pcm-agents/p-ca2fb22a.entry.js +245 -0
  125. package/dist/pcm-agents/p-ca2fb22a.entry.js.map +1 -0
  126. package/dist/pcm-agents/{p-86721538.entry.js → p-da967a8c.entry.js} +2 -2
  127. package/dist/pcm-agents/{p-303078d8.entry.js → p-df3f8c9a.entry.js} +2 -2
  128. package/dist/pcm-agents/{p-303078d8.entry.js.map → p-df3f8c9a.entry.js.map} +1 -1
  129. package/dist/pcm-agents/pcm-agents.esm.js +1 -1
  130. package/dist/pcm-agents/pcm-mnms-modal.entry.esm.js.map +1 -1
  131. package/dist/types/components/oem-mnms-modal/oem-mnms-modal.d.ts +0 -1
  132. package/dist/types/components/pcm-jlzz-modal/pcm-jlzz-modal.d.ts +1 -1
  133. package/dist/types/components/pcm-mnms-modal/pcm-mnms-modal.d.ts +0 -1
  134. package/dist/types/components/pcm-mnms-zp-modal/pcm-mnms-zp-modal.d.ts +0 -1
  135. package/dist/types/components.d.ts +8 -8
  136. package/package.json +1 -1
  137. package/dist/pcm-agents/p-b89a19be.entry.js +0 -245
  138. package/dist/pcm-agents/p-b89a19be.entry.js.map +0 -1
  139. /package/dist/pcm-agents/{p-f68e45d7.entry.js.map → p-079c81fd.entry.js.map} +0 -0
  140. /package/dist/pcm-agents/{p-66df336d.entry.js.map → p-178f3772.entry.js.map} +0 -0
  141. /package/dist/pcm-agents/{p-94cd1672.entry.js.map → p-22e147d9.entry.js.map} +0 -0
  142. /package/dist/pcm-agents/{p-4f7cce57.entry.js.map → p-26c3bb94.entry.js.map} +0 -0
  143. /package/dist/pcm-agents/{p-0c7a4fd3.entry.js.map → p-285a11db.entry.js.map} +0 -0
  144. /package/dist/pcm-agents/{p-1f724e43.entry.js.map → p-359d3474.entry.js.map} +0 -0
  145. /package/dist/pcm-agents/{p-d63c3394.entry.js.map → p-4a91a26a.entry.js.map} +0 -0
  146. /package/dist/pcm-agents/{p-0d795f3f.entry.js.map → p-6037c915.entry.js.map} +0 -0
  147. /package/dist/pcm-agents/{p-730afd8d.entry.js.map → p-7a6267c2.entry.js.map} +0 -0
  148. /package/dist/pcm-agents/{p-86721538.entry.js.map → p-da967a8c.entry.js.map} +0 -0
@@ -1,2 +1,2 @@
1
- import{a as e,f as t}from"./p-Bq0K-WqZ.js";const o="https://api.pincaimao.com/agents/platform";const n="https://www.pincaimao.com";const r=(e,t,o)=>{const n=e.get(t);if(!n){e.set(t,[o])}else if(!n.includes(o)){n.push(o)}};const s=(e,t)=>{let o;return(...n)=>{if(o){clearTimeout(o)}o=setTimeout((()=>{o=0;e(...n)}),t)}};const a=e=>!("isConnected"in e)||e.isConnected;const c=s((e=>{for(let t of e.keys()){e.set(t,e.get(t).filter(a))}}),2e3);const i=()=>{if(typeof e!=="function"){return{}}const o=new Map;return{dispose:()=>o.clear(),get:t=>{const n=e();if(n){r(o,t,n)}},set:e=>{const n=o.get(e);if(n){o.set(e,n.filter(t))}c(o)},reset:()=>{o.forEach((e=>e.forEach(t)));c(o)}}};const u=e=>typeof e==="function"?e():e;const l=(e,t=(e,t)=>e!==t)=>{const o=u(e);let n=new Map(Object.entries(o??{}));const r={dispose:[],get:[],set:[],reset:[]};const s=()=>{n=new Map(Object.entries(u(e)??{}));r.reset.forEach((e=>e()))};const a=()=>{r.dispose.forEach((e=>e()));s()};const c=e=>{r.get.forEach((t=>t(e)));return n.get(e)};const i=(e,o)=>{const s=n.get(e);if(t(o,s,e)){n.set(e,o);r.set.forEach((t=>t(e,o,s)))}};const l=typeof Proxy==="undefined"?{}:new Proxy(o,{get(e,t){return c(t)},ownKeys(e){return Array.from(n.keys())},getOwnPropertyDescriptor(){return{enumerable:true,configurable:true}},has(e,t){return n.has(t)},set(e,t,o){i(t,o);return true}});const f=(e,t)=>{r[e].push(t);return()=>{d(r[e],t)}};const h=(t,o)=>{const n=f("set",((e,n)=>{if(e===t){o(n)}}));const r=f("reset",(()=>o(u(e)[t])));return()=>{n();r()}};const w=(...e)=>{const t=e.reduce(((e,t)=>{if(t.set){e.push(f("set",t.set))}if(t.get){e.push(f("get",t.get))}if(t.reset){e.push(f("reset",t.reset))}if(t.dispose){e.push(f("dispose",t.dispose))}return e}),[]);return()=>t.forEach((e=>e()))};const m=e=>{const t=n.get(e);r.set.forEach((o=>o(e,t,t)))};return{state:l,get:c,set:i,on:f,onChange:h,use:w,dispose:a,reset:s,forceUpdate:m}};const d=(e,t)=>{const o=e.indexOf(t);if(o>=0){e[o]=e[e.length-1];e.length--}};const f=(e,t)=>{const o=l(e,t);o.use(i());return o};const{state:h,onChange:w}=f({token:localStorage.getItem("pcm-sdk-auth-token")||null});const m={getToken:()=>h.token,setToken:e=>{h.token=e;localStorage.setItem("pcm-sdk-auth-token",e)},clearToken:()=>{h.token=null;localStorage.removeItem("pcm-sdk-auth-token")}};w("token",(e=>{if(e){localStorage.setItem("pcm-sdk-auth-token",e)}else{localStorage.removeItem("pcm-sdk-auth-token")}}));const p=()=>{try{const e=localStorage.getItem("pcm-sdk-config-data");return e?JSON.parse(e):{}}catch(e){console.error("Error parsing stored config:",e);return{}}};const{state:y,onChange:g}=f({data:p()});const k={getConfig:()=>y.data,getItem:(e,t)=>y.data[e]!==undefined?y.data[e]:t,setItem:(e,t)=>{y.data={...y.data,[e]:t}},removeItem:e=>{const t={...y.data};delete t[e];y.data=t},clear:()=>{y.data={}},updateConfig:e=>{y.data={...y.data,...e}}};g("data",(e=>{try{if(Object.keys(e).length>0){localStorage.setItem("pcm-sdk-config-data",JSON.stringify(e))}else{localStorage.removeItem("pcm-sdk-config-data")}}catch(e){console.error("Error saving config to localStorage:",e)}}));const T="0.6.62";function S(e,t,o){return(e||"")+(t?` ${t}`:"")+(o?` ${o}`:"")}const E=()=>m.getToken()||"";const $=3*60*1e3;const v=async(e,t,o=$)=>{const n=new AbortController;const r=setTimeout((()=>n.abort()),o);try{const o=await fetch(e,{...t,signal:n.signal});clearTimeout(r);return o}catch(e){clearTimeout(r);if(e instanceof Error&&e.name==="AbortError"){throw new Error("请求超时,请检查网络连接后重试")}throw e}};const b=async(e,t=false)=>{const{url:n,method:r,headers:s={},data:a,onMessage:c,onError:i,onComplete:u}=e;try{const i=`${o}${n}`;if(!s["authorization"]&&!s["Authorization"]){const e=E();if(e){s["authorization"]=`Bearer ${e}`}}const l=await v(i,{method:r,headers:{Accept:"text/event-stream","Content-Type":"application/json",...s},body:a?JSON.stringify(a):undefined});if(l.status===401){P();if(!t){return b(e,true)}}if(!l.ok){console.error(`HTTP error! status: ${l.status}`)}const d=l.body?.getReader();if(!d)throw new Error("No reader available");const f=new TextDecoder;let h="";while(true){const{value:e,done:t}=await d.read();if(t)break;h+=f.decode(e,{stream:true});const o=h.split("\n");h=o.pop()||"";for(const e of o){if(e.startsWith("data:")){try{const t=e.substring(5).trim();if(!t)continue;const o=JSON.parse(t);c?.(o)}catch(t){console.error("解析 SSE 数据错误:",t,"原始数据:",e)}}}}u?.()}catch(o){console.error("SSE 请求错误:",o);if(!t){return b(e,true)}i?.(o)}};const P=()=>{const e=new CustomEvent("pcm-token-invalid",{bubbles:true,composed:true,detail:{timestamp:(new Date).getTime()}});document.dispatchEvent(e)};const M=async(e,t=true)=>{const{url:n,method:r="GET",headers:s={},params:a={},data:c,formData:i,onMessage:u}=e;try{const l=new URLSearchParams;Object.entries(a).forEach((([e,t])=>{if(t!==undefined&&t!==null){l.append(e,String(t))}}));let d=`${o}${n}${l.toString()?`?${l.toString()}`:""}`;if(s["authorization"]==undefined&&s["Authorization"]==undefined){const e=E();if(e){s["authorization"]=`Bearer ${e}`}}const f={method:r,headers:i?{...s}:{"Content-Type":"application/json",...s}};if(i){f.body=i}else if(r!=="GET"&&r!=="HEAD"&&c){f.body=JSON.stringify(c)}if(r==="GET"&&c){const e=new URLSearchParams;Object.entries(c).forEach((([t,o])=>{if(o!==undefined&&o!==null){e.append(t,String(o))}}));d+=(l.toString()?"&":"?")+e.toString()}const h=await v(d,f);if(h.status===401){P();if(t){return M(e,false)}}const w=await h.json();if(u){u(w)}if(!h.ok){console.error(`HTTP错误: ${h.status} ${h.statusText}`);return{success:false,message:w.message||`HTTP错误: ${h.status}`,error:w}}if(w.code!==0){console.error(`API错误: ${w.message}`);return{success:false,message:w.message,error:w}}return{success:true,data:w.data}}catch(o){console.error("HTTP请求错误:",o);if(t){return M(e,false)}if(e.onError){e.onError(o)}return{success:false,error:o,message:o instanceof Error?o.message:"未知错误"}}finally{if(e.onComplete){e.onComplete()}}};const O=async e=>{const t=await M({url:"/sdk/v1/user",method:"GET",headers:{Authorization:`Bearer ${e}`},data:{sdk_version:T}},false);if(!t.success&&t.error&&t.error.code===401){return false}else{k.setItem("pcm-sdk-CUser",`${t.data.user}(${t.data.chat_user})`);return t.success}};const _=async e=>{if(!e){throw new Error("智能体ID不能为空")}try{const t=await M({url:`/sdk/v1/agent/${e}/info`,method:"GET"});if(!t.success){throw new Error(t.message||"获取智能体信息失败")}return t.data}catch(e){console.error("获取智能体信息失败:",e);throw e}};var A;(function(e){e["Init"]="init";e["Uploading"]="uploading";e["Success"]="success";e["Failed"]="failed"})(A||(A={}));const C=async e=>new Promise(((t,o)=>{const n=new FileReader;n.onload=async e=>{try{const o=e.target?.result;const n=await crypto.subtle.digest("SHA-256",o);const r=Array.from(new Uint8Array(n));const s=r.map((e=>e.toString(16).padStart(2,"0"))).join("");t(s)}catch(e){o(e)}};n.onerror=()=>o(new Error("读取文件失败"));n.readAsArrayBuffer(e)}));const I=async(e,t,o="application/octet-stream",n=2)=>{let r=0;while(true){try{const n=await v(e,{method:"PUT",body:t,headers:{"Content-Type":o}});if(!n.ok){throw new Error(`文件上传失败: ${n.status} ${n.statusText}`)}return n}catch(e){r++;console.error(`文件上传错误(尝试 ${r}/${n}):`,e);if(r>=n){throw e}}}};const R=async(e,t,o)=>{try{const n=await C(e);const r=await M({url:"/sdk/v1/files/generate-upload-url",method:"POST",data:{...o,filename:e.name,filesize:e.size,sha256:n},headers:t});if(!r.success||!r.data){throw new Error(r.message||"获取上传URL失败")}const s=r.data;if(s.is_deleted!=1){const o=await I(s.upload_url,e,s.content_type||"application/octet-stream");if(!o.ok){throw new Error(`文件上传到腾讯云失败: ${o.status} ${o.statusText}`)}M({url:"/sdk/v1/files/mark-as-upload",method:"POST",data:{cos_key:s.cos.cos_key},headers:t})}return{cos_key:s.cos.cos_key,file_name:s.filename,file_size:s.filesize,ext:s.filetype}}catch(e){console.error("文件上传错误:",e);throw e}};const U=async(e,t,n=false)=>{const r=E();if(!r){throw new Error("API密钥不能为空")}try{const s=await v(`${o}/sdk/v1/tts/synthesize_audio`,{method:"POST",headers:{"Content-Type":"application/json",authorization:"Bearer "+r},body:JSON.stringify({text:e})});if(s.status===401){P();if(!n){return U(e,t,true)}}if(!s.ok){throw new Error("语音合成失败")}const a=await s.blob();return URL.createObjectURL(a)}catch(o){console.error("语音合成错误:",o);if(!n){return U(e,t,true)}throw o}};const j=async(e,t)=>{try{const o=await M({url:"/sdk/v1/files/presigned-url",method:"GET",params:{cos_key:e},headers:t});if(o.success&&o.data?.file_url){return o.data.file_url}return null}catch(e){console.error("获取预签名URL失败:",e);return null}};const B=async(e,t)=>{try{const o=await j(e,t);if(o){return`${o}${o.includes("?")?"&":"?"}ci-process=doc-preview&copyable=1&dstType=html`}return null}catch(e){console.error("获取预览URL失败:",e);return null}};const N=e=>{if(!e&&e!==0){return null}const t=Number(e);if(isNaN(t))return null;if(e<1024){return e+"B"}if(e<1024*1024){return(e/1024).toFixed(1)+"KB"}return(e/1024/1024).toFixed(1)+"MB"};const x=()=>{const e=navigator.userAgent;const t=["Android","iPhone","iPad","iPod","Windows Phone","BlackBerry","SymbianOS","MicroMessenger"];let o=false;for(let n=0;n<t.length;n++){if(e.indexOf(t[n])>-1){o=true;break}}if(!o){o=window.innerWidth<768}return o};const L=()=>{const e=["video/webm;codecs=vp8,opus","video/webm;codecs=vp9,opus","video/webm","video/mp4","video/mp4;codecs=h264,aac",""];if(!window.MediaRecorder){console.warn("MediaRecorder API不可用");return""}for(const t of e){if(!t)return"";try{if(MediaRecorder.isTypeSupported(t)){return t}}catch(e){console.warn(`检查MIME类型支持时出错 ${t}:`,e)}}console.warn("没有找到支持的MIME类型,将使用浏览器默认值");return""};const z=()=>{const e=["audio/webm;codecs=opus","audio/webm","audio/mp4","audio/ogg;codecs=opus","audio/ogg",""];if(!window.MediaRecorder){console.warn("MediaRecorder API不可用");return""}for(const t of e){if(!t)return"";try{if(MediaRecorder.isTypeSupported(t)){return t}}catch(e){console.warn(`检查音频MIME类型支持时出错 ${t}:`,e)}}console.warn("没有找到支持的音频MIME类型,将使用浏览器默认值");return""};const G=async e=>{try{const t=await M({url:"/sdk/v1/tts/audio_to_text",method:"POST",data:{cos_key:e}});if(t.success&&t.data&&t.data.text){return t.data.text}else{console.warn("音频转文字返回结果格式不正确");return null}}catch(e){console.error("音频转文字错误:",e);throw new Error("音频转文字失败")}};const D=async(e,t=0)=>{try{const o=await M({url:"/sdk/v1/send_sms_code",method:"POST",data:{mobile:e,code_type:t}});return o}catch(e){console.error("发送短信验证码错误:",e);throw e}};const H=async(e,t,o=0)=>{try{const n=await M({url:"/sdk/v1/verify_sms_code",method:"POST",params:{mobile:e,code:t,code_type:o}});return n}catch(e){console.error("校验短信验证码错误:",e);throw e}};const J=async e=>{const{oemId:t,page:o=1,pageSize:n=10,keyword:r}=e;try{const e=new URLSearchParams;e.append("page",o.toString());e.append("page_size",n.toString());if(r){e.append("keyword",r)}const s=await M({url:`/sdk/v1/oem/${t}/positions?${e.toString()}`,method:"GET"});return s}catch(e){console.error("获取OEM职位列表错误:",e);throw e}};const q=async(e,t)=>{try{const o=await M({url:"/sdk/v1/files/upload-by-url",method:"POST",data:e,headers:t});return o}catch(e){console.error("通过URL上传文件错误:",e);throw e}};export{A as F,n as P,m as a,M as b,k as c,U as d,D as e,H as f,B as g,q as h,J as i,_ as j,L as k,G as l,z as m,j as n,x as o,N as p,S as q,b as s,R as u,O as v};
2
- //# sourceMappingURL=p-DU3DLNhC.js.map
1
+ import{a as e,f as t}from"./p-Bq0K-WqZ.js";const o="https://api.pincaimao.com/agents/platform";const n="https://www.pincaimao.com";const r=(e,t,o)=>{const n=e.get(t);if(!n){e.set(t,[o])}else if(!n.includes(o)){n.push(o)}};const s=(e,t)=>{let o;return(...n)=>{if(o){clearTimeout(o)}o=setTimeout((()=>{o=0;e(...n)}),t)}};const a=e=>!("isConnected"in e)||e.isConnected;const c=s((e=>{for(let t of e.keys()){e.set(t,e.get(t).filter(a))}}),2e3);const i=()=>{if(typeof e!=="function"){return{}}const o=new Map;return{dispose:()=>o.clear(),get:t=>{const n=e();if(n){r(o,t,n)}},set:e=>{const n=o.get(e);if(n){o.set(e,n.filter(t))}c(o)},reset:()=>{o.forEach((e=>e.forEach(t)));c(o)}}};const u=e=>typeof e==="function"?e():e;const l=(e,t=(e,t)=>e!==t)=>{const o=u(e);let n=new Map(Object.entries(o??{}));const r={dispose:[],get:[],set:[],reset:[]};const s=()=>{n=new Map(Object.entries(u(e)??{}));r.reset.forEach((e=>e()))};const a=()=>{r.dispose.forEach((e=>e()));s()};const c=e=>{r.get.forEach((t=>t(e)));return n.get(e)};const i=(e,o)=>{const s=n.get(e);if(t(o,s,e)){n.set(e,o);r.set.forEach((t=>t(e,o,s)))}};const l=typeof Proxy==="undefined"?{}:new Proxy(o,{get(e,t){return c(t)},ownKeys(e){return Array.from(n.keys())},getOwnPropertyDescriptor(){return{enumerable:true,configurable:true}},has(e,t){return n.has(t)},set(e,t,o){i(t,o);return true}});const f=(e,t)=>{r[e].push(t);return()=>{d(r[e],t)}};const h=(t,o)=>{const n=f("set",((e,n)=>{if(e===t){o(n)}}));const r=f("reset",(()=>o(u(e)[t])));return()=>{n();r()}};const w=(...e)=>{const t=e.reduce(((e,t)=>{if(t.set){e.push(f("set",t.set))}if(t.get){e.push(f("get",t.get))}if(t.reset){e.push(f("reset",t.reset))}if(t.dispose){e.push(f("dispose",t.dispose))}return e}),[]);return()=>t.forEach((e=>e()))};const m=e=>{const t=n.get(e);r.set.forEach((o=>o(e,t,t)))};return{state:l,get:c,set:i,on:f,onChange:h,use:w,dispose:a,reset:s,forceUpdate:m}};const d=(e,t)=>{const o=e.indexOf(t);if(o>=0){e[o]=e[e.length-1];e.length--}};const f=(e,t)=>{const o=l(e,t);o.use(i());return o};const{state:h,onChange:w}=f({token:localStorage.getItem("pcm-sdk-auth-token")||null});const m={getToken:()=>h.token,setToken:e=>{h.token=e;localStorage.setItem("pcm-sdk-auth-token",e)},clearToken:()=>{h.token=null;localStorage.removeItem("pcm-sdk-auth-token")}};w("token",(e=>{if(e){localStorage.setItem("pcm-sdk-auth-token",e)}else{localStorage.removeItem("pcm-sdk-auth-token")}}));const p=()=>{try{const e=localStorage.getItem("pcm-sdk-config-data");return e?JSON.parse(e):{}}catch(e){console.error("Error parsing stored config:",e);return{}}};const{state:y,onChange:g}=f({data:p()});const k={getConfig:()=>y.data,getItem:(e,t)=>y.data[e]!==undefined?y.data[e]:t,setItem:(e,t)=>{y.data={...y.data,[e]:t}},removeItem:e=>{const t={...y.data};delete t[e];y.data=t},clear:()=>{y.data={}},updateConfig:e=>{y.data={...y.data,...e}}};g("data",(e=>{try{if(Object.keys(e).length>0){localStorage.setItem("pcm-sdk-config-data",JSON.stringify(e))}else{localStorage.removeItem("pcm-sdk-config-data")}}catch(e){console.error("Error saving config to localStorage:",e)}}));const T="0.6.63";function S(e,t,o){return(e||"")+(t?` ${t}`:"")+(o?` ${o}`:"")}const E=()=>m.getToken()||"";const $=3*60*1e3;const v=async(e,t,o=$)=>{const n=new AbortController;const r=setTimeout((()=>n.abort()),o);try{const o=await fetch(e,{...t,signal:n.signal});clearTimeout(r);return o}catch(e){clearTimeout(r);if(e instanceof Error&&e.name==="AbortError"){throw new Error("请求超时,请检查网络连接后重试")}throw e}};const b=async(e,t=false)=>{const{url:n,method:r,headers:s={},data:a,onMessage:c,onError:i,onComplete:u}=e;try{const i=`${o}${n}`;if(!s["authorization"]&&!s["Authorization"]){const e=E();if(e){s["authorization"]=`Bearer ${e}`}}const l=await v(i,{method:r,headers:{Accept:"text/event-stream","Content-Type":"application/json",...s},body:a?JSON.stringify(a):undefined});if(l.status===401){P();if(!t){return b(e,true)}}if(!l.ok){console.error(`HTTP error! status: ${l.status}`)}const d=l.body?.getReader();if(!d)throw new Error("No reader available");const f=new TextDecoder;let h="";while(true){const{value:e,done:t}=await d.read();if(t)break;h+=f.decode(e,{stream:true});const o=h.split("\n");h=o.pop()||"";for(const e of o){if(e.startsWith("data:")){try{const t=e.substring(5).trim();if(!t)continue;const o=JSON.parse(t);c?.(o)}catch(t){console.error("解析 SSE 数据错误:",t,"原始数据:",e)}}}}u?.()}catch(o){console.error("SSE 请求错误:",o);if(!t){return b(e,true)}i?.(o)}};const P=()=>{const e=new CustomEvent("pcm-token-invalid",{bubbles:true,composed:true,detail:{timestamp:(new Date).getTime()}});document.dispatchEvent(e)};const M=async(e,t=true)=>{const{url:n,method:r="GET",headers:s={},params:a={},data:c,formData:i,onMessage:u}=e;try{const l=new URLSearchParams;Object.entries(a).forEach((([e,t])=>{if(t!==undefined&&t!==null){l.append(e,String(t))}}));let d=`${o}${n}${l.toString()?`?${l.toString()}`:""}`;if(s["authorization"]==undefined&&s["Authorization"]==undefined){const e=E();if(e){s["authorization"]=`Bearer ${e}`}}const f={method:r,headers:i?{...s}:{"Content-Type":"application/json",...s}};if(i){f.body=i}else if(r!=="GET"&&r!=="HEAD"&&c){f.body=JSON.stringify(c)}if(r==="GET"&&c){const e=new URLSearchParams;Object.entries(c).forEach((([t,o])=>{if(o!==undefined&&o!==null){e.append(t,String(o))}}));d+=(l.toString()?"&":"?")+e.toString()}const h=await v(d,f);if(h.status===401){P();if(t){return M(e,false)}}const w=await h.json();if(u){u(w)}if(!h.ok){console.error(`HTTP错误: ${h.status} ${h.statusText}`);return{success:false,message:w.message||`HTTP错误: ${h.status}`,error:w}}if(w.code!==0){console.error(`API错误: ${w.message}`);return{success:false,message:w.message,error:w}}return{success:true,data:w.data}}catch(o){console.error("HTTP请求错误:",o);if(t){return M(e,false)}if(e.onError){e.onError(o)}return{success:false,error:o,message:o instanceof Error?o.message:"未知错误"}}finally{if(e.onComplete){e.onComplete()}}};const O=async e=>{const t=await M({url:"/sdk/v1/user",method:"GET",headers:{Authorization:`Bearer ${e}`},data:{sdk_version:T}},false);if(!t.success&&t.error&&t.error.code===401){return false}else{k.setItem("pcm-sdk-CUser",`${t.data.user}(${t.data.chat_user})`);return t.success}};const _=async e=>{if(!e){throw new Error("智能体ID不能为空")}try{const t=await M({url:`/sdk/v1/agent/${e}/info`,method:"GET"});if(!t.success){throw new Error(t.message||"获取智能体信息失败")}return t.data}catch(e){console.error("获取智能体信息失败:",e);throw e}};var A;(function(e){e["Init"]="init";e["Uploading"]="uploading";e["Success"]="success";e["Failed"]="failed"})(A||(A={}));const C=async e=>new Promise(((t,o)=>{const n=new FileReader;n.onload=async e=>{try{const o=e.target?.result;const n=await crypto.subtle.digest("SHA-256",o);const r=Array.from(new Uint8Array(n));const s=r.map((e=>e.toString(16).padStart(2,"0"))).join("");t(s)}catch(e){o(e)}};n.onerror=()=>o(new Error("读取文件失败"));n.readAsArrayBuffer(e)}));const I=async(e,t,o="application/octet-stream",n=2)=>{let r=0;while(true){try{const n=await v(e,{method:"PUT",body:t,headers:{"Content-Type":o}});if(!n.ok){throw new Error(`文件上传失败: ${n.status} ${n.statusText}`)}return n}catch(e){r++;console.error(`文件上传错误(尝试 ${r}/${n}):`,e);if(r>=n){throw e}}}};const R=async(e,t,o)=>{try{const n=await C(e);const r=await M({url:"/sdk/v1/files/generate-upload-url",method:"POST",data:{...o,filename:e.name,filesize:e.size,sha256:n},headers:t});if(!r.success||!r.data){throw new Error(r.message||"获取上传URL失败")}const s=r.data;if(s.is_deleted!=1){const o=await I(s.upload_url,e,s.content_type||"application/octet-stream");if(!o.ok){throw new Error(`文件上传到腾讯云失败: ${o.status} ${o.statusText}`)}M({url:"/sdk/v1/files/mark-as-upload",method:"POST",data:{cos_key:s.cos.cos_key},headers:t})}return{cos_key:s.cos.cos_key,file_name:s.filename,file_size:s.filesize,ext:s.filetype}}catch(e){console.error("文件上传错误:",e);throw e}};const U=async(e,t,n=false)=>{const r=E();if(!r){throw new Error("API密钥不能为空")}try{const s=await v(`${o}/sdk/v1/tts/synthesize_audio`,{method:"POST",headers:{"Content-Type":"application/json",authorization:"Bearer "+r},body:JSON.stringify({text:e})});if(s.status===401){P();if(!n){return U(e,t,true)}}if(!s.ok){throw new Error("语音合成失败")}const a=await s.blob();return URL.createObjectURL(a)}catch(o){console.error("语音合成错误:",o);if(!n){return U(e,t,true)}throw o}};const j=async(e,t)=>{try{const o=await M({url:"/sdk/v1/files/presigned-url",method:"GET",params:{cos_key:e},headers:t});if(o.success&&o.data?.file_url){return o.data.file_url}return null}catch(e){console.error("获取预签名URL失败:",e);return null}};const B=async(e,t)=>{try{const o=await j(e,t);if(o){return`${o}${o.includes("?")?"&":"?"}ci-process=doc-preview&copyable=1&dstType=html`}return null}catch(e){console.error("获取预览URL失败:",e);return null}};const N=e=>{if(!e&&e!==0){return null}const t=Number(e);if(isNaN(t))return null;if(e<1024){return e+"B"}if(e<1024*1024){return(e/1024).toFixed(1)+"KB"}return(e/1024/1024).toFixed(1)+"MB"};const x=()=>{const e=navigator.userAgent;const t=["Android","iPhone","iPad","iPod","Windows Phone","BlackBerry","SymbianOS","MicroMessenger"];let o=false;for(let n=0;n<t.length;n++){if(e.indexOf(t[n])>-1){o=true;break}}if(!o){o=window.innerWidth<768}return o};const L=()=>{const e=["video/webm;codecs=vp8,opus","video/webm;codecs=vp9,opus","video/webm","video/mp4","video/mp4;codecs=h264,aac",""];if(!window.MediaRecorder){console.warn("MediaRecorder API不可用");return""}for(const t of e){if(!t)return"";try{if(MediaRecorder.isTypeSupported(t)){return t}}catch(e){console.warn(`检查MIME类型支持时出错 ${t}:`,e)}}console.warn("没有找到支持的MIME类型,将使用浏览器默认值");return""};const z=()=>{const e=["audio/webm;codecs=opus","audio/webm","audio/mp4","audio/ogg;codecs=opus","audio/ogg",""];if(!window.MediaRecorder){console.warn("MediaRecorder API不可用");return""}for(const t of e){if(!t)return"";try{if(MediaRecorder.isTypeSupported(t)){return t}}catch(e){console.warn(`检查音频MIME类型支持时出错 ${t}:`,e)}}console.warn("没有找到支持的音频MIME类型,将使用浏览器默认值");return""};const G=async e=>{try{const t=await M({url:"/sdk/v1/tts/audio_to_text",method:"POST",data:{cos_key:e}});if(t.success&&t.data&&t.data.text){return t.data.text}else{console.warn("音频转文字返回结果格式不正确");return null}}catch(e){console.error("音频转文字错误:",e);throw new Error("音频转文字失败")}};const D=async(e,t=0)=>{try{const o=await M({url:"/sdk/v1/send_sms_code",method:"POST",data:{mobile:e,code_type:t}});return o}catch(e){console.error("发送短信验证码错误:",e);throw e}};const H=async(e,t,o=0)=>{try{const n=await M({url:"/sdk/v1/verify_sms_code",method:"POST",params:{mobile:e,code:t,code_type:o}});return n}catch(e){console.error("校验短信验证码错误:",e);throw e}};const J=async e=>{const{oemId:t,page:o=1,pageSize:n=10,keyword:r}=e;try{const e=new URLSearchParams;e.append("page",o.toString());e.append("page_size",n.toString());if(r){e.append("keyword",r)}const s=await M({url:`/sdk/v1/oem/${t}/positions?${e.toString()}`,method:"GET"});return s}catch(e){console.error("获取OEM职位列表错误:",e);throw e}};const q=async(e,t)=>{try{const o=await M({url:"/sdk/v1/files/upload-by-url",method:"POST",data:e,headers:t});return o}catch(e){console.error("通过URL上传文件错误:",e);throw e}};export{A as F,n as P,m as a,M as b,k as c,U as d,D as e,H as f,B as g,q as h,J as i,_ as j,L as k,G as l,z as m,j as n,x as o,N as p,S as q,b as s,R as u,O as v};
2
+ //# sourceMappingURL=p-WTSeW6oH.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"p-DU3DLNhC.js","sources":["src/utils/env.ts","node_modules/.pnpm/@stencil+store@2.1.3_@stencil+core@4.31.0/node_modules/@stencil/store/dist/index.js","store/auth.store.ts","store/config.store.ts"],"sourcesContent":["// 默认 API 域名\r\nconst DEFAULT_API_DOMAIN = 'https://api.pincaimao.com/agents/platform';\r\nconst DEFAULT_PCM_DOMAIN = 'https://www.pincaimao.com';\r\n\r\n\r\n// 从环境变量获取 API 域名,如果未设置则使用默认值\r\nexport const API_DOMAIN = process.env.API_DOMAIN || DEFAULT_API_DOMAIN;\r\nexport const PCM_DOMAIN = process.env.PCM_DOMAIN || DEFAULT_PCM_DOMAIN;\r\n\r\n// 导出其他环境变量\r\nexport const ENV = {\r\n API_DOMAIN,\r\n PCM_DOMAIN,\r\n // 可以添加其他环境变量\r\n}; ","import { getRenderingRef, forceUpdate } from '@stencil/core';\n\nconst appendToMap = (map, propName, value) => {\n const items = map.get(propName);\n if (!items) {\n map.set(propName, [value]);\n }\n else if (!items.includes(value)) {\n items.push(value);\n }\n};\nconst debounce = (fn, ms) => {\n let timeoutId;\n return (...args) => {\n if (timeoutId) {\n clearTimeout(timeoutId);\n }\n timeoutId = setTimeout(() => {\n timeoutId = 0;\n fn(...args);\n }, ms);\n };\n};\n\n/**\n * Check if a possible element isConnected.\n * The property might not be there, so we check for it.\n *\n * We want it to return true if isConnected is not a property,\n * otherwise we would remove these elements and would not update.\n *\n * Better leak in Edge than to be useless.\n */\nconst isConnected = (maybeElement) => !('isConnected' in maybeElement) || maybeElement.isConnected;\nconst cleanupElements = debounce((map) => {\n for (let key of map.keys()) {\n map.set(key, map.get(key).filter(isConnected));\n }\n}, 2_000);\nconst stencilSubscription = () => {\n if (typeof getRenderingRef !== 'function') {\n // If we are not in a stencil project, we do nothing.\n // This function is not really exported by @stencil/core.\n return {};\n }\n const elmsToUpdate = new Map();\n return {\n dispose: () => elmsToUpdate.clear(),\n get: (propName) => {\n const elm = getRenderingRef();\n if (elm) {\n appendToMap(elmsToUpdate, propName, elm);\n }\n },\n set: (propName) => {\n const elements = elmsToUpdate.get(propName);\n if (elements) {\n elmsToUpdate.set(propName, elements.filter(forceUpdate));\n }\n cleanupElements(elmsToUpdate);\n },\n reset: () => {\n elmsToUpdate.forEach((elms) => elms.forEach(forceUpdate));\n cleanupElements(elmsToUpdate);\n },\n };\n};\n\nconst unwrap = (val) => (typeof val === 'function' ? val() : val);\nconst createObservableMap = (defaultState, shouldUpdate = (a, b) => a !== b) => {\n const unwrappedState = unwrap(defaultState);\n let states = new Map(Object.entries(unwrappedState ?? {}));\n const handlers = {\n dispose: [],\n get: [],\n set: [],\n reset: [],\n };\n const reset = () => {\n // When resetting the state, the default state may be a function - unwrap it to invoke it.\n // otherwise, the state won't be properly reset\n states = new Map(Object.entries(unwrap(defaultState) ?? {}));\n handlers.reset.forEach((cb) => cb());\n };\n const dispose = () => {\n // Call first dispose as resetting the state would\n // cause less updates ;)\n handlers.dispose.forEach((cb) => cb());\n reset();\n };\n const get = (propName) => {\n handlers.get.forEach((cb) => cb(propName));\n return states.get(propName);\n };\n const set = (propName, value) => {\n const oldValue = states.get(propName);\n if (shouldUpdate(value, oldValue, propName)) {\n states.set(propName, value);\n handlers.set.forEach((cb) => cb(propName, value, oldValue));\n }\n };\n const state = (typeof Proxy === 'undefined'\n ? {}\n : new Proxy(unwrappedState, {\n get(_, propName) {\n return get(propName);\n },\n ownKeys(_) {\n return Array.from(states.keys());\n },\n getOwnPropertyDescriptor() {\n return {\n enumerable: true,\n configurable: true,\n };\n },\n has(_, propName) {\n return states.has(propName);\n },\n set(_, propName, value) {\n set(propName, value);\n return true;\n },\n }));\n const on = (eventName, callback) => {\n handlers[eventName].push(callback);\n return () => {\n removeFromArray(handlers[eventName], callback);\n };\n };\n const onChange = (propName, cb) => {\n const unSet = on('set', (key, newValue) => {\n if (key === propName) {\n cb(newValue);\n }\n });\n // We need to unwrap the defaultState because it might be a function.\n // Otherwise we might not be sending the right reset value.\n const unReset = on('reset', () => cb(unwrap(defaultState)[propName]));\n return () => {\n unSet();\n unReset();\n };\n };\n const use = (...subscriptions) => {\n const unsubs = subscriptions.reduce((unsubs, subscription) => {\n if (subscription.set) {\n unsubs.push(on('set', subscription.set));\n }\n if (subscription.get) {\n unsubs.push(on('get', subscription.get));\n }\n if (subscription.reset) {\n unsubs.push(on('reset', subscription.reset));\n }\n if (subscription.dispose) {\n unsubs.push(on('dispose', subscription.dispose));\n }\n return unsubs;\n }, []);\n return () => unsubs.forEach((unsub) => unsub());\n };\n const forceUpdate = (key) => {\n const oldValue = states.get(key);\n handlers.set.forEach((cb) => cb(key, oldValue, oldValue));\n };\n return {\n state,\n get,\n set,\n on,\n onChange,\n use,\n dispose,\n reset,\n forceUpdate,\n };\n};\nconst removeFromArray = (array, item) => {\n const index = array.indexOf(item);\n if (index >= 0) {\n array[index] = array[array.length - 1];\n array.length--;\n }\n};\n\nconst createStore = (defaultState, shouldUpdate) => {\n const map = createObservableMap(defaultState, shouldUpdate);\n map.use(stencilSubscription());\n return map;\n};\n\nexport { createObservableMap, createStore };\n","// src/store/auth.store.ts\r\nimport { createStore } from '@stencil/store';\r\n\r\nexport const { state: authState, onChange } = createStore({\r\n token: localStorage.getItem('pcm-sdk-auth-token') || null\r\n});\r\n\r\n// 添加一些辅助方法\r\nexport const authStore = {\r\n getToken: () => authState.token,\r\n setToken: (token: string) => {\r\n authState.token = token;\r\n localStorage.setItem('pcm-sdk-auth-token', token);\r\n },\r\n clearToken: () => {\r\n authState.token = null;\r\n localStorage.removeItem('pcm-sdk-auth-token');\r\n }\r\n};\r\n\r\n// 自动保存到localStorage\r\nonChange('token', value => {\r\n if (value) {\r\n localStorage.setItem('pcm-sdk-auth-token', value);\r\n } else {\r\n localStorage.removeItem('pcm-sdk-auth-token');\r\n }\r\n});","import { createStore } from '@stencil/store';\r\n\r\n// 定义配置数据的类型\r\nexport interface ConfigData {\r\n [key: string]: any;\r\n}\r\n\r\n// 从localStorage获取初始配置\r\nconst getInitialConfig = (): ConfigData => {\r\n try {\r\n const storedConfig = localStorage.getItem('pcm-sdk-config-data');\r\n return storedConfig ? JSON.parse(storedConfig) : {};\r\n } catch (error) {\r\n console.error('Error parsing stored config:', error);\r\n return {};\r\n }\r\n};\r\n\r\n// 创建配置存储\r\nexport const { state: configState, onChange } = createStore<{\r\n data: ConfigData;\r\n}>({\r\n data: getInitialConfig()\r\n});\r\n\r\n// 配置存储的辅助方法\r\nexport const configStore = {\r\n // 获取整个配置对象\r\n getConfig: (): ConfigData => configState.data,\r\n \r\n // 获取特定配置项\r\n getItem: <T>(key: string, defaultValue?: T): T => {\r\n return configState.data[key] !== undefined ? configState.data[key] : defaultValue;\r\n },\r\n \r\n // 设置特定配置项\r\n setItem: <T>(key: string, value: T): void => {\r\n configState.data = {\r\n ...configState.data,\r\n [key]: value\r\n };\r\n },\r\n \r\n // 移除特定配置项\r\n removeItem: (key: string): void => {\r\n const newConfig = { ...configState.data };\r\n delete newConfig[key];\r\n configState.data = newConfig;\r\n },\r\n \r\n // 清除所有配置\r\n clear: (): void => {\r\n configState.data = {};\r\n },\r\n \r\n // 批量更新配置\r\n updateConfig: (newConfig: Partial<ConfigData>): void => {\r\n configState.data = {\r\n ...configState.data,\r\n ...newConfig\r\n };\r\n }\r\n};\r\n\r\n// 自动保存到localStorage\r\nonChange('data', value => {\r\n try {\r\n if (Object.keys(value).length > 0) {\r\n localStorage.setItem('pcm-sdk-config-data', JSON.stringify(value));\r\n } else {\r\n localStorage.removeItem('pcm-sdk-config-data');\r\n }\r\n } catch (error) {\r\n console.error('Error saving config to localStorage:', error);\r\n }\r\n}); "],"names":["onChange"],"mappings":"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","x_google_ignoreList":[1]}
1
+ {"version":3,"file":"p-WTSeW6oH.js","sources":["src/utils/env.ts","node_modules/.pnpm/@stencil+store@2.1.3_@stencil+core@4.31.0/node_modules/@stencil/store/dist/index.js","store/auth.store.ts","store/config.store.ts"],"sourcesContent":["// 默认 API 域名\r\nconst DEFAULT_API_DOMAIN = 'https://api.pincaimao.com/agents/platform';\r\nconst DEFAULT_PCM_DOMAIN = 'https://www.pincaimao.com';\r\n\r\n\r\n// 从环境变量获取 API 域名,如果未设置则使用默认值\r\nexport const API_DOMAIN = process.env.API_DOMAIN || DEFAULT_API_DOMAIN;\r\nexport const PCM_DOMAIN = process.env.PCM_DOMAIN || DEFAULT_PCM_DOMAIN;\r\n\r\n// 导出其他环境变量\r\nexport const ENV = {\r\n API_DOMAIN,\r\n PCM_DOMAIN,\r\n // 可以添加其他环境变量\r\n}; ","import { getRenderingRef, forceUpdate } from '@stencil/core';\n\nconst appendToMap = (map, propName, value) => {\n const items = map.get(propName);\n if (!items) {\n map.set(propName, [value]);\n }\n else if (!items.includes(value)) {\n items.push(value);\n }\n};\nconst debounce = (fn, ms) => {\n let timeoutId;\n return (...args) => {\n if (timeoutId) {\n clearTimeout(timeoutId);\n }\n timeoutId = setTimeout(() => {\n timeoutId = 0;\n fn(...args);\n }, ms);\n };\n};\n\n/**\n * Check if a possible element isConnected.\n * The property might not be there, so we check for it.\n *\n * We want it to return true if isConnected is not a property,\n * otherwise we would remove these elements and would not update.\n *\n * Better leak in Edge than to be useless.\n */\nconst isConnected = (maybeElement) => !('isConnected' in maybeElement) || maybeElement.isConnected;\nconst cleanupElements = debounce((map) => {\n for (let key of map.keys()) {\n map.set(key, map.get(key).filter(isConnected));\n }\n}, 2_000);\nconst stencilSubscription = () => {\n if (typeof getRenderingRef !== 'function') {\n // If we are not in a stencil project, we do nothing.\n // This function is not really exported by @stencil/core.\n return {};\n }\n const elmsToUpdate = new Map();\n return {\n dispose: () => elmsToUpdate.clear(),\n get: (propName) => {\n const elm = getRenderingRef();\n if (elm) {\n appendToMap(elmsToUpdate, propName, elm);\n }\n },\n set: (propName) => {\n const elements = elmsToUpdate.get(propName);\n if (elements) {\n elmsToUpdate.set(propName, elements.filter(forceUpdate));\n }\n cleanupElements(elmsToUpdate);\n },\n reset: () => {\n elmsToUpdate.forEach((elms) => elms.forEach(forceUpdate));\n cleanupElements(elmsToUpdate);\n },\n };\n};\n\nconst unwrap = (val) => (typeof val === 'function' ? val() : val);\nconst createObservableMap = (defaultState, shouldUpdate = (a, b) => a !== b) => {\n const unwrappedState = unwrap(defaultState);\n let states = new Map(Object.entries(unwrappedState ?? {}));\n const handlers = {\n dispose: [],\n get: [],\n set: [],\n reset: [],\n };\n const reset = () => {\n // When resetting the state, the default state may be a function - unwrap it to invoke it.\n // otherwise, the state won't be properly reset\n states = new Map(Object.entries(unwrap(defaultState) ?? {}));\n handlers.reset.forEach((cb) => cb());\n };\n const dispose = () => {\n // Call first dispose as resetting the state would\n // cause less updates ;)\n handlers.dispose.forEach((cb) => cb());\n reset();\n };\n const get = (propName) => {\n handlers.get.forEach((cb) => cb(propName));\n return states.get(propName);\n };\n const set = (propName, value) => {\n const oldValue = states.get(propName);\n if (shouldUpdate(value, oldValue, propName)) {\n states.set(propName, value);\n handlers.set.forEach((cb) => cb(propName, value, oldValue));\n }\n };\n const state = (typeof Proxy === 'undefined'\n ? {}\n : new Proxy(unwrappedState, {\n get(_, propName) {\n return get(propName);\n },\n ownKeys(_) {\n return Array.from(states.keys());\n },\n getOwnPropertyDescriptor() {\n return {\n enumerable: true,\n configurable: true,\n };\n },\n has(_, propName) {\n return states.has(propName);\n },\n set(_, propName, value) {\n set(propName, value);\n return true;\n },\n }));\n const on = (eventName, callback) => {\n handlers[eventName].push(callback);\n return () => {\n removeFromArray(handlers[eventName], callback);\n };\n };\n const onChange = (propName, cb) => {\n const unSet = on('set', (key, newValue) => {\n if (key === propName) {\n cb(newValue);\n }\n });\n // We need to unwrap the defaultState because it might be a function.\n // Otherwise we might not be sending the right reset value.\n const unReset = on('reset', () => cb(unwrap(defaultState)[propName]));\n return () => {\n unSet();\n unReset();\n };\n };\n const use = (...subscriptions) => {\n const unsubs = subscriptions.reduce((unsubs, subscription) => {\n if (subscription.set) {\n unsubs.push(on('set', subscription.set));\n }\n if (subscription.get) {\n unsubs.push(on('get', subscription.get));\n }\n if (subscription.reset) {\n unsubs.push(on('reset', subscription.reset));\n }\n if (subscription.dispose) {\n unsubs.push(on('dispose', subscription.dispose));\n }\n return unsubs;\n }, []);\n return () => unsubs.forEach((unsub) => unsub());\n };\n const forceUpdate = (key) => {\n const oldValue = states.get(key);\n handlers.set.forEach((cb) => cb(key, oldValue, oldValue));\n };\n return {\n state,\n get,\n set,\n on,\n onChange,\n use,\n dispose,\n reset,\n forceUpdate,\n };\n};\nconst removeFromArray = (array, item) => {\n const index = array.indexOf(item);\n if (index >= 0) {\n array[index] = array[array.length - 1];\n array.length--;\n }\n};\n\nconst createStore = (defaultState, shouldUpdate) => {\n const map = createObservableMap(defaultState, shouldUpdate);\n map.use(stencilSubscription());\n return map;\n};\n\nexport { createObservableMap, createStore };\n","// src/store/auth.store.ts\r\nimport { createStore } from '@stencil/store';\r\n\r\nexport const { state: authState, onChange } = createStore({\r\n token: localStorage.getItem('pcm-sdk-auth-token') || null\r\n});\r\n\r\n// 添加一些辅助方法\r\nexport const authStore = {\r\n getToken: () => authState.token,\r\n setToken: (token: string) => {\r\n authState.token = token;\r\n localStorage.setItem('pcm-sdk-auth-token', token);\r\n },\r\n clearToken: () => {\r\n authState.token = null;\r\n localStorage.removeItem('pcm-sdk-auth-token');\r\n }\r\n};\r\n\r\n// 自动保存到localStorage\r\nonChange('token', value => {\r\n if (value) {\r\n localStorage.setItem('pcm-sdk-auth-token', value);\r\n } else {\r\n localStorage.removeItem('pcm-sdk-auth-token');\r\n }\r\n});","import { createStore } from '@stencil/store';\r\n\r\n// 定义配置数据的类型\r\nexport interface ConfigData {\r\n [key: string]: any;\r\n}\r\n\r\n// 从localStorage获取初始配置\r\nconst getInitialConfig = (): ConfigData => {\r\n try {\r\n const storedConfig = localStorage.getItem('pcm-sdk-config-data');\r\n return storedConfig ? JSON.parse(storedConfig) : {};\r\n } catch (error) {\r\n console.error('Error parsing stored config:', error);\r\n return {};\r\n }\r\n};\r\n\r\n// 创建配置存储\r\nexport const { state: configState, onChange } = createStore<{\r\n data: ConfigData;\r\n}>({\r\n data: getInitialConfig()\r\n});\r\n\r\n// 配置存储的辅助方法\r\nexport const configStore = {\r\n // 获取整个配置对象\r\n getConfig: (): ConfigData => configState.data,\r\n \r\n // 获取特定配置项\r\n getItem: <T>(key: string, defaultValue?: T): T => {\r\n return configState.data[key] !== undefined ? configState.data[key] : defaultValue;\r\n },\r\n \r\n // 设置特定配置项\r\n setItem: <T>(key: string, value: T): void => {\r\n configState.data = {\r\n ...configState.data,\r\n [key]: value\r\n };\r\n },\r\n \r\n // 移除特定配置项\r\n removeItem: (key: string): void => {\r\n const newConfig = { ...configState.data };\r\n delete newConfig[key];\r\n configState.data = newConfig;\r\n },\r\n \r\n // 清除所有配置\r\n clear: (): void => {\r\n configState.data = {};\r\n },\r\n \r\n // 批量更新配置\r\n updateConfig: (newConfig: Partial<ConfigData>): void => {\r\n configState.data = {\r\n ...configState.data,\r\n ...newConfig\r\n };\r\n }\r\n};\r\n\r\n// 自动保存到localStorage\r\nonChange('data', value => {\r\n try {\r\n if (Object.keys(value).length > 0) {\r\n localStorage.setItem('pcm-sdk-config-data', JSON.stringify(value));\r\n } else {\r\n localStorage.removeItem('pcm-sdk-config-data');\r\n }\r\n } catch (error) {\r\n console.error('Error saving config to localStorage:', error);\r\n }\r\n}); "],"names":["onChange"],"mappings":"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","x_google_ignoreList":[1]}