chainlesschain 0.161.5 → 0.161.6

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 (139) hide show
  1. package/bin/chainlesschain.js +0 -0
  2. package/package.json +1 -1
  3. package/src/assets/web-panel/.build-hash +1 -1
  4. package/src/assets/web-panel/assets/{AIOps-DGVHYt7m.js → AIOps-DfP4dtQA.js} +1 -1
  5. package/src/assets/web-panel/assets/{ActionButton-B3a-9Af9.js → ActionButton-DZdIiY84.js} +1 -1
  6. package/src/assets/web-panel/assets/{Analytics-Bx3Oxl0X.js → Analytics-COxsbvRb.js} +1 -1
  7. package/src/assets/web-panel/assets/{AppLayout-BzejRYN2.js → AppLayout-BKrsihC0.js} +1 -1
  8. package/src/assets/web-panel/assets/{Audit-NY4P1SWh.js → Audit-CNlw6BT8.js} +1 -1
  9. package/src/assets/web-panel/assets/{Backup-DZq4lKGA.js → Backup-DJax1BUm.js} +1 -1
  10. package/src/assets/web-panel/assets/{BaseInput-CdsLMh-s.js → BaseInput-CCc-oGsa.js} +1 -1
  11. package/src/assets/web-panel/assets/Chat-C5_iZkto.js +7 -0
  12. package/src/assets/web-panel/assets/{Chat-D4oAhi11.css → Chat-IlrLB9ZV.css} +1 -1
  13. package/src/assets/web-panel/assets/{Checkbox-C5XnHFiF.js → Checkbox-BqLBbvVu.js} +1 -1
  14. package/src/assets/web-panel/assets/{Codegen-BKxq1Elq.js → Codegen-C_ZHHyn4.js} +1 -1
  15. package/src/assets/web-panel/assets/{Col-9_JZdhJl.js → Col-DY5o3xw5.js} +1 -1
  16. package/src/assets/web-panel/assets/{Community-RjNSGqVo.js → Community-NWf71rLn.js} +1 -1
  17. package/src/assets/web-panel/assets/{Compact-COZAt3WB.js → Compact-DFai5XtQ.js} +1 -1
  18. package/src/assets/web-panel/assets/{Compliance-hk2sypg0.js → Compliance-FLeiFZLg.js} +1 -1
  19. package/src/assets/web-panel/assets/{Cowork-9CLNBbEQ.js → Cowork-C-rt92DS.js} +1 -1
  20. package/src/assets/web-panel/assets/{Cron-74hvFk4_.js → Cron-DuSZVwX4.js} +1 -1
  21. package/src/assets/web-panel/assets/{Crosschain-M_9qbH-m.js → Crosschain-C2Sr6g2O.js} +1 -1
  22. package/src/assets/web-panel/assets/{DID-BOx1xBNu.js → DID-C8hzIJVZ.js} +1 -1
  23. package/src/assets/web-panel/assets/{Dashboard-C3KfYy9t.js → Dashboard-CnjEC6qh.js} +1 -1
  24. package/src/assets/web-panel/assets/{Dropdown-Buk4zcYG.js → Dropdown-DGGWa03e.js} +1 -1
  25. package/src/assets/web-panel/assets/{Federation-96LSDwN_.js → Federation-C5pq65Oo.js} +1 -1
  26. package/src/assets/web-panel/assets/{FormItemContext-DY7VfLgy.js → FormItemContext-D6POEbFi.js} +1 -1
  27. package/src/assets/web-panel/assets/{Git-KCUcIFj0.js → Git-pDAuNI9b.js} +1 -1
  28. package/src/assets/web-panel/assets/{Governance--yT5V49L.js → Governance-7oAOVDgM.js} +1 -1
  29. package/src/assets/web-panel/assets/{Inference-D0NeQyx6.js → Inference-B2jgqVc_.js} +1 -1
  30. package/src/assets/web-panel/assets/{KnowledgeGraph-DYRq64do.js → KnowledgeGraph-CsRfQMe3.js} +1 -1
  31. package/src/assets/web-panel/assets/{Logs-DHSi_Oi1.js → Logs-Btr-_qa2.js} +1 -1
  32. package/src/assets/web-panel/assets/{Marketplace-TT0gv-wI.js → Marketplace-DYyQwT8S.js} +1 -1
  33. package/src/assets/web-panel/assets/{McpTools-DfCzYzeM.js → McpTools-DZ2Muqme.js} +1 -1
  34. package/src/assets/web-panel/assets/{Memory-35QBk-VQ.js → Memory-VFISHv9O.js} +1 -1
  35. package/src/assets/web-panel/assets/{Mtc-Dvc-7WJs.js → Mtc-BepQB95_.js} +1 -1
  36. package/src/assets/web-panel/assets/{MtcAudit-CzTgYL-a.js → MtcAudit-P270xCa6.js} +1 -1
  37. package/src/assets/web-panel/assets/{NLProgramming-CrcJekBx.js → NLProgramming-ChY57Wov.js} +1 -1
  38. package/src/assets/web-panel/assets/{Notes-0B3NXKhh.js → Notes-DvYOc-LP.js} +1 -1
  39. package/src/assets/web-panel/assets/{NotificationSettings-KlJUb1mE.js → NotificationSettings-DF1cYL7q.js} +1 -1
  40. package/src/assets/web-panel/assets/{Organization-COS-etp0.js → Organization-BdFBs5tB.js} +1 -1
  41. package/src/assets/web-panel/assets/{Overflow-Cy4-usEJ.js → Overflow-CWcf6XzX.js} +1 -1
  42. package/src/assets/web-panel/assets/{P2P-C0_fKvmV.js → P2P-Dlpijkuf.js} +1 -1
  43. package/src/assets/web-panel/assets/{Permissions-C59VtMDt.js → Permissions-DP9a2oRu.js} +1 -1
  44. package/src/assets/web-panel/assets/{Pipeline-BjFugIMn.js → Pipeline-Dkhs1ieh.js} +1 -1
  45. package/src/assets/web-panel/assets/{Privacy-tAalWiJA.js → Privacy-DyY4Soyq.js} +1 -1
  46. package/src/assets/web-panel/assets/{ProjectSettings-CLRVvTkY.js → ProjectSettings-s-BGMUqA.js} +1 -1
  47. package/src/assets/web-panel/assets/{Projects-ByvwUl9Z.js → Projects-LBas316e.js} +1 -1
  48. package/src/assets/web-panel/assets/{Providers-CP6aUtPG.js → Providers-Bb57dGXh.js} +1 -1
  49. package/src/assets/web-panel/assets/{QuickAsk-5wazQ8Rv.js → QuickAsk-MOldl0LD.js} +1 -1
  50. package/src/assets/web-panel/assets/{Recommend-Z-lSAvhS.js → Recommend-_rz-WgUu.js} +1 -1
  51. package/src/assets/web-panel/assets/{Reputation-DaCrszi3.js → Reputation-BH2ufLqB.js} +1 -1
  52. package/src/assets/web-panel/assets/{Row-BFHRFhrC.js → Row-C-x3K6Kz.js} +1 -1
  53. package/src/assets/web-panel/assets/{RssFeed-61djI0cm.js → RssFeed-BPVfstzo.js} +1 -1
  54. package/src/assets/web-panel/assets/{Search-B4DqaBN0.js → Search-Dz1IUxuk.js} +1 -1
  55. package/src/assets/web-panel/assets/{Security-8BvDlsI4.js → Security-CjzlawSi.js} +1 -1
  56. package/src/assets/web-panel/assets/{Services-BOgC-V6e.js → Services-B_at9R_D.js} +1 -1
  57. package/src/assets/web-panel/assets/{Skeleton-DxGa2EcF.js → Skeleton-DUmYTGQw.js} +1 -1
  58. package/src/assets/web-panel/assets/{Skills-DsHzWQAl.js → Skills-tgkSIrrj.js} +1 -1
  59. package/src/assets/web-panel/assets/{Sla-3KdTHpSY.js → Sla-Bb_VPx_C.js} +1 -1
  60. package/src/assets/web-panel/assets/{SpeechSettings-C8xEI_J4.js → SpeechSettings-BvEO_KFQ.js} +1 -1
  61. package/src/assets/web-panel/assets/{SyncSettings-BrTgn_a6.js → SyncSettings-BYE2fOCe.js} +1 -1
  62. package/src/assets/web-panel/assets/{Tasks-BsatF04-.js → Tasks-BOvITbzT.js} +1 -1
  63. package/src/assets/web-panel/assets/{Templates-BXG2BXzE.js → Templates-CPcOkdWV.js} +1 -1
  64. package/src/assets/web-panel/assets/{Tenant-OjqSY3OD.js → Tenant-CXn2k3Bt.js} +1 -1
  65. package/src/assets/web-panel/assets/{Tokens-WrFIqGuF.js → Tokens-ljGLGE7n.js} +1 -1
  66. package/src/assets/web-panel/assets/{Trigger-ql7VwBhY.js → Trigger-DULI2abh.js} +1 -1
  67. package/src/assets/web-panel/assets/{Trust-BnJxgiUu.js → Trust-D4Y1Uqbj.js} +1 -1
  68. package/src/assets/web-panel/assets/{UkeySign-DI1rcWZ-.js → UkeySign-CNIMnMaX.js} +1 -1
  69. package/src/assets/web-panel/assets/{VideoEditing-C1jgL5fG.js → VideoEditing-B0sKBx8K.js} +1 -1
  70. package/src/assets/web-panel/assets/{Wallet-CVMM1wf-.js → Wallet-ClcaEXP3.js} +1 -1
  71. package/src/assets/web-panel/assets/{WebAuthn-Bz-7j8cP.js → WebAuthn-CJ-szm66.js} +1 -1
  72. package/src/assets/web-panel/assets/{WorkflowEditor-B_En7K3B.js → WorkflowEditor-B0A6bzvw.js} +1 -1
  73. package/src/assets/web-panel/assets/chat-CAmp7Hj4.js +1 -0
  74. package/src/assets/web-panel/assets/{colors-C-_WCP_I.js → colors-DIdEYifT.js} +1 -1
  75. package/src/assets/web-panel/assets/{compact-item-DRlYnN0j.js → compact-item-DgctsprC.js} +1 -1
  76. package/src/assets/web-panel/assets/{createContext-CQjz89ZD.js → createContext-D68iSn12.js} +1 -1
  77. package/src/assets/web-panel/assets/{hasIn-DkvrU3Ng.js → hasIn-BfVEkwDr.js} +1 -1
  78. package/src/assets/web-panel/assets/{index-DTCCIKB3.js → index-1eTDj8GN.js} +1 -1
  79. package/src/assets/web-panel/assets/index-4FtfPG2_.js +1 -0
  80. package/src/assets/web-panel/assets/{index-Dcotn-Yi.js → index-B04XbTiI.js} +1 -1
  81. package/src/assets/web-panel/assets/{index-C5_IA35Q.js → index-B2a-87jy.js} +1 -1
  82. package/src/assets/web-panel/assets/{index-CAXp9Lwm.js → index-B86dckwF.js} +1 -1
  83. package/src/assets/web-panel/assets/{index-BWrmR8z4.js → index-B9q7lYch.js} +1 -1
  84. package/src/assets/web-panel/assets/{index-BQJBwuxS.js → index-BATrOSqQ.js} +1 -1
  85. package/src/assets/web-panel/assets/{index-CreE5ozl.js → index-BC_AMP2G.js} +1 -1
  86. package/src/assets/web-panel/assets/{index-Bh1pl2no.js → index-BL-ktXCL.js} +1 -1
  87. package/src/assets/web-panel/assets/{index-nqPi_FUF.js → index-BVuBArIr.js} +1 -1
  88. package/src/assets/web-panel/assets/{index-DVvcsuh0.js → index-BWjGDulF.js} +1 -1
  89. package/src/assets/web-panel/assets/{index-DFWu8Nod.js → index-BZsWnNr5.js} +1 -1
  90. package/src/assets/web-panel/assets/{index-CAWrRKBV.js → index-BbXyrISU.js} +1 -1
  91. package/src/assets/web-panel/assets/{index-spVYB7ka.js → index-BhSL3LyU.js} +1 -1
  92. package/src/assets/web-panel/assets/{index-BcIcrbaL.js → index-ByPXCWc3.js} +1 -1
  93. package/src/assets/web-panel/assets/{index-DWnUOEdQ.js → index-ByVIuAuT.js} +1 -1
  94. package/src/assets/web-panel/assets/{index-SGHpg8vZ.js → index-CGV32m2d.js} +1 -1
  95. package/src/assets/web-panel/assets/{index-DEEKNhJo.js → index-COfT8est.js} +1 -1
  96. package/src/assets/web-panel/assets/{index-BPtmPFwc.js → index-CWc9qPWf.js} +4 -4
  97. package/src/assets/web-panel/assets/{index-CW6aTL_U.js → index-CYwWREKu.js} +1 -1
  98. package/src/assets/web-panel/assets/{index-DZ0FDal8.js → index-Cd9Uk85_.js} +1 -1
  99. package/src/assets/web-panel/assets/{index-qVl4nFNX.js → index-CjxYnpFI.js} +1 -1
  100. package/src/assets/web-panel/assets/{index-DuutOf_b.js → index-D9VsNXsF.js} +1 -1
  101. package/src/assets/web-panel/assets/{index-CwYZLSvq.js → index-DDG4mKAW.js} +1 -1
  102. package/src/assets/web-panel/assets/{index-gyq6o1eH.js → index-DIri4kXm.js} +1 -1
  103. package/src/assets/web-panel/assets/{index-BrE6wIhJ.js → index-DQopgmlq.js} +1 -1
  104. package/src/assets/web-panel/assets/{index-eZTZv_mW.js → index-DlM0-wO_.js} +1 -1
  105. package/src/assets/web-panel/assets/{index-Dp-9lS6Q.js → index-Dnjhvibk.js} +1 -1
  106. package/src/assets/web-panel/assets/{index-BxGG_QJu.js → index-DnspH2S5.js} +1 -1
  107. package/src/assets/web-panel/assets/{index-DDElQABk.js → index-Do7M55ke.js} +1 -1
  108. package/src/assets/web-panel/assets/{index-DaKiN39Q.js → index-DpfbHg4B.js} +1 -1
  109. package/src/assets/web-panel/assets/{index-D8kTtVhG.js → index-L1rKfgbj.js} +1 -1
  110. package/src/assets/web-panel/assets/{index-DhAdUGyf.js → index-N7q4pvXQ.js} +1 -1
  111. package/src/assets/web-panel/assets/{index-B4WoTHzD.js → index-OEgd0e2J.js} +1 -1
  112. package/src/assets/web-panel/assets/index-Ri5xYTdD.js +1 -0
  113. package/src/assets/web-panel/assets/{index-Banf4rVv.js → index-bZQ4WUeB.js} +1 -1
  114. package/src/assets/web-panel/assets/{index-D_UyFEni.js → index-h3RwMnvW.js} +1 -1
  115. package/src/assets/web-panel/assets/{index-Bm5beO8z.js → index-j3mQvPO6.js} +1 -1
  116. package/src/assets/web-panel/assets/{initDefaultProps-DzCq75v2.js → initDefaultProps-D5bRziL5.js} +1 -1
  117. package/src/assets/web-panel/assets/{motion-CwDCjQBX.js → motion-DEkPod7A.js} +1 -1
  118. package/src/assets/web-panel/assets/{move-CiyNq_dM.js → move-CB_1Dwv-.js} +1 -1
  119. package/src/assets/web-panel/assets/{omit-CV_avDvk.js → omit-UkvsaZ7a.js} +1 -1
  120. package/src/assets/web-panel/assets/{pickAttrs-BVSL31rv.js → pickAttrs-wcF9VtXD.js} +1 -1
  121. package/src/assets/web-panel/assets/{placementArrow-oxkKuQCJ.js → placementArrow-DyFS6p4H.js} +1 -1
  122. package/src/assets/web-panel/assets/{responsiveObserve-Dva2arKe.js → responsiveObserve-aP8GIgAb.js} +1 -1
  123. package/src/assets/web-panel/assets/{slide-FbHwK4f8.js → slide-HrH-9peG.js} +1 -1
  124. package/src/assets/web-panel/assets/{statusUtils-Pg-fsC5F.js → statusUtils-tnhAwJgv.js} +1 -1
  125. package/src/assets/web-panel/assets/{styleChecker-CuXdVqkl.js → styleChecker-B8gy0RNi.js} +1 -1
  126. package/src/assets/web-panel/assets/{useFlexGapSupport-z-vK8Wcv.js → useFlexGapSupport-Do-bHuEg.js} +1 -1
  127. package/src/assets/web-panel/assets/{useFs-Cr5jQ4qa.js → useFs-DMBSmk-z.js} +1 -1
  128. package/src/assets/web-panel/assets/{vnode-51kseDDa.js → vnode-BI-CTVZ1.js} +1 -1
  129. package/src/assets/web-panel/assets/{zoom-DSlt2Q3p.js → zoom-BrBIcdS0.js} +1 -1
  130. package/src/assets/web-panel/index.html +1 -1
  131. package/src/gateways/ws/chat-intent-protocol.js +13 -19
  132. package/src/gateways/ws/llm-chat-protocol.js +166 -0
  133. package/src/gateways/ws/llm-creds.js +93 -0
  134. package/src/gateways/ws/message-dispatcher.js +1 -0
  135. package/src/gateways/ws/ws-server.js +6 -0
  136. package/src/assets/web-panel/assets/Chat-BhwqdoXy.js +0 -7
  137. package/src/assets/web-panel/assets/chat-HZBXEHqE.js +0 -1
  138. package/src/assets/web-panel/assets/index-BrNvQLt8.js +0 -1
  139. package/src/assets/web-panel/assets/index-DtjB2WpK.js +0 -1
@@ -1 +0,0 @@
1
- import{E as dt,r as h,a as A,f as pt}from"./vendor-Ci2pTZ_t.js";import{u as g}from"./index-BPtmPFwc.js";let L=0;function Y(s){return L+=1,`msg_${Date.now()}_${L}_${s}`}const v=Object.freeze({USER:"user",ASSISTANT:"assistant",SYSTEM:"system",INTENT_RECOGNITION:"intent-recognition",INTENT_CONFIRMATION:"intent-confirmation",TASK_ANALYSIS:"task-analysis",INTERVIEW:"interview",TASK_PLAN:"task-plan",PROGRESS:"progress",ERROR:"error"}),Q=Object.freeze({USER:"user",ASSISTANT:"assistant",SYSTEM:"system"});function mt(s,i){return{id:Y("intent_confirmation"),role:Q.ASSISTANT,type:v.INTENT_CONFIRMATION,content:"我理解您的需求如下,请确认:",timestamp:Date.now(),metadata:{originalInput:s,understanding:i||{},status:"pending",correction:null}}}function gt(s,i,u={}){const{reason:c,extractedInfo:p}=u,m={CONTINUE_EXECUTION:"✅ 收到,继续执行任务...",MODIFY_REQUIREMENT:`⚠️ 检测到需求变更:${p||i}`,CLARIFICATION:`📝 已记录补充信息:${p||i}`,CANCEL_TASK:"❌ 任务已取消"};return{id:Y("intent_system"),role:Q.SYSTEM,type:v.SYSTEM,content:m[s]||"⚠️ 未识别意图",timestamp:Date.now(),metadata:{intent:s,reason:c,userInput:i,extractedInfo:p}}}const I="新对话",b="新 Agent",K="cc.web-panel.chat.contextMode",G=["project","file","global"],B="cc.web-panel.chat.intentDecisions",$=200;function St(){try{const s=typeof localStorage<"u"?localStorage.getItem(K):null;return G.includes(s)?s:null}catch{return null}}function J(){try{if(typeof localStorage>"u")return{};const s=localStorage.getItem(B);if(!s)return{};const i=JSON.parse(s);return i&&typeof i=="object"?i:{}}catch{return{}}}function yt(s){try{if(typeof localStorage>"u")return;const i=Object.entries(s);if(i.length>$){i.sort((c,p)=>(c[1]?.ts||0)-(p[1]?.ts||0));const u=i.slice(-$);s=Object.fromEntries(u)}localStorage.setItem(B,JSON.stringify(s))}catch{}}function F(s,i,u){if(!s||!i)return;const c=J();c[`${s}::${i}`]={...u,ts:Date.now()},yt(c)}function Tt(s,i){return!s||!i?null:J()[`${s}::${i}`]||null}const ht={"assistant.delta":"response-token","assistant.final":"response-complete","assistant.message":"response-complete","tool.call.started":"tool-executing","tool.call.completed":"tool-result","tool.call.failed":"tool-result","slot.filling":"question","approval.requested":"question",error:"error"},vt=dt("chat",()=>{const s=h([]),i=h(null),u=A({}),c=A({}),p=A({}),m=A({}),P=(typeof window<"u"&&window.__CC_CONFIG__||{}).mode==="project",X=P?"project":"global",C=St(),O=h(C==="file"||C==="project"&&!P?"global":C||X);function z(t){if(G.includes(t)){O.value=t;try{typeof localStorage<"u"&&localStorage.setItem(K,t)}catch{}}}const w="cc.web-panel.chat.customQuickPrompts";function V(){try{if(typeof localStorage>"u")return null;const t=localStorage.getItem(w);if(!t)return null;const e=JSON.parse(t);if(!Array.isArray(e))return null;const n=e.map(o=>typeof o=="string"?o.trim():"").filter(o=>o.length>0&&o.length<=120).slice(0,12);return n.length>0?n:null}catch{return null}}const M=h(V());function W(t){if(t==null){M.value=null;try{typeof localStorage<"u"&&localStorage.removeItem(w)}catch{}return}if(!Array.isArray(t))return;const e=t.map(n=>typeof n=="string"?n.trim():"").filter(n=>n.length>0&&n.length<=120).slice(0,12);M.value=e.length>0?e:null;try{typeof localStorage<"u"&&(e.length>0?localStorage.setItem(w,JSON.stringify(e)):localStorage.removeItem(w))}catch{}}const D=h(null);let j=0;function H({prompt:t,autoSend:e=!0,session:n=null}={}){!t||!String(t).trim()||(j+=1,D.value={prompt:String(t),autoSend:e!==!1,session:n||null,token:`staged::${j}::${Date.now()}`})}function Z(){D.value=null}let U=null;const q=new Set;function S(t){return u[t]||(u[t]=[]),u[t]}function x(t){return!!(t&&m[t])}function y(t,e){t&&(m[t]=!!e)}function R(t){if(!t?.id)return;const e=s.value.find(n=>n.id===t.id);if(e){Object.assign(e,t);return}s.value.unshift(t)}function k(t,e=g()){u[t]||(u[t]=[]),c[t]||(c[t]={content:"",active:!1}),m[t]==null&&(m[t]=!1),!q.has(t)&&(q.add(t),e.onSession(t,n=>nt(t,n)))}function _(t=g()){U||(U=t.onRuntimeEvent(e=>{const n=e.payload||{},o=n.record||{};if(e.type==="session:start"){const a=n.sessionType||o.type||"chat";y(n.sessionId,!1),R({id:n.sessionId,type:a,provider:o.provider||null,model:o.model||null,projectRoot:o.projectRoot||null,status:o.status||"created",title:a==="chat"?I:b,createdAt:Date.now(),messageCount:o.messageCount??0})}else if(e.type==="session:resume"){const a=n.sessionId;if(!a)return;Array.isArray(n.history)&&(u[a]=n.history.map(r=>({role:r.role,content:r.content,timestamp:r.timestamp||Date.now()}))),c[a]||(c[a]={content:"",active:!1}),m[a]==null&&(m[a]=!1),R({id:a,type:o.type||null,provider:o.provider||null,model:o.model||null,projectRoot:o.projectRoot||null,status:o.status||"resumed",messageCount:o.messageCount??(Array.isArray(n.history)?n.history.length:0)})}else if(e.type==="session:end"){const a=n.sessionId;s.value=s.value.filter(r=>r.id!==a),delete m[a],i.value===a&&(i.value=s.value[0]?.id||null)}}))}async function tt(){const t=g();_(t),s.value=await t.listSessions(),s.value.forEach(e=>{k(e.id,t)})}async function et(t="chat",e={}){const n=g();_(n);const o=await n.createSession(t,null,e);return R({id:o,type:t,title:t==="chat"?I:b,createdAt:Date.now(),messageCount:0}),y(o,!1),k(o,n),i.value=o,o}function nt(t,e){const n=S(t),o=ht[e.type]||e.type,a=e.payload||{};if(o==="response-token"){c[t]||(c[t]={content:"",active:!0});const r=e.token||a.token||a.delta||a.content||"";c[t].content+=r,c[t].active=!0,y(t,!0)}else if(o==="response-complete"){const r=e.content||a.content||c[t]?.content||"";n.push({role:"assistant",content:r,timestamp:Date.now()}),c[t]&&(c[t].content="",c[t].active=!1);const f=s.value.find(l=>l.id===t);if(f&&(f.title===I||f.title===b)){const l=n.find(E=>E.role==="user");l&&(f.title=l.content.slice(0,30))}f&&(f.messageCount=n.filter(l=>l.role!=="tool").length),y(t,!1)}else if(o==="tool-executing")n.push({role:"tool",tool:e.tool||a.tool||a.toolName||"unknown",input:e.input||a.input||a.args||null,status:"running",timestamp:Date.now()}),y(t,!0);else if(o==="tool-result"){const r=e.tool||a.tool||a.toolName||"unknown",f=[...n].reverse().find(l=>l.role==="tool"&&l.tool===r);f&&(f.result=e.result||a.result||a.output||null,f.status="done")}else if(o==="question")p[t]={requestId:e.requestId||a.requestId||e.id,question:e.question||a.question||a.message||"",choices:e.choices||a.choices||a.options||[]},y(t,!1);else if(o==="error"){const r=e.message||a.message||"Unknown error";n.push({role:"assistant",content:`Error: ${r}`,timestamp:Date.now()}),y(t,!1),c[t]&&(c[t].active=!1)}}async function T(t,e){const n=g();_(n),S(t).push({role:"user",content:e,timestamp:Date.now()}),c[t]||(c[t]={content:"",active:!1}),c[t].active=!0,y(t,!0),n.sendSessionMessage(t,e)}async function ot(t,e){if(!t||!e?.trim())return;const n=O.value;if(n==="global"){await T(t,e);return}const o=g(),a=S(t).filter(d=>d.role==="user"||d.role==="assistant").slice(-5).map(d=>({role:d.role,content:String(d.content||"").slice(0,500)})),r=mt(e,{});r.metadata&&(r.metadata.streaming=!0,r.metadata.streamingTokens=0),r.content="理解中…";const f=S(t);f.push(r);let l=null;const E=new AbortController,ft=setTimeout(()=>E.abort(new Error("Intent understand wall-clock timeout")),9e4);try{const d=await o.sendStream({type:"chat.intent.understand-stream",sessionId:t,userInput:e,contextMode:n,history:a},{onChunk:()=>{r.metadata&&(r.metadata.streamingTokens=(r.metadata.streamingTokens||0)+1)},idleMs:6e4,signal:E.signal});d?.success&&(l=d)}catch{}finally{clearTimeout(ft)}if(!(l&&(l.correctedInput&&l.correctedInput!==e||Array.isArray(l.keyPoints)&&l.keyPoints.length>0))){const d=f.indexOf(r);d>=0&&f.splice(d,1),await T(t,e);return}r.content="我理解您的需求如下,请确认:",r.metadata&&(r.metadata.streaming=!1,r.metadata.understanding={correctedInput:l.correctedInput,intent:l.intent,keyPoints:l.keyPoints});const N=Tt(t,r.id);N?.status&&r.metadata&&(r.metadata.status=N.status,N.correction&&(r.metadata.correction=N.correction))}async function at(t,e){const o=S(t).find(r=>r.id===e);if(!o||o.type!==v.INTENT_CONFIRMATION)return;o.metadata&&(o.metadata.status="confirmed"),F(t,e,{status:"confirmed",correction:null});const a=o.metadata?.originalInput||"";a.trim()&&await T(t,a)}async function rt(t,e,n){const a=S(t).find(f=>f.id===e);if(!a||a.type!==v.INTENT_CONFIRMATION)return;a.metadata&&(a.metadata.status="corrected",a.metadata.correction=n),F(t,e,{status:"corrected",correction:n});const r=(n||"").trim();r&&await T(t,r)}async function st(t,e,n={}){const o=g();try{return await o.sendRaw({type:"chat.intent.classify-followup",sessionId:t,input:e,context:n},2e4)}catch{return null}}function it(t,e,n,o={}){S(t).push(gt(e,n,o))}function ct(t,e){const n=g(),o=p[t];o&&(n.answerQuestion(t,o.requestId,e),delete p[t])}async function lt(t){const e=g();if(_(e),i.value=t,k(t,e),!u[t]||u[t].length===0)try{await e.resumeSession(t)}catch{}}const ut=pt(()=>x(i.value));return{sessions:s,currentSessionId:i,messages:u,streaming:c,pendingQuestion:p,loadingBySession:m,isLoading:ut,contextMode:O,setContextMode:z,customQuickPrompts:M,setCustomQuickPrompts:W,pendingAutoSend:D,scheduleAutoSend:H,clearAutoSend:Z,getIsLoading:x,loadSessions:tt,createSession:et,sendMessage:T,submitUserInput:ot,confirmIntent:at,correctIntent:rt,classifyFollowupIntent:st,pushFollowupIntentBanner:it,answerQuestion:ct,switchSession:lt,getMessages:S}});export{v as M,vt as u};
@@ -1 +0,0 @@
1
- import{C as o}from"./Col-9_JZdhJl.js";import{R as t}from"./index-BPtmPFwc.js";import"./index-DVvcsuh0.js";import"./vendor-Ci2pTZ_t.js";import"./icons-B2G69bhT.js";const s=t(o);export{s as default};
@@ -1 +0,0 @@
1
- import{A as o}from"./Row-BFHRFhrC.js";import{R as t}from"./index-BPtmPFwc.js";import"./responsiveObserve-Dva2arKe.js";import"./vendor-Ci2pTZ_t.js";import"./useFlexGapSupport-z-vK8Wcv.js";import"./styleChecker-CuXdVqkl.js";import"./index-DVvcsuh0.js";import"./icons-B2G69bhT.js";const l=t(o);export{l as default};