chainlesschain 0.156.7 → 0.157.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (131) hide show
  1. package/README.md +2 -2
  2. package/bin/chainlesschain.js +13 -0
  3. package/package.json +2 -1
  4. package/src/assets/web-panel/.build-hash +1 -1
  5. package/src/assets/web-panel/assets/{ActionButton-Cs4QdjYb.js → ActionButton-CCj9oE5_.js} +1 -1
  6. package/src/assets/web-panel/assets/{Analytics-Xot0e9TT.js → Analytics-RMqXlyHE.js} +2 -2
  7. package/src/assets/web-panel/assets/AppLayout-CSmBboZB.css +1 -0
  8. package/src/assets/web-panel/assets/AppLayout-CV6gWn1r.js +1 -0
  9. package/src/assets/web-panel/assets/{Backup-Cih5dXcD.js → Backup-bes7wE_k.js} +1 -1
  10. package/src/assets/web-panel/assets/{BaseInput-Tg40P4JM.js → BaseInput-BKgAovqI.js} +1 -1
  11. package/src/assets/web-panel/assets/{Chat-CRfTuSl8.js → Chat-Duckao6i.js} +2 -2
  12. package/src/assets/web-panel/assets/{Checkbox-CheA2Ety.js → Checkbox-BaBBUZnH.js} +1 -1
  13. package/src/assets/web-panel/assets/{Col-Cdfsmnaq.js → Col-B6iQKzFs.js} +1 -1
  14. package/src/assets/web-panel/assets/{Compact-D3LSgEpW.js → Compact-Fwt0CbI5.js} +1 -1
  15. package/src/assets/web-panel/assets/{Cowork-BLRUoSoO.js → Cowork-DNy50_Cp.js} +3 -3
  16. package/src/assets/web-panel/assets/{Cron-9MV6k-MV.js → Cron-CBREJypB.js} +2 -2
  17. package/src/assets/web-panel/assets/{Dashboard-A1TZC5_t.js → Dashboard-DnJ1aZvj.js} +2 -2
  18. package/src/assets/web-panel/assets/{Dropdown-DZxUTZvw.js → Dropdown-B3vdFzOi.js} +1 -1
  19. package/src/assets/web-panel/assets/{FormItemContext-C3_-j_SR.js → FormItemContext-RYn2zMn5.js} +1 -1
  20. package/src/assets/web-panel/assets/{Git-Cw-gW-kh.js → Git-7TolKe3c.js} +2 -2
  21. package/src/assets/web-panel/assets/KnowledgeGraph-4b9v3wYV.js +19 -0
  22. package/src/assets/web-panel/assets/KnowledgeGraph-U8ps3aGJ.css +1 -0
  23. package/src/assets/web-panel/assets/{Logs-0SXs6Eyx.js → Logs-BZgM3Q4b.js} +2 -2
  24. package/src/assets/web-panel/assets/{McpTools-VVSCkpV2.js → McpTools-5Wrif1R_.js} +2 -2
  25. package/src/assets/web-panel/assets/{Memory-CMweTJyn.js → Memory-D8YRnt51.js} +2 -2
  26. package/src/assets/web-panel/assets/{Notes-B_W3BfZF.js → Notes-CWTUG8hk.js} +2 -2
  27. package/src/assets/web-panel/assets/{Organization-Dz_jGbAM.js → Organization-DvJzrIES.js} +4 -4
  28. package/src/assets/web-panel/assets/{Overflow-Dka3nWV9.js → Overflow-tpvXbZkh.js} +1 -1
  29. package/src/assets/web-panel/assets/{OverrideContext-7M2Kv4Ru.js → OverrideContext-9ePmgwvW.js} +1 -1
  30. package/src/assets/web-panel/assets/{P2P-DGPIG-9j.js → P2P-C-AoKbTs.js} +2 -2
  31. package/src/assets/web-panel/assets/{Permissions-DvXVIlHX.js → Permissions-cIclKlQB.js} +3 -3
  32. package/src/assets/web-panel/assets/Portal-DXIqogG2.js +1 -0
  33. package/src/assets/web-panel/assets/{Projects-Bzn-dJ59.js → Projects-CDKdsdit.js} +2 -2
  34. package/src/assets/web-panel/assets/{Providers-DUfX_ynl.js → Providers-C33u4Mka.js} +2 -2
  35. package/src/assets/web-panel/assets/{Row-DZhDSo2Q.js → Row-DVscVTtp.js} +1 -1
  36. package/src/assets/web-panel/assets/{RssFeed-CHQpUl3h.js → RssFeed-CGC4w7VD.js} +3 -3
  37. package/src/assets/web-panel/assets/{Security-FUSOn89T.js → Security-ymR0We-P.js} +3 -3
  38. package/src/assets/web-panel/assets/{Services-CDh7r75R.js → Services-Gydt4uVC.js} +2 -2
  39. package/src/assets/web-panel/assets/{Skeleton-DxmZ7zRw.js → Skeleton-CfLdvEpu.js} +1 -1
  40. package/src/assets/web-panel/assets/{Skills-Dk9Cp1NG.js → Skills-C_SrPIFZ.js} +1 -1
  41. package/src/assets/web-panel/assets/Tasks-BchvT4YD.js +1 -0
  42. package/src/assets/web-panel/assets/{Templates-BVbmyn38.js → Templates-Bj1wDexb.js} +1 -1
  43. package/src/assets/web-panel/assets/Trigger-CIW_GVYA.js +1 -0
  44. package/src/assets/web-panel/assets/{VideoEditing-BUWYQv2y.js → VideoEditing-CQOwjQFu.js} +1 -1
  45. package/src/assets/web-panel/assets/{Wallet-BDYdEwFf.js → Wallet-0kSZ-ENs.js} +4 -4
  46. package/src/assets/web-panel/assets/{WebAuthn-CvpuagtK.js → WebAuthn-CrZlAr6l.js} +5 -5
  47. package/src/assets/web-panel/assets/{WorkflowEditor-BR7W5cjw.js → WorkflowEditor-DbdF8700.js} +1 -1
  48. package/src/assets/web-panel/assets/{chat-B2uGA8wN.js → chat-BNXQJRrX.js} +1 -1
  49. package/src/assets/web-panel/assets/{collapseMotion-DnZigkzG.js → collapseMotion-CSS8MlIE.js} +1 -1
  50. package/src/assets/web-panel/assets/{colors-C5kDbQCi.js → colors-BgoKrIXh.js} +1 -1
  51. package/src/assets/web-panel/assets/{compact-item-Bo_1zDrX.js → compact-item-COAuztwB.js} +1 -1
  52. package/src/assets/web-panel/assets/{createContext-CniPpJsG.js → createContext-BTceykzK.js} +1 -1
  53. package/src/assets/web-panel/assets/{hasIn-ClDc6Sz8.js → hasIn-BNooGgXx.js} +1 -1
  54. package/src/assets/web-panel/assets/{icons-CpgFsfkd.js → icons-DzieZiVh.js} +4 -4
  55. package/src/assets/web-panel/assets/index-4C1c4hkZ.js +36 -0
  56. package/src/assets/web-panel/assets/{index-Dtfrhky9.js → index-81NIDNcI.js} +2 -2
  57. package/src/assets/web-panel/assets/{index-vBi4x_6g.js → index-B7gZm05C.js} +1 -1
  58. package/src/assets/web-panel/assets/{index-JNbd08FN.js → index-BAPulPv1.js} +2 -2
  59. package/src/assets/web-panel/assets/{index-CeSV8f3b.js → index-BEbmwv5T.js} +2 -2
  60. package/src/assets/web-panel/assets/{index-D9bolkbl.js → index-BLzkplpf.js} +3 -3
  61. package/src/assets/web-panel/assets/{index-cIgCeEqo.js → index-BMU9I-F6.js} +1 -1
  62. package/src/assets/web-panel/assets/{index--lcO-bOn.js → index-BRBeeCRz.js} +2 -2
  63. package/src/assets/web-panel/assets/index-BbBjevdP.js +1 -0
  64. package/src/assets/web-panel/assets/{index-BHruTebo.js → index-Bjf02LQY.js} +2 -2
  65. package/src/assets/web-panel/assets/index-Bn7dXbEh.js +1 -0
  66. package/src/assets/web-panel/assets/index-BqJS8Rje.js +1 -0
  67. package/src/assets/web-panel/assets/{index-CXxLp7Aw.js → index-C1BBkQIj.js} +4 -4
  68. package/src/assets/web-panel/assets/{index-D90sLw5Q.js → index-C4YPr8e8.js} +1 -1
  69. package/src/assets/web-panel/assets/{index-6tQekF0Y.js → index-C7uW3zj4.js} +1 -1
  70. package/src/assets/web-panel/assets/{index-BAlSSCbs.js → index-CZ3YetO8.js} +1 -1
  71. package/src/assets/web-panel/assets/{index-DSiHmo4b.js → index-Cf1n_3VC.js} +1 -1
  72. package/src/assets/web-panel/assets/{index-Ch5mAXeh.js → index-CjOtB4wg.js} +3 -3
  73. package/src/assets/web-panel/assets/{index-DkSNIJhM.js → index-CpFrvhnj.js} +1 -1
  74. package/src/assets/web-panel/assets/{index-CCdb36il.js → index-D1SCFE25.js} +1 -1
  75. package/src/assets/web-panel/assets/{index-CwhWEkmA.js → index-D5wFryiJ.js} +2 -2
  76. package/src/assets/web-panel/assets/{index-BUTCJTbj.js → index-D6w1kIHg.js} +1 -1
  77. package/src/assets/web-panel/assets/{index-DTYnvYqB.js → index-DC-nDpH_.js} +2 -2
  78. package/src/assets/web-panel/assets/index-DDgwb3KP.js +1 -0
  79. package/src/assets/web-panel/assets/index-DYDvGZbQ.js +1 -0
  80. package/src/assets/web-panel/assets/index-DbxkO9Uy.js +1 -0
  81. package/src/assets/web-panel/assets/index-DeN7D3FZ.js +1 -0
  82. package/src/assets/web-panel/assets/{index-DnQkqOZj.js → index-DnoNK5Gb.js} +1 -1
  83. package/src/assets/web-panel/assets/{index-D2fe9a6f.js → index-KEQgDCwj.js} +5 -5
  84. package/src/assets/web-panel/assets/{index-B7nGNm_C.js → index-O-dqdn3q.js} +2 -2
  85. package/src/assets/web-panel/assets/{index-BCXFoTAw.js → index-Z5CuKqcS.js} +1 -1
  86. package/src/assets/web-panel/assets/{index-CMcGcbea.js → index-Z9wFemG0.js} +2 -2
  87. package/src/assets/web-panel/assets/{index-Bv2OmZAS.js → index-cF6gfPY3.js} +1 -1
  88. package/src/assets/web-panel/assets/{index-DNY0K7iI.js → index-eVLTVVvL.js} +1 -1
  89. package/src/assets/web-panel/assets/{index-B8y0NO-M.js → index-g7FAcG7B.js} +1 -1
  90. package/src/assets/web-panel/assets/{index-CTetsi8W.js → index-lrfnKtkl.js} +1 -1
  91. package/src/assets/web-panel/assets/{index-DaLYbr0E.js → index-nw5SqpgZ.js} +2 -2
  92. package/src/assets/web-panel/assets/{index-C92K4iDE.js → index-vHj3UTBK.js} +1 -1
  93. package/src/assets/web-panel/assets/{initDefaultProps-DMfJaUzk.js → initDefaultProps-_t-PG0bz.js} +1 -1
  94. package/src/assets/web-panel/assets/{motion-sEbWmOWo.js → motion-DPnqtODq.js} +2 -2
  95. package/src/assets/web-panel/assets/{move-DIWXVs--.js → move-kO9NQRyb.js} +1 -1
  96. package/src/assets/web-panel/assets/{omit-D7mkMPhu.js → omit-DD9MqVt0.js} +1 -1
  97. package/src/assets/web-panel/assets/{pickAttrs-B25NUX4k.js → pickAttrs-D4u5AYq1.js} +1 -1
  98. package/src/assets/web-panel/assets/{placementArrow-By1Bkq1d.js → placementArrow-BUkUxlJc.js} +1 -1
  99. package/src/assets/web-panel/assets/{responsiveObserve-B3aCQz5r.js → responsiveObserve-DA_o8FHw.js} +1 -1
  100. package/src/assets/web-panel/assets/{slide-eR-f56FQ.js → slide-DSmAtCrK.js} +1 -1
  101. package/src/assets/web-panel/assets/{statusUtils-zcNWczhN.js → statusUtils-Bn00xQ4D.js} +1 -1
  102. package/src/assets/web-panel/assets/{styleChecker-u9Z0IfRy.js → styleChecker-phGTLjuN.js} +1 -1
  103. package/src/assets/web-panel/assets/{transition-gRK4XSlW.js → transition-exl3w1iN.js} +1 -1
  104. package/src/assets/web-panel/assets/{useConfigInject-ZEunuNHN.js → useConfigInject-C2E3Qsop.js} +2 -2
  105. package/src/assets/web-panel/assets/useFlexGapSupport-tlovsMBV.js +1 -0
  106. package/src/assets/web-panel/assets/{useMergedState-CXfbNKuO.js → useMergedState-DUMpRiCy.js} +1 -1
  107. package/src/assets/web-panel/assets/{useRefs-DwsdQTxa.js → useRefs-C8A7zAB_.js} +1 -1
  108. package/src/assets/web-panel/assets/{useState-DRbnp348.js → useState-CSbzOa8O.js} +1 -1
  109. package/src/assets/web-panel/assets/{vendor-C5RM7MZO.js → vendor-aH7YaPZi.js} +1 -1
  110. package/src/assets/web-panel/assets/{vnode-DVHvXn9F.js → vnode-CIbqhcnZ.js} +1 -1
  111. package/src/assets/web-panel/assets/{ws-D-sl0vsW.js → ws-BTS8ehTm.js} +1 -1
  112. package/src/assets/web-panel/assets/{zoom-ByzgJIn6.js → zoom-Ck9WbYsZ.js} +1 -1
  113. package/src/assets/web-panel/index.html +3 -3
  114. package/src/commands/mtc.js +786 -0
  115. package/src/gateways/ws/ws-server.js +20 -2
  116. package/src/index.js +3 -0
  117. package/src/lib/packer/pkg-runner.js +59 -5
  118. package/src/assets/web-panel/assets/AppLayout-3qsE1-pz.js +0 -1
  119. package/src/assets/web-panel/assets/AppLayout-nff99EgA.css +0 -1
  120. package/src/assets/web-panel/assets/Portal-CFB5Y97t.js +0 -1
  121. package/src/assets/web-panel/assets/Tasks-CfHL1NrP.js +0 -1
  122. package/src/assets/web-panel/assets/Trigger-xAvohiq9.js +0 -1
  123. package/src/assets/web-panel/assets/index-8qWxPHSb.js +0 -1
  124. package/src/assets/web-panel/assets/index-BJx6C3J8.js +0 -1
  125. package/src/assets/web-panel/assets/index-BYShDlZ0.js +0 -1
  126. package/src/assets/web-panel/assets/index-CKR2ITFk.js +0 -1
  127. package/src/assets/web-panel/assets/index-D3UDIt7h.js +0 -1
  128. package/src/assets/web-panel/assets/index-Dn_OQQaV.js +0 -36
  129. package/src/assets/web-panel/assets/index-PT376OZM.js +0 -1
  130. package/src/assets/web-panel/assets/index-xL8gcpmy.js +0 -1
  131. package/src/assets/web-panel/assets/useFlexGapSupport-BpbEJfeh.js +0 -1
@@ -1 +1 @@
1
- import{k as U,r as b,j as B}from"./vendor-C5RM7MZO.js";let F=0;const m=()=>`wp-${++F}`,O=new Set;function y(e,n={},r={}){return{type:e,kind:r.kind||"server",sessionId:r.sessionId||n.sessionId||null,timestamp:r.timestamp||Date.now(),payload:n}}function Q(e){const n=e?.type,r=e?.payload||{};switch(n){case"task:notification":return y("task:notification",{task:e.task||r.task},{kind:"server"});case"session-created":case"session.started":return y("session:start",{sessionId:e.sessionId||r.sessionId,sessionType:e.sessionType||r.sessionType||null,record:e.record||r.record||{id:e.sessionId||r.sessionId,type:e.sessionType||r.sessionType||null,status:"created",history:[],messageCount:0}},{kind:"server",sessionId:e.sessionId||r.sessionId});case"session-resumed":case"session.resumed":{const c=e.sessionId||r.sessionId,i=e.history||r.history||[];return y("session:resume",{sessionId:c,history:i,historyCount:Array.isArray(i)?i.length:0,record:e.record||r.record||{id:c,type:null,status:"resumed",history:i,messageCount:Array.isArray(i)?i.length:0}},{kind:"server",sessionId:c})}case"worktree-diff":case"worktree.diff":return y("worktree:diff:ready",{requestId:e.requestId||e.id||null,record:e.record||r.record||{branch:e.branch||r.branch||null,summary:e.summary||r.summary||null,previewEntrypoints:[{type:"worktree-diff",branch:e.branch||r.branch||null}]}},{kind:"server"});case"worktree-merged":case"worktree.merged":return y("worktree:merge:completed",{requestId:e.requestId||e.id||null,record:e.record||r.record||{branch:e.branch||r.branch||null,summary:e.summary||r.summary||null,conflicts:e.conflicts||r.conflicts||[],previewEntrypoints:e.previewEntrypoints||r.previewEntrypoints||[]}},{kind:"server"});case"compression-stats":case"context.compaction.completed":return y("compression:summary",{requestId:e.requestId||e.id||null,summary:e.summary||r.summary||{}},{kind:"server"});default:return null}}function W(e,n=null){O.forEach(r=>r(e,n||e))}function K(e){if(!e)return null;const n=e.record||{id:e.id||null,type:e.type||null,provider:e.provider||null,model:e.model||null,projectRoot:e.projectRoot||null,messageCount:e.messageCount??0,history:e.history||[],status:e.status||null};return{...e,id:e.id||n.id,type:e.type||n.type,provider:e.provider||n.provider,model:e.model||n.model,projectRoot:e.projectRoot||n.projectRoot,messageCount:e.messageCount??n.messageCount??0,status:e.status||n.status||null,record:n}}const V=U("ws",()=>{const e=b(null),n=b("disconnected"),r=b(null),c=new Map,i=new Map;let l=null,h=1e3,k=!1;const f=window.__CC_CONFIG__||{},P=B(()=>`ws://${f.wsHost||"127.0.0.1"}:${f.wsPort||18800}`);function S(){if(!(e.value?.readyState===WebSocket.OPEN||e.value?.readyState===WebSocket.CONNECTING)){clearTimeout(l),l=null,k=!1,n.value="connecting",r.value=null;try{const t=new WebSocket(P.value);e.value=t,t.onopen=()=>{h=1e3,f.wsToken?d({type:"auth",id:m(),token:f.wsToken}).then(()=>{n.value="connected"}).catch(()=>{n.value="connected"}):n.value="connected"},t.onmessage=s=>{let o;try{o=JSON.parse(s.data)}catch{return}q(o)},t.onerror=()=>{r.value="WebSocket error",n.value="error"},t.onclose=()=>{if(n.value="disconnected",e.value=null,c.forEach(({reject:s})=>s(new Error("WebSocket closed"))),c.clear(),k){k=!1,l=null;return}l=setTimeout(()=>{h=Math.min(h*2,3e4),l=null,S()},h)}}catch(t){n.value="error",r.value=t.message}}}function x(){clearTimeout(l),l=null,k=!0,e.value?.close(),e.value=null,n.value="disconnected"}function N(t){if(!t.version&&!t.payload)return t;const s=t.payload||{};return{...t,...s,type:t.type,sessionId:t.sessionId||s.sessionId||null}}function q(t){const{type:s}=t,o=t.requestId||t.id;let u=!1;if(o&&c.has(o)){const{resolve:w,reject:R,timeout:I}=c.get(o);clearTimeout(I),c.delete(o),u=!0;const C=N(t);C.id=o,s==="error"?R(new Error(C.message||"Unknown error")):w(C)}const a=t.sessionId||t.payload&&t.payload.sessionId||null;if(a&&i.has(a)){const w=N(t);i.get(a).forEach(I=>I(w))}E.forEach(w=>w(t));const v=Q(t);return v&&W(v,t),u}const E=new Set;function J(t){return E.add(t),()=>E.delete(t)}function j(t){return O.add(t),()=>O.delete(t)}function A(t,s){return i.has(t)||i.set(t,new Set),i.get(t).add(s),()=>{i.get(t)?.delete(s),i.get(t)?.size===0&&i.delete(t)}}function d(t,s=15e3){return new Promise((o,u)=>{if(e.value?.readyState!==WebSocket.OPEN){u(new Error("WebSocket not connected"));return}const a=t.id||m(),v=setTimeout(()=>{c.delete(a),u(new Error("Request timeout"))},s);c.set(a,{resolve:o,reject:u,timeout:v}),e.value.send(JSON.stringify({...t,id:a}))})}function p(t=8e3){return n.value==="connected"?Promise.resolve():new Promise((s,o)=>{const u=Date.now()+t,a=()=>{if(n.value==="connected")return s();if(n.value==="error"||Date.now()>=u)return o(new Error(`WS not ready: ${n.value}`));setTimeout(a,150)};n.value==="disconnected"&&S(),a()})}async function T(t,s=3e4){await p(8e3);const o=await d({type:"execute",command:t},s),u=o.output??o.stdout??"",a=o.stderr??"";return{output:u||a,exitCode:o.exitCode??0}}async function M(t,s=3e4){const{output:o,exitCode:u}=await T(t,s);if(u!==0)throw new Error(`Command failed: ${o}`);try{return JSON.parse(o.trim())}catch{const a=o.match(/\{[\s\S]*\}|\[[\s\S]*\]/);if(a)return JSON.parse(a[0]);throw new Error(`Invalid JSON output: ${o.slice(0,200)}`)}}async function _(t="chat",s=null,o={}){await p(8e3);const a={type:"session-create",id:m(),sessionType:t,projectRoot:s||f.projectRoot||null};return o.systemPromptExtension&&(a.systemPromptExtension=o.systemPromptExtension),Array.isArray(o.shellPolicyOverrides)&&o.shellPolicyOverrides.length&&(a.shellPolicyOverrides=o.shellPolicyOverrides),(await d(a)).sessionId}function $(t,s){e.value?.readyState===WebSocket.OPEN&&e.value.send(JSON.stringify({type:"session-message",id:m(),sessionId:t,content:s}))}function D(t,s,o){e.value?.readyState===WebSocket.OPEN&&e.value.send(JSON.stringify({type:"session-answer",id:m(),sessionId:t,requestId:s,answer:o}))}async function H(){return await p(8e3),((await d({type:"session-list"},1e4)).sessions||[]).map(K).filter(Boolean)}async function z(t){try{await d({type:"session-close",sessionId:t},5e3),W(y("session:end",{sessionId:t},{kind:"server",sessionId:t}),{type:"result",sessionId:t,success:!0})}catch{}}async function G(t){return await p(8e3),await d({type:"session-resume",sessionId:t},1e4)}return{status:n,error:r,wsUrl:P,connect:S,disconnect:x,waitConnected:p,onMessage:J,onRuntimeEvent:j,onSession:A,sendRaw:d,execute:T,executeJson:M,createSession:_,resumeSession:G,sendSessionMessage:$,answerQuestion:D,listSessions:H,closeSession:z}});export{V as u};
1
+ import{k as U,r as b,j as B}from"./vendor-aH7YaPZi.js";let F=0;const m=()=>`wp-${++F}`,O=new Set;function y(e,n={},r={}){return{type:e,kind:r.kind||"server",sessionId:r.sessionId||n.sessionId||null,timestamp:r.timestamp||Date.now(),payload:n}}function Q(e){const n=e?.type,r=e?.payload||{};switch(n){case"task:notification":return y("task:notification",{task:e.task||r.task},{kind:"server"});case"session-created":case"session.started":return y("session:start",{sessionId:e.sessionId||r.sessionId,sessionType:e.sessionType||r.sessionType||null,record:e.record||r.record||{id:e.sessionId||r.sessionId,type:e.sessionType||r.sessionType||null,status:"created",history:[],messageCount:0}},{kind:"server",sessionId:e.sessionId||r.sessionId});case"session-resumed":case"session.resumed":{const c=e.sessionId||r.sessionId,i=e.history||r.history||[];return y("session:resume",{sessionId:c,history:i,historyCount:Array.isArray(i)?i.length:0,record:e.record||r.record||{id:c,type:null,status:"resumed",history:i,messageCount:Array.isArray(i)?i.length:0}},{kind:"server",sessionId:c})}case"worktree-diff":case"worktree.diff":return y("worktree:diff:ready",{requestId:e.requestId||e.id||null,record:e.record||r.record||{branch:e.branch||r.branch||null,summary:e.summary||r.summary||null,previewEntrypoints:[{type:"worktree-diff",branch:e.branch||r.branch||null}]}},{kind:"server"});case"worktree-merged":case"worktree.merged":return y("worktree:merge:completed",{requestId:e.requestId||e.id||null,record:e.record||r.record||{branch:e.branch||r.branch||null,summary:e.summary||r.summary||null,conflicts:e.conflicts||r.conflicts||[],previewEntrypoints:e.previewEntrypoints||r.previewEntrypoints||[]}},{kind:"server"});case"compression-stats":case"context.compaction.completed":return y("compression:summary",{requestId:e.requestId||e.id||null,summary:e.summary||r.summary||{}},{kind:"server"});default:return null}}function W(e,n=null){O.forEach(r=>r(e,n||e))}function K(e){if(!e)return null;const n=e.record||{id:e.id||null,type:e.type||null,provider:e.provider||null,model:e.model||null,projectRoot:e.projectRoot||null,messageCount:e.messageCount??0,history:e.history||[],status:e.status||null};return{...e,id:e.id||n.id,type:e.type||n.type,provider:e.provider||n.provider,model:e.model||n.model,projectRoot:e.projectRoot||n.projectRoot,messageCount:e.messageCount??n.messageCount??0,status:e.status||n.status||null,record:n}}const V=U("ws",()=>{const e=b(null),n=b("disconnected"),r=b(null),c=new Map,i=new Map;let l=null,h=1e3,k=!1;const f=window.__CC_CONFIG__||{},P=B(()=>`ws://${f.wsHost||"127.0.0.1"}:${f.wsPort||18800}`);function S(){if(!(e.value?.readyState===WebSocket.OPEN||e.value?.readyState===WebSocket.CONNECTING)){clearTimeout(l),l=null,k=!1,n.value="connecting",r.value=null;try{const t=new WebSocket(P.value);e.value=t,t.onopen=()=>{h=1e3,f.wsToken?d({type:"auth",id:m(),token:f.wsToken}).then(()=>{n.value="connected"}).catch(()=>{n.value="connected"}):n.value="connected"},t.onmessage=s=>{let o;try{o=JSON.parse(s.data)}catch{return}q(o)},t.onerror=()=>{r.value="WebSocket error",n.value="error"},t.onclose=()=>{if(n.value="disconnected",e.value=null,c.forEach(({reject:s})=>s(new Error("WebSocket closed"))),c.clear(),k){k=!1,l=null;return}l=setTimeout(()=>{h=Math.min(h*2,3e4),l=null,S()},h)}}catch(t){n.value="error",r.value=t.message}}}function x(){clearTimeout(l),l=null,k=!0,e.value?.close(),e.value=null,n.value="disconnected"}function N(t){if(!t.version&&!t.payload)return t;const s=t.payload||{};return{...t,...s,type:t.type,sessionId:t.sessionId||s.sessionId||null}}function q(t){const{type:s}=t,o=t.requestId||t.id;let u=!1;if(o&&c.has(o)){const{resolve:w,reject:R,timeout:I}=c.get(o);clearTimeout(I),c.delete(o),u=!0;const C=N(t);C.id=o,s==="error"?R(new Error(C.message||"Unknown error")):w(C)}const a=t.sessionId||t.payload&&t.payload.sessionId||null;if(a&&i.has(a)){const w=N(t);i.get(a).forEach(I=>I(w))}E.forEach(w=>w(t));const v=Q(t);return v&&W(v,t),u}const E=new Set;function J(t){return E.add(t),()=>E.delete(t)}function j(t){return O.add(t),()=>O.delete(t)}function A(t,s){return i.has(t)||i.set(t,new Set),i.get(t).add(s),()=>{i.get(t)?.delete(s),i.get(t)?.size===0&&i.delete(t)}}function d(t,s=15e3){return new Promise((o,u)=>{if(e.value?.readyState!==WebSocket.OPEN){u(new Error("WebSocket not connected"));return}const a=t.id||m(),v=setTimeout(()=>{c.delete(a),u(new Error("Request timeout"))},s);c.set(a,{resolve:o,reject:u,timeout:v}),e.value.send(JSON.stringify({...t,id:a}))})}function p(t=8e3){return n.value==="connected"?Promise.resolve():new Promise((s,o)=>{const u=Date.now()+t,a=()=>{if(n.value==="connected")return s();if(n.value==="error"||Date.now()>=u)return o(new Error(`WS not ready: ${n.value}`));setTimeout(a,150)};n.value==="disconnected"&&S(),a()})}async function T(t,s=3e4){await p(8e3);const o=await d({type:"execute",command:t},s),u=o.output??o.stdout??"",a=o.stderr??"";return{output:u||a,exitCode:o.exitCode??0}}async function M(t,s=3e4){const{output:o,exitCode:u}=await T(t,s);if(u!==0)throw new Error(`Command failed: ${o}`);try{return JSON.parse(o.trim())}catch{const a=o.match(/\{[\s\S]*\}|\[[\s\S]*\]/);if(a)return JSON.parse(a[0]);throw new Error(`Invalid JSON output: ${o.slice(0,200)}`)}}async function _(t="chat",s=null,o={}){await p(8e3);const a={type:"session-create",id:m(),sessionType:t,projectRoot:s||f.projectRoot||null};return o.systemPromptExtension&&(a.systemPromptExtension=o.systemPromptExtension),Array.isArray(o.shellPolicyOverrides)&&o.shellPolicyOverrides.length&&(a.shellPolicyOverrides=o.shellPolicyOverrides),(await d(a)).sessionId}function $(t,s){e.value?.readyState===WebSocket.OPEN&&e.value.send(JSON.stringify({type:"session-message",id:m(),sessionId:t,content:s}))}function D(t,s,o){e.value?.readyState===WebSocket.OPEN&&e.value.send(JSON.stringify({type:"session-answer",id:m(),sessionId:t,requestId:s,answer:o}))}async function H(){return await p(8e3),((await d({type:"session-list"},1e4)).sessions||[]).map(K).filter(Boolean)}async function z(t){try{await d({type:"session-close",sessionId:t},5e3),W(y("session:end",{sessionId:t},{kind:"server",sessionId:t}),{type:"result",sessionId:t,success:!0})}catch{}}async function G(t){return await p(8e3),await d({type:"session-resume",sessionId:t},1e4)}return{status:n,error:r,wsUrl:P,connect:S,disconnect:x,waitConnected:p,onMessage:J,onRuntimeEvent:j,onSession:A,sendRaw:d,execute:T,executeJson:M,createSession:_,resumeSession:G,sendSessionMessage:$,answerQuestion:D,listSessions:H,closeSession:z}});export{V as u};
@@ -1,4 +1,4 @@
1
- import{K as o}from"./Keyframes-C7fCrnlS.js";import{i as f}from"./motion-sEbWmOWo.js";const c=new o("antZoomIn",{"0%":{transform:"scale(0.2)",opacity:0},"100%":{transform:"scale(1)",opacity:1}}),y=new o("antZoomOut",{"0%":{transform:"scale(1)"},"100%":{transform:"scale(0.2)",opacity:0}}),a=new o("antZoomBigIn",{"0%":{transform:"scale(0.8)",opacity:0},"100%":{transform:"scale(1)",opacity:1}}),s=new o("antZoomBigOut",{"0%":{transform:"scale(1)"},"100%":{transform:"scale(0.8)",opacity:0}}),g=new o("antZoomUpIn",{"0%":{transform:"scale(0.8)",transformOrigin:"50% 0%",opacity:0},"100%":{transform:"scale(1)",transformOrigin:"50% 0%"}}),O=new o("antZoomUpOut",{"0%":{transform:"scale(1)",transformOrigin:"50% 0%"},"100%":{transform:"scale(0.8)",transformOrigin:"50% 0%",opacity:0}}),l=new o("antZoomLeftIn",{"0%":{transform:"scale(0.8)",transformOrigin:"0% 50%",opacity:0},"100%":{transform:"scale(1)",transformOrigin:"0% 50%"}}),u=new o("antZoomLeftOut",{"0%":{transform:"scale(1)",transformOrigin:"0% 50%"},"100%":{transform:"scale(0.8)",transformOrigin:"0% 50%",opacity:0}}),p=new o("antZoomRightIn",{"0%":{transform:"scale(0.8)",transformOrigin:"100% 50%",opacity:0},"100%":{transform:"scale(1)",transformOrigin:"100% 50%"}}),z=new o("antZoomRightOut",{"0%":{transform:"scale(1)",transformOrigin:"100% 50%"},"100%":{transform:"scale(0.8)",transformOrigin:"100% 50%",opacity:0}}),K=new o("antZoomDownIn",{"0%":{transform:"scale(0.8)",transformOrigin:"50% 100%",opacity:0},"100%":{transform:"scale(1)",transformOrigin:"50% 100%"}}),w=new o("antZoomDownOut",{"0%":{transform:"scale(1)",transformOrigin:"50% 100%"},"100%":{transform:"scale(0.8)",transformOrigin:"50% 100%",opacity:0}}),I={zoom:{inKeyframes:c,outKeyframes:y},"zoom-big":{inKeyframes:a,outKeyframes:s},"zoom-big-fast":{inKeyframes:a,outKeyframes:s},"zoom-left":{inKeyframes:l,outKeyframes:u},"zoom-right":{inKeyframes:p,outKeyframes:z},"zoom-up":{inKeyframes:g,outKeyframes:O},"zoom-down":{inKeyframes:K,outKeyframes:w}},h=(n,r)=>{const{antCls:m}=n,t=`${m}-${r}`,{inKeyframes:i,outKeyframes:e}=I[r];return[f(t,i,e,r==="zoom-big-fast"?n.motionDurationFast:n.motionDurationMid),{[`
1
+ import{K as o}from"./Keyframes-C7fCrnlS.js";import{i as f}from"./motion-DPnqtODq.js";const c=new o("antZoomIn",{"0%":{transform:"scale(0.2)",opacity:0},"100%":{transform:"scale(1)",opacity:1}}),y=new o("antZoomOut",{"0%":{transform:"scale(1)"},"100%":{transform:"scale(0.2)",opacity:0}}),a=new o("antZoomBigIn",{"0%":{transform:"scale(0.8)",opacity:0},"100%":{transform:"scale(1)",opacity:1}}),s=new o("antZoomBigOut",{"0%":{transform:"scale(1)"},"100%":{transform:"scale(0.8)",opacity:0}}),g=new o("antZoomUpIn",{"0%":{transform:"scale(0.8)",transformOrigin:"50% 0%",opacity:0},"100%":{transform:"scale(1)",transformOrigin:"50% 0%"}}),O=new o("antZoomUpOut",{"0%":{transform:"scale(1)",transformOrigin:"50% 0%"},"100%":{transform:"scale(0.8)",transformOrigin:"50% 0%",opacity:0}}),l=new o("antZoomLeftIn",{"0%":{transform:"scale(0.8)",transformOrigin:"0% 50%",opacity:0},"100%":{transform:"scale(1)",transformOrigin:"0% 50%"}}),u=new o("antZoomLeftOut",{"0%":{transform:"scale(1)",transformOrigin:"0% 50%"},"100%":{transform:"scale(0.8)",transformOrigin:"0% 50%",opacity:0}}),p=new o("antZoomRightIn",{"0%":{transform:"scale(0.8)",transformOrigin:"100% 50%",opacity:0},"100%":{transform:"scale(1)",transformOrigin:"100% 50%"}}),z=new o("antZoomRightOut",{"0%":{transform:"scale(1)",transformOrigin:"100% 50%"},"100%":{transform:"scale(0.8)",transformOrigin:"100% 50%",opacity:0}}),K=new o("antZoomDownIn",{"0%":{transform:"scale(0.8)",transformOrigin:"50% 100%",opacity:0},"100%":{transform:"scale(1)",transformOrigin:"50% 100%"}}),w=new o("antZoomDownOut",{"0%":{transform:"scale(1)",transformOrigin:"50% 100%"},"100%":{transform:"scale(0.8)",transformOrigin:"50% 100%",opacity:0}}),I={zoom:{inKeyframes:c,outKeyframes:y},"zoom-big":{inKeyframes:a,outKeyframes:s},"zoom-big-fast":{inKeyframes:a,outKeyframes:s},"zoom-left":{inKeyframes:l,outKeyframes:u},"zoom-right":{inKeyframes:p,outKeyframes:z},"zoom-up":{inKeyframes:g,outKeyframes:O},"zoom-down":{inKeyframes:K,outKeyframes:w}},h=(n,r)=>{const{antCls:m}=n,t=`${m}-${r}`,{inKeyframes:i,outKeyframes:e}=I[r];return[f(t,i,e,r==="zoom-big-fast"?n.motionDurationFast:n.motionDurationMid),{[`
2
2
  ${t}-enter,
3
3
  ${t}-appear
4
4
  `]:{transform:"scale(0)",opacity:0,animationTimingFunction:n.motionEaseOutCirc,"&-prepare":{transform:"none"}},[`${t}-leave`]:{animationTimingFunction:n.motionEaseInOutCirc}}]};export{h as i,c as z};
@@ -8,9 +8,9 @@
8
8
  // Injected by web-ui-server.js at serve time
9
9
  window.__CC_CONFIG__ = __CC_CONFIG_PLACEHOLDER__;
10
10
  </script>
11
- <script type="module" crossorigin src="./assets/index-Dn_OQQaV.js"></script>
12
- <link rel="modulepreload" crossorigin href="./assets/vendor-C5RM7MZO.js">
13
- <link rel="modulepreload" crossorigin href="./assets/icons-CpgFsfkd.js">
11
+ <script type="module" crossorigin src="./assets/index-4C1c4hkZ.js"></script>
12
+ <link rel="modulepreload" crossorigin href="./assets/vendor-aH7YaPZi.js">
13
+ <link rel="modulepreload" crossorigin href="./assets/icons-DzieZiVh.js">
14
14
  <link rel="stylesheet" crossorigin href="./assets/index-CyGyEIVX.css">
15
15
  </head>
16
16
  <body>