@dahawa/hawa-code 2.4.29 → 2.4.31
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cli.js +634 -632
- package/hands.js +546 -544
- package/hawa.js +1 -1
- package/package.json +1 -1
- package/webServer/app.js +2 -2
package/hawa.js
CHANGED
|
@@ -9,4 +9,4 @@ const __dirname = dirname(__filename);
|
|
|
9
9
|
|
|
10
10
|
import{spawn as ie}from"child_process";import L from"path";import{fileURLToPath as ae}from"url";import{existsSync as U,readFileSync as xe,writeFileSync as I,mkdirSync as Ee,watch as ne}from"fs";import{join as se,dirname as we}from"path";import{homedir as Ae}from"os";import{existsSync as q,mkdirSync as pe}from"fs";import{dirname as fe,join as g}from"path";import{writeFileSync as de,readFileSync as Ze,appendFileSync as me}from"fs";import{randomUUID as Se}from"crypto";import{homedir as he}from"os";var Y="hcode",T=".hcode";var ce="HAWA_CODE_GIT_BASH_PATH";var le="Bash",ue="PowerShell";var Ue=H()?ue:le;function H(){return process.platform!=="win32"?!1:process.env.HAWA_CODE_POWER_SHELL_ENABLE==="true"||process.env.HAWA_CODE_POWER_SHELL_ENABLE==="1"?!0:!(process.env.HAWA_CODE_POWER_SHELL_ENABLE==="false"||process.env.HAWA_CODE_POWER_SHELL_ENABLE==="0"||process.env[ce])}import*as Z from"os";import{randomUUID as ge}from"crypto";var W=class{listeners=new Map;registry=new FinalizationRegistry(e=>{for(let[t,n]of this.listeners.entries()){for(let s of Array.from(n))s.token===e&&n.delete(s);n.size===0&&this.listeners.delete(t)}});on(e,t,n){let s=this.listeners.get(e);s||(s=new Set,this.listeners.set(e,s));let r={callback:t,thisRef:n?new WeakRef(n):void 0};if(n){let i={};r.token=i,this.registry.register(n,i,i)}return s.add(r),()=>{this.off(e,t,n)}}off(e,t,n){let s=this.listeners.get(e);if(s){if(!t&&n===void 0){for(let r of s)r.token&&this.registry.unregister(r.token);this.listeners.delete(e);return}for(let r of Array.from(s)){let i=t?r.callback===t:!0,l=!0;n!==void 0&&(l=r.thisRef?.deref()===n),i&&l&&(r.token&&this.registry.unregister(r.token),s.delete(r))}s.size===0&&this.listeners.delete(e)}}emit(e,t){let n=this.listeners.get(e);if(n)for(let s of Array.from(n)){let r;if(s.thisRef&&(r=s.thisRef.deref(),!r)){n.delete(s);continue}try{let i=s.callback.call(r,t);i instanceof Promise&&i.catch(l=>{h(`Async error in listener for "${e}"`,l)})}catch(i){h(`Error in listener for "${e}"`,i)}}}},y=new W;var N=class{datas={};setData(e,t){this.datas[e]=t}getData(e){return this.datas[e]}takeData(e){let t=this.datas[e];return delete this.datas[e],t}clear(){this.datas={}}},P=class extends N{startTime;constructor(e=null){super(),this.startTime=e}},K=ge(),$=class extends N{PENDING_PROMPTS_KEY="pendingPrompts";addPendingPrompt(e){let t=this.getPendingPrompts();t.push(e),this.setData(this.PENDING_PROMPTS_KEY,t)}getPendingPrompts(){let e=this.getData(this.PENDING_PROMPTS_KEY);return Array.isArray(e)?e:[]}takePendingPrompts(){let e=this.getPendingPrompts();return this.setData(this.PENDING_PROMPTS_KEY,[]),e}async waitGetPendingPrompts(e){let n=Date.now(),s=e*1e3;for(;Date.now()-n<s;){let r=this.getPendingPrompts();if(r.length>0)return r;await new Promise(i=>setTimeout(i,200))}return[]}getSessionId(){return K}switchSessionId(e){K=e}},z=class o{static sessionContext={};static inQueryContextHolder={};static queryContext={};onQueryStart(e="defalt",t){e||(e="defalt");let n=o.inQueryContextHolder[e+""];n&&n.startTime&&n.startTime>0||(o.inQueryContextHolder[e+""]=new P(Date.now()),y.emit("webserver:agent_status",{agentId:e,status:"started",agentType:t?.agentType,agentName:t?.agentName,description:t?.description,timestamp:Date.now()}))}onQueryEnd(e="defalt",t=!1){e||(e="defalt"),o.inQueryContextHolder[e+""]=new P(-1),t||(o.queryContext[e+""]={}),y.emit("webserver:agent_status",{agentId:e,status:"ended",timestamp:Date.now()})}getSessionContext(e="defalt"){e||(e="defalt");let t=o.sessionContext[e+""];return t||(t=new $,o.sessionContext[e+""]=t),t}getInQueryContext(e="defalt"){e||(e="defalt");let t=o.inQueryContextHolder[e+""];return t||(t=new P,o.inQueryContextHolder[e+""]=t),t}getQueryContext(e="defalt"){e||(e="defalt");let t=o.queryContext[e+""];return t||(t={},o.queryContext[e+""]=t),t}isQuerying(e="defalt"){return e||(e="defalt"),this.getInQueryContext(e).startTime>0}},X=new z;var at=Se(),d=g(he(),T);function m(o){return o.replace(/[^a-zA-Z0-9]/g,"-")}function ye(){return X.getSessionContext().getSessionId()||G}function be(){try{let o=x().planDirectory;if(o)return o}catch{}return g(d,"plan")}var ee={temp:()=>g(Z.tmpdir(),`${Y}`),plan:()=>be(),memory:()=>g(d,"projects",m(process.cwd()),"memory"),apis:()=>g(d,"projects",m(process.cwd()),"apis"),errors:()=>g(d,"projects",m(process.cwd()),"errors"),messages:()=>g(d,"projects",m(process.cwd()),"messages"),mcpLogs:o=>g(d,"projects",m(process.cwd()),`mcp-logs-${o}`),log:()=>g(d,"projects",m(process.cwd()),"log"),vcrFixtures:()=>g(d,"projects",m(process.cwd()),"vcr-fixtures"),sessionSummary:()=>g(d,"projects",m(process.cwd()),"messages",ye(),"session-summary")};function _e(o){return o.toISOString().replace(/[:.]/g,"-")}var G=_e(new Date);function Me(){return g(ee.log(),G+".log")}function Te(){return g(ee.log(),"error-"+G+".log")}function te(o,e,...t){let n=t.map(s=>s instanceof Error?`${s.name}: ${s.message}
|
|
11
11
|
${s.stack.replace(/^/gm," ")}`:s);Oe(e,{level:o,message:n.length==1?n[0]:n})}function O(...o){te("info",Me(),...o)}function h(...o){te("error",Te(),...o)}function v(...o){h(...o)}function Oe(o,e){let t=fe(o);q(t)||pe(t,{recursive:!0});let s=(typeof e=="string"?e:JSON.stringify(e))+`
|
|
12
|
-
`;q(o)?me(o,s,"utf8"):de(o,s,"utf8")}var ct=5*1024*1024,lt=1024*1024,ut=Buffer.from('"compact_boundary"');var R=class o{static getTools=e=>[];static getMCPCommands=()=>[];static getMcpServer=e=>{};static getClients=async()=>[];static reloadClients=async()=>[];static reconnect=async(e,t,n)=>{};static registerIDEClient=(e,t)=>{};static cache=[];static add(e){o.cache.push(e)}static clear(){o.cache.forEach(e=>{e.cache.clear?.()})}};var j={env:{},permissions:{allow:[],deny:[],ask:[]},enableAllProjectMcpServers:!1,enabledMcpjsonServers:[],autoCompactEnabled:!0,language:"auto",thinking:"medium",disableSuggestion:!1,lazyTool:"loading",memo:!1,messageArchiving:!1,archiveToolUseInputs:!1,autoMode:{enabled:!0,model:"",maxConsecutiveDenials:3,maxTotalDenials:20},autoMemory:{enabled:!0,minTokens:3e3,minTurns:3,teamMemoryEnabled:!1},autoDream:{enabled:!0,minHours:24,minSessions:5},proxy:!1,agentDepth:1,plugins:{pluginClaudeCompat:!0}},k=class o{static test=!1;static testSettings;static setSettings(e){o.testSettings=e}static instance;static isTasksEnable(){return process.env.HAWA_CODE_ENABLE_TASKS=="true"||o.isAgentTeamEnable()}static isAgentTeamEnable(){return process.env.HAWA_CODE_EXPERIMENTAL_AGENT_TEAMS=="1"}static getLazyToolMode(){let e=x();if(e.proxyToolEnable===!0)return"proxy";let t=e.lazyTool;return t==="proxy"||t==="loading"||t==="off"?t:t===!0?"loading":t===!1?"off":"loading"}static isLazyToolEnable(){return o.getLazyToolMode()==="loading"}static isProxyToolEnable(){return o.getLazyToolMode()==="proxy"}static isLazyOrProxyEnable(){return o.getLazyToolMode()!=="off"}static isPowerShellToolEnable(){return H()}static isMemoEnable(){return x().memo===!0}static isMessageArchivingEnable(){return x().messageArchiving===!0}static isArchiveToolUseInputsEnable(){return x().archiveToolUseInputs===!0}constructor(){this.initializeConfigDirectories()}initializeConfigDirectories(){let e=this.getUserSettingsPath(),t=this.getProjectSettingsPath();this.ensureDirExists(e),U(e)||I(e,JSON.stringify(this.getDefaultSettingsStructure(),null,2),"utf-8"),this.ensureDirExists(t),U(t)||I(t,JSON.stringify(this.getDefaultSettingsStructure(),null,2),"utf-8")}getDefaultSettingsStructure(){return{env:{},permissions:{allow:[],deny:[],ask:[]},autoMode:{enabled:!0,model:"",maxConsecutiveDenials:3,maxTotalDenials:20},thinking:"medium"}}static getInstance(){return o.instance||(o.instance=new o),o.instance}addProjectAllowedTools(e){let t=this.loadSettingsFromFile(this.getProjectSettingsPath()),n=t.permissions||{allow:[],deny:[]};if(n.allow||(n.allow=[]),n.allow.includes(e))O(`\u5DE5\u5177 '${e}' \u5DF2\u5B58\u5728\u4E8E\u9879\u76EE\u5141\u8BB8\u5217\u8868\u4E2D\uFF0C\u65E0\u9700\u91CD\u590D\u6DFB\u52A0`);else{n.allow.push(e),n.allow.sort();let s={...t,permissions:{...n}};this.saveSettingsToFile(this.getProjectSettingsPath(),s,j),O(`\u5DF2\u5C06\u5DE5\u5177 '${e}' \u6DFB\u52A0\u5230\u9879\u76EE\u5141\u8BB8\u5217\u8868`)}}getUserSettingsPath(){return se(Ae(),".hcode","settings.json")}getProjectSettingsPath(){let e=process.cwd();return se(e,".hcode","settings.json")}ensureDirExists(e){let t=we(e);U(t)||Ee(t,{recursive:!0})}loadSettingsFromFile(e){if(!U(e))return{};let t="";try{return t=xe(e,"utf-8"),JSON.parse(t)}catch(n){return console.error(`Error reading settings file ${e} => ${t} `,n),{}}}saveSettingsToFile(e,t,n){let s={...t};for(let[r,i]of Object.entries(t))if(r in n)if(typeof i=="object"&&typeof n[r]=="object"){if(JSON.stringify(i)===JSON.stringify(n[r]))delete s[r];else if(r==="permissions"&&i&&typeof i=="object"){let l=n.permissions||{},c=i;Array.isArray(c.allow)&&Array.isArray(l.allow)&&JSON.stringify(c.allow)===JSON.stringify(l.allow)&&delete c.allow,Array.isArray(c.deny)&&Array.isArray(l.deny)&&JSON.stringify(c.deny)===JSON.stringify(l.deny)&&delete c.deny,Object.keys(c).length===0&&delete s[r]}}else i===n[r]&&delete s[r];this.ensureDirExists(e),Object.keys(s).length===0?I(e,"{}","utf-8"):I(e,JSON.stringify(s,null,2),"utf-8")}mergeStringArrays(e,t){if(!e&&!t)return;let n=[...e||[]];return(t||[]).forEach(s=>{n.includes(s)||n.push(s)}),n}loadSettings(){let e=this.loadSettingsFromFile(this.getUserSettingsPath()),t=this.loadSettingsFromFile(this.getProjectSettingsPath()),n={...e.env,...t.env},s={...e.permissions};if(e.permissions?.allow&&t.permissions?.allow){let a=[...e.permissions.allow];t.permissions.allow.forEach(u=>{a.includes(u)||a.push(u)}),s.allow=a}else t.permissions?.allow&&(s.allow=[...t.permissions.allow]);if(e.permissions?.deny&&t.permissions?.deny){let a=[...e.permissions.deny];t.permissions.deny.forEach(u=>{a.includes(u)||a.push(u)}),s.deny=a}else t.permissions?.deny&&(s.deny=[...t.permissions.deny]);if(e.permissions?.ask&&t.permissions?.ask){let a=[...e.permissions.ask];t.permissions.ask.forEach(u=>{a.includes(u)||a.push(u)}),s.ask=a}else t.permissions?.ask&&(s.ask=[...t.permissions.ask]);let r={...j,...e,...t};n&&Object.keys(n).length>0&&(r.env=n),s&&(s.allow||s.deny||s.ask)&&(r.permissions=s);let i=e.sandbox,l=t.sandbox;if(i||l){let a={...i,...l},u=i?.filesystem,b=l?.filesystem;(u||b)&&(a.filesystem={...u,...b,allowWrite:this.mergeStringArrays(u?.allowWrite,b?.allowWrite),denyWrite:this.mergeStringArrays(u?.denyWrite,b?.denyWrite),denyRead:this.mergeStringArrays(u?.denyRead,b?.denyRead),allowRead:this.mergeStringArrays(u?.allowRead,b?.allowRead)});let A=i?.network,C=l?.network;(A||C)&&(a.network={...A,...C,allowedDomains:this.mergeStringArrays(A?.allowedDomains,C?.allowedDomains),deniedDomains:this.mergeStringArrays(A?.deniedDomains,C?.deniedDomains),allowUnixSockets:this.mergeStringArrays(A?.allowUnixSockets,C?.allowUnixSockets)});let F=i?.ignoreViolations,B=l?.ignoreViolations;if(F||B){let _={};if(F)for(let[M,D]of Object.entries(F))_[M]=[...D];if(B)for(let[M,D]of Object.entries(B))_[M]?_[M]=this.mergeStringArrays(_[M],D)??[]:_[M]=[...D];a.ignoreViolations=_}r.sandbox=a}let c=e.plugins,f=t.plugins;if(c||f){let a={...c,...f};(c?.enabledPlugins||f?.enabledPlugins)&&(a.enabledPlugins=this.mergeStringArrays(c?.enabledPlugins,f?.enabledPlugins)),(c?.disabledPlugins||f?.disabledPlugins)&&(a.disabledPlugins=this.mergeStringArrays(c?.disabledPlugins,f?.disabledPlugins)),(c?.pluginMarketplaceAllowlist||f?.pluginMarketplaceAllowlist)&&(a.pluginMarketplaceAllowlist=this.mergeStringArrays(c?.pluginMarketplaceAllowlist,f?.pluginMarketplaceAllowlist)),(c?.pluginConfigs||f?.pluginConfigs)&&(a.pluginConfigs={...c?.pluginConfigs,...f?.pluginConfigs}),r.plugins=a}return r}saveUserSettings(e){let t=this.getUserSettingsPath();this.saveSettingsToFile(t,e,j)}saveProjectSettings(e){let t=this.getProjectSettingsPath();this.saveSettingsToFile(t,e,j)}getSetting(e){return this.loadSettings()[e]}updateSetting(e,t){let s={...this.loadSettings(),[e]:t};this.saveProjectSettings(s),p=s}resetSetting(e){let n={...this.loadSettings()};delete n[e],this.saveProjectSettings(n),p=n}getAllSettings(){return this.loadSettings()}},E=k.getInstance(),p=E.getAllSettings(),x=function(){return k.test?k.testSettings:(p||(p=E.getAllSettings(),R.clear(),p.env&&Object.keys(p.env).length>0&&(Object.entries(p.env).forEach(([o,e])=>{let t;typeof e=="string"?t=e:t=String(e),t.length>0&&(process.env[o]=t)}),O(`\u5DF2\u4ECE\u914D\u7F6E\u6587\u4EF6\u52A0\u8F7D ${Object.keys(p.env).length} \u4E2A\u73AF\u5883\u53D8\u91CF`,p.env))),p)};function J(){let o=E.getUserSettingsPath(),e=E.getProjectSettingsPath();ne(o,(t,n)=>{t==="change"&&(p=null,y.emit("webserver:settings_changed",{scope:"user"}),O("\u7528\u6237\u7EA7\u914D\u7F6E\u5DF2\u70ED\u52A0\u8F7D"))}).on("error",t=>{h("\u7528\u6237\u7EA7\u914D\u7F6E\u76D1\u63A7\u51FA\u9519:",t),setTimeout(()=>J(),100)}).unref(),ne(e,(t,n)=>{t==="change"&&(p=null,y.emit("webserver:settings_changed",{scope:"project"}),O("\u9879\u76EE\u7EA7\u914D\u7F6E\u5DF2\u70ED\u52A0\u8F7D",n))}).on("error",t=>{h("\u9879\u76EE\u7EA7\u914D\u7F6E\u76D1\u63A7\u51FA\u9519:",t),setTimeout(()=>J(),100)}).unref()}J();import Ce from"os";import re from"path";import S from"fs";var Q={sources:{openai:{base_url:"https://api.openai.com/v1",auth_token:"{apikey}",api_type:"openai",models:["gpt-5.5","gpt-5.4-mini"]},kimi:{base_url:"https://api.kimi.com/coding",auth_token:"{apikey}",api_type:"anthropic",models:["K2.5","K2.6"]},"qwen-coding":{base_url:"https://coding.dashscope.aliyuncs.com/apps/anthropic",auth_token:"{apikey}",api_type:"anthropic",models:["qwen3-coder-plus"]}},routing:{MODEL:[{source:"kimi",model:"K2.6",weight:60},{source:"openai",model:"gpt-5.5",weight:40}],SMALL_FAST_MODEL:[{source:"qwen-coding",model:"qwen3-coder-plus",weight:50},{source:"kimi",model:"K2.5",weight:50}]}};function Pe(){let o=Ce.homedir();return re.join(o,T,"config.json")}function oe(o){if(o.length===0)throw new Error("No items to select from");if(o.length===1)return o[0];let e=o.reduce((n,s)=>n+(s.weight??100),0),t=Math.random()*e;for(let n of o){let s=n.weight??100;if(t-=s,t<=0)return n}return o[o.length-1]}var V=class{config;configPath;constructor(e){this.configPath=e||Pe();try{this.config=this.loadModelConfig()}catch(t){console.log(t)}}initConfig(){if(!S.existsSync(this.configPath))try{let e=re.dirname(this.configPath);S.mkdirSync(e,{recursive:!0}),S.writeFileSync(this.configPath,JSON.stringify(Q,null,2))}catch(e){v(e)}}reload(){this.config=this.loadModelConfig()}loadModelConfig(){try{if(!S.existsSync(this.configPath))return Q;let e=S.readFileSync(this.configPath,"utf-8"),t=JSON.parse(e);return t.sources&&t.routing?t:Q}catch(e){throw v(e),e}}getConfig(){return this.config}hasModelRouting(){return!!(this.config.routing?.MODEL&&this.config.routing.MODEL.length>0)}getModelRoutingModels(){let e=this.config.routing?.MODEL;return!e||e.length===0?[]:e.map(t=>t.model)}hasSmallFastModelRouting(){return!!(this.config.routing?.SMALL_FAST_MODEL&&this.config.routing.SMALL_FAST_MODEL.length>0)}getModel(){let e=this.config.routing?.MODEL;if(!e||e.length===0)throw new Error("No MODEL routing configuration found");let t=oe(e);return`${t.source}__${t.model}`}getSmallFastModel(){let e=this.config.routing?.SMALL_FAST_MODEL;if(!e||e.length===0)throw new Error("No SMALL_FAST_MODEL routing configuration found");let t=oe(e);return`${t.source}__${t.model}`}getSourceConfig(e){return this.config.sources?.[e]}parseModelKey(e){let t=e.indexOf("__");return t===-1?{source:"",model:e}:{source:e.slice(0,t),model:e.slice(t+2)}}getModelSourceConfig(e){let{source:t}=this.parseModelKey(e);if(t)return this.getSourceConfig(t)}setModelRouting(e){this.config.routing.MODEL=e,this.saveConfig()}setSmallFastModelRouting(e){this.config.routing.SMALL_FAST_MODEL=e,this.saveConfig()}updateConfig(e){this.config=e,this.saveConfig()}getAvailableModels(){let e=[];for(let[t,n]of Object.entries(this.config.sources||{}))for(let s of n.models||[])e.push(`${t}__${s}`);return e}saveConfig(){try{let e={};if(S.existsSync(this.configPath)){let n=S.readFileSync(this.configPath,"utf-8");e=JSON.parse(n)}let t={...e,sources:this.config.sources,routing:this.config.routing};S.writeFileSync(this.configPath,JSON.stringify(t,null,2))}catch(e){v(e)}}},w=new V;import ke from"os";function Le(){return L.join(ke.homedir(),T,"config.json")}function De(){try{w.reload()}catch(s){return console.error(`\u914D\u7F6E\u6587\u4EF6\u9519\u8BEF: ${s instanceof Error?s.message:String(s)}`),console.error(`\u914D\u7F6E\u6587\u4EF6\u8DEF\u5F84: ${Le()}`),!1}let o=w.hasModelRouting(),e=w.hasSmallFastModelRouting();if(!o&&!e)return!1;let t=w.getConfig(),n=t.routing||{};for(let[s,r]of Object.entries(n))for(let i of r)if(!t.sources[i.source])return console.error(`\u914D\u7F6E\u9519\u8BEF: routing.${s} \u4E2D\u5F15\u7528\u7684 source "${i.source}" \u5728 sources \u4E2D\u4E0D\u5B58\u5728`),!1;return!0}function Ne(){if(w.initConfig(),!De()){process.exit(0);return}(async()=>{let o=E.getSetting("env")||{},e=ae(import.meta.url),t=L.dirname(e),n=L.join(t,"cli.js"),s=ie(process.execPath,["--no-deprecation",n,...process.argv.slice(2)],{env:{...process.env,...o},stdio:"inherit",cwd:process.cwd()});s.on("error",r=>{console.error("Failed to start command:",r.message),process.exit(1)}),s.on("close",r=>{process.exit(r||0)})})()}async function ve(){let o=ae(import.meta.url),e=L.dirname(o),t=L.join(e,"cli.js"),n=ie(process.execPath,["--no-deprecation",t,...process.argv.slice(2)],{env:process.env,stdio:"inherit",cwd:process.cwd()});n.on("error",s=>{console.error("Failed to start command:",s.message),process.exit(1)}),n.on("close",s=>{process.exit(s||0)})}async function Re(){process.argv.length<=2?Ne():await ve()}await Re();
|
|
12
|
+
`;q(o)?me(o,s,"utf8"):de(o,s,"utf8")}var ct=5*1024*1024,lt=1024*1024,ut=Buffer.from('"compact_boundary"');var R=class o{static getTools=e=>[];static getMCPCommands=()=>[];static getMcpServer=e=>{};static getClients=async()=>[];static reloadClients=async()=>[];static reconnect=async(e,t,n)=>{};static registerIDEClient=(e,t)=>{};static cache=[];static add(e){o.cache.push(e)}static clear(){o.cache.forEach(e=>{e.cache.clear?.()})}};var j={env:{},permissions:{allow:[],deny:[],ask:[]},enableAllProjectMcpServers:!1,enabledMcpjsonServers:[],autoCompactEnabled:!0,language:"auto",thinking:"medium",disableSuggestion:!1,lazyTool:"loading",memo:!1,messageArchiving:!1,archiveToolUseInputs:!1,autoMode:{enabled:!0,model:"",maxConsecutiveDenials:3,maxTotalDenials:20},autoMemory:{enabled:!0,minTokens:3e3,minTurns:3,teamMemoryEnabled:!1},autoDream:{enabled:!0,minHours:24,minSessions:5},proxy:!1,agentDepth:1,plugins:{pluginClaudeCompat:!0}},k=class o{static test=!1;static testSettings;static setSettings(e){o.testSettings=e}static instance;static isTasksEnable(){return process.env.HAWA_CODE_ENABLE_TASKS=="true"||o.isAgentTeamEnable()}static isAgentTeamEnable(){return process.env.HAWA_CODE_EXPERIMENTAL_AGENT_TEAMS=="1"}static getLazyToolMode(){let t=x().lazyTool;return t==="proxy"||t==="loading"||t==="off"?t:t===!0?"loading":t===!1?"off":"loading"}static isLazyToolEnable(){return o.getLazyToolMode()==="loading"}static isProxyToolEnable(){return o.getLazyToolMode()==="proxy"}static isLazyOrProxyEnable(){return o.getLazyToolMode()!=="off"}static isPowerShellToolEnable(){return H()}static isMemoEnable(){return x().memo===!0}static isMessageArchivingEnable(){return x().messageArchiving===!0}static isArchiveToolUseInputsEnable(){return x().archiveToolUseInputs===!0}constructor(){this.initializeConfigDirectories()}initializeConfigDirectories(){let e=this.getUserSettingsPath(),t=this.getProjectSettingsPath();this.ensureDirExists(e),U(e)||I(e,JSON.stringify(this.getDefaultSettingsStructure(),null,2),"utf-8"),this.ensureDirExists(t),U(t)||I(t,JSON.stringify(this.getDefaultSettingsStructure(),null,2),"utf-8")}getDefaultSettingsStructure(){return{env:{},permissions:{allow:[],deny:[],ask:[]},autoMode:{enabled:!0,model:"",maxConsecutiveDenials:3,maxTotalDenials:20},thinking:"medium"}}static getInstance(){return o.instance||(o.instance=new o),o.instance}addProjectAllowedTools(e){let t=this.loadSettingsFromFile(this.getProjectSettingsPath()),n=t.permissions||{allow:[],deny:[]};if(n.allow||(n.allow=[]),n.allow.includes(e))O(`\u5DE5\u5177 '${e}' \u5DF2\u5B58\u5728\u4E8E\u9879\u76EE\u5141\u8BB8\u5217\u8868\u4E2D\uFF0C\u65E0\u9700\u91CD\u590D\u6DFB\u52A0`);else{n.allow.push(e),n.allow.sort();let s={...t,permissions:{...n}};this.saveSettingsToFile(this.getProjectSettingsPath(),s,j),O(`\u5DF2\u5C06\u5DE5\u5177 '${e}' \u6DFB\u52A0\u5230\u9879\u76EE\u5141\u8BB8\u5217\u8868`)}}getUserSettingsPath(){return se(Ae(),".hcode","settings.json")}getProjectSettingsPath(){let e=process.cwd();return se(e,".hcode","settings.json")}ensureDirExists(e){let t=we(e);U(t)||Ee(t,{recursive:!0})}loadSettingsFromFile(e){if(!U(e))return{};let t="";try{return t=xe(e,"utf-8"),JSON.parse(t)}catch(n){return console.error(`Error reading settings file ${e} => ${t} `,n),{}}}saveSettingsToFile(e,t,n){let s={...t};for(let[r,i]of Object.entries(t))if(r in n)if(typeof i=="object"&&typeof n[r]=="object"){if(JSON.stringify(i)===JSON.stringify(n[r]))delete s[r];else if(r==="permissions"&&i&&typeof i=="object"){let l=n.permissions||{},c=i;Array.isArray(c.allow)&&Array.isArray(l.allow)&&JSON.stringify(c.allow)===JSON.stringify(l.allow)&&delete c.allow,Array.isArray(c.deny)&&Array.isArray(l.deny)&&JSON.stringify(c.deny)===JSON.stringify(l.deny)&&delete c.deny,Object.keys(c).length===0&&delete s[r]}}else i===n[r]&&delete s[r];this.ensureDirExists(e),Object.keys(s).length===0?I(e,"{}","utf-8"):I(e,JSON.stringify(s,null,2),"utf-8")}mergeStringArrays(e,t){if(!e&&!t)return;let n=[...e||[]];return(t||[]).forEach(s=>{n.includes(s)||n.push(s)}),n}loadSettings(){let e=this.loadSettingsFromFile(this.getUserSettingsPath()),t=this.loadSettingsFromFile(this.getProjectSettingsPath()),n={...e.env,...t.env},s={...e.permissions};if(e.permissions?.allow&&t.permissions?.allow){let a=[...e.permissions.allow];t.permissions.allow.forEach(u=>{a.includes(u)||a.push(u)}),s.allow=a}else t.permissions?.allow&&(s.allow=[...t.permissions.allow]);if(e.permissions?.deny&&t.permissions?.deny){let a=[...e.permissions.deny];t.permissions.deny.forEach(u=>{a.includes(u)||a.push(u)}),s.deny=a}else t.permissions?.deny&&(s.deny=[...t.permissions.deny]);if(e.permissions?.ask&&t.permissions?.ask){let a=[...e.permissions.ask];t.permissions.ask.forEach(u=>{a.includes(u)||a.push(u)}),s.ask=a}else t.permissions?.ask&&(s.ask=[...t.permissions.ask]);let r={...j,...e,...t};n&&Object.keys(n).length>0&&(r.env=n),s&&(s.allow||s.deny||s.ask)&&(r.permissions=s);let i=e.sandbox,l=t.sandbox;if(i||l){let a={...i,...l},u=i?.filesystem,b=l?.filesystem;(u||b)&&(a.filesystem={...u,...b,allowWrite:this.mergeStringArrays(u?.allowWrite,b?.allowWrite),denyWrite:this.mergeStringArrays(u?.denyWrite,b?.denyWrite),denyRead:this.mergeStringArrays(u?.denyRead,b?.denyRead),allowRead:this.mergeStringArrays(u?.allowRead,b?.allowRead)});let A=i?.network,C=l?.network;(A||C)&&(a.network={...A,...C,allowedDomains:this.mergeStringArrays(A?.allowedDomains,C?.allowedDomains),deniedDomains:this.mergeStringArrays(A?.deniedDomains,C?.deniedDomains),allowUnixSockets:this.mergeStringArrays(A?.allowUnixSockets,C?.allowUnixSockets)});let F=i?.ignoreViolations,B=l?.ignoreViolations;if(F||B){let _={};if(F)for(let[M,D]of Object.entries(F))_[M]=[...D];if(B)for(let[M,D]of Object.entries(B))_[M]?_[M]=this.mergeStringArrays(_[M],D)??[]:_[M]=[...D];a.ignoreViolations=_}r.sandbox=a}let c=e.plugins,f=t.plugins;if(c||f){let a={...c,...f};(c?.enabledPlugins||f?.enabledPlugins)&&(a.enabledPlugins=this.mergeStringArrays(c?.enabledPlugins,f?.enabledPlugins)),(c?.disabledPlugins||f?.disabledPlugins)&&(a.disabledPlugins=this.mergeStringArrays(c?.disabledPlugins,f?.disabledPlugins)),(c?.pluginMarketplaceAllowlist||f?.pluginMarketplaceAllowlist)&&(a.pluginMarketplaceAllowlist=this.mergeStringArrays(c?.pluginMarketplaceAllowlist,f?.pluginMarketplaceAllowlist)),(c?.pluginConfigs||f?.pluginConfigs)&&(a.pluginConfigs={...c?.pluginConfigs,...f?.pluginConfigs}),r.plugins=a}return r}saveUserSettings(e){let t=this.getUserSettingsPath();this.saveSettingsToFile(t,e,j)}saveProjectSettings(e){let t=this.getProjectSettingsPath();this.saveSettingsToFile(t,e,j)}getSetting(e){return this.loadSettings()[e]}updateSetting(e,t){let s={...this.loadSettings(),[e]:t};this.saveProjectSettings(s),p=s}resetSetting(e){let n={...this.loadSettings()};delete n[e],this.saveProjectSettings(n),p=n}getAllSettings(){return this.loadSettings()}},E=k.getInstance(),p=E.getAllSettings(),x=function(){return k.test?k.testSettings:(p||(p=E.getAllSettings(),R.clear(),p.env&&Object.keys(p.env).length>0&&(Object.entries(p.env).forEach(([o,e])=>{let t;typeof e=="string"?t=e:t=String(e),t.length>0&&(process.env[o]=t)}),O(`\u5DF2\u4ECE\u914D\u7F6E\u6587\u4EF6\u52A0\u8F7D ${Object.keys(p.env).length} \u4E2A\u73AF\u5883\u53D8\u91CF`,p.env))),p)};function J(){let o=E.getUserSettingsPath(),e=E.getProjectSettingsPath();ne(o,(t,n)=>{t==="change"&&(p=null,y.emit("webserver:settings_changed",{scope:"user"}),O("\u7528\u6237\u7EA7\u914D\u7F6E\u5DF2\u70ED\u52A0\u8F7D"))}).on("error",t=>{h("\u7528\u6237\u7EA7\u914D\u7F6E\u76D1\u63A7\u51FA\u9519:",t),setTimeout(()=>J(),100)}).unref(),ne(e,(t,n)=>{t==="change"&&(p=null,y.emit("webserver:settings_changed",{scope:"project"}),O("\u9879\u76EE\u7EA7\u914D\u7F6E\u5DF2\u70ED\u52A0\u8F7D",n))}).on("error",t=>{h("\u9879\u76EE\u7EA7\u914D\u7F6E\u76D1\u63A7\u51FA\u9519:",t),setTimeout(()=>J(),100)}).unref()}J();import Ce from"os";import re from"path";import S from"fs";var Q={sources:{openai:{base_url:"https://api.openai.com/v1",auth_token:"{apikey}",api_type:"openai",models:["gpt-5.5","gpt-5.4-mini"]},kimi:{base_url:"https://api.kimi.com/coding",auth_token:"{apikey}",api_type:"anthropic",models:["K2.5","K2.6"]},"qwen-coding":{base_url:"https://coding.dashscope.aliyuncs.com/apps/anthropic",auth_token:"{apikey}",api_type:"anthropic",models:["qwen3-coder-plus"]}},routing:{MODEL:[{source:"kimi",model:"K2.6",weight:60},{source:"openai",model:"gpt-5.5",weight:40}],SMALL_FAST_MODEL:[{source:"qwen-coding",model:"qwen3-coder-plus",weight:50},{source:"kimi",model:"K2.5",weight:50}]}};function Pe(){let o=Ce.homedir();return re.join(o,T,"config.json")}function oe(o){if(o.length===0)throw new Error("No items to select from");if(o.length===1)return o[0];let e=o.reduce((n,s)=>n+(s.weight??100),0),t=Math.random()*e;for(let n of o){let s=n.weight??100;if(t-=s,t<=0)return n}return o[o.length-1]}var V=class{config;configPath;constructor(e){this.configPath=e||Pe();try{this.config=this.loadModelConfig()}catch(t){console.log(t)}}initConfig(){if(!S.existsSync(this.configPath))try{let e=re.dirname(this.configPath);S.mkdirSync(e,{recursive:!0}),S.writeFileSync(this.configPath,JSON.stringify(Q,null,2))}catch(e){v(e)}}reload(){this.config=this.loadModelConfig()}loadModelConfig(){try{if(!S.existsSync(this.configPath))return Q;let e=S.readFileSync(this.configPath,"utf-8"),t=JSON.parse(e);return t.sources&&t.routing?t:Q}catch(e){throw v(e),e}}getConfig(){return this.config}hasModelRouting(){return!!(this.config.routing?.MODEL&&this.config.routing.MODEL.length>0)}getModelRoutingModels(){let e=this.config.routing?.MODEL;return!e||e.length===0?[]:e.map(t=>t.model)}hasSmallFastModelRouting(){return!!(this.config.routing?.SMALL_FAST_MODEL&&this.config.routing.SMALL_FAST_MODEL.length>0)}getModel(){let e=this.config.routing?.MODEL;if(!e||e.length===0)throw new Error("No MODEL routing configuration found");let t=oe(e);return`${t.source}__${t.model}`}getSmallFastModel(){let e=this.config.routing?.SMALL_FAST_MODEL;if(!e||e.length===0)throw new Error("No SMALL_FAST_MODEL routing configuration found");let t=oe(e);return`${t.source}__${t.model}`}getSourceConfig(e){return this.config.sources?.[e]}parseModelKey(e){let t=e.indexOf("__");return t===-1?{source:"",model:e}:{source:e.slice(0,t),model:e.slice(t+2)}}getModelSourceConfig(e){let{source:t}=this.parseModelKey(e);if(t)return this.getSourceConfig(t)}setModelRouting(e){this.config.routing.MODEL=e,this.saveConfig()}setSmallFastModelRouting(e){this.config.routing.SMALL_FAST_MODEL=e,this.saveConfig()}updateConfig(e){this.config=e,this.saveConfig()}getAvailableModels(){let e=[];for(let[t,n]of Object.entries(this.config.sources||{}))for(let s of n.models||[])e.push(`${t}__${s}`);return e}saveConfig(){try{let e={};if(S.existsSync(this.configPath)){let n=S.readFileSync(this.configPath,"utf-8");e=JSON.parse(n)}let t={...e,sources:this.config.sources,routing:this.config.routing};S.writeFileSync(this.configPath,JSON.stringify(t,null,2))}catch(e){v(e)}}},w=new V;import ke from"os";function Le(){return L.join(ke.homedir(),T,"config.json")}function De(){try{w.reload()}catch(s){return console.error(`\u914D\u7F6E\u6587\u4EF6\u9519\u8BEF: ${s instanceof Error?s.message:String(s)}`),console.error(`\u914D\u7F6E\u6587\u4EF6\u8DEF\u5F84: ${Le()}`),!1}let o=w.hasModelRouting(),e=w.hasSmallFastModelRouting();if(!o&&!e)return!1;let t=w.getConfig(),n=t.routing||{};for(let[s,r]of Object.entries(n))for(let i of r)if(!t.sources[i.source])return console.error(`\u914D\u7F6E\u9519\u8BEF: routing.${s} \u4E2D\u5F15\u7528\u7684 source "${i.source}" \u5728 sources \u4E2D\u4E0D\u5B58\u5728`),!1;return!0}function Ne(){if(w.initConfig(),!De()){process.exit(0);return}(async()=>{let o=E.getSetting("env")||{},e=ae(import.meta.url),t=L.dirname(e),n=L.join(t,"cli.js"),s=ie(process.execPath,["--no-deprecation",n,...process.argv.slice(2)],{env:{...process.env,...o},stdio:"inherit",cwd:process.cwd()});s.on("error",r=>{console.error("Failed to start command:",r.message),process.exit(1)}),s.on("close",r=>{process.exit(r||0)})})()}async function ve(){let o=ae(import.meta.url),e=L.dirname(o),t=L.join(e,"cli.js"),n=ie(process.execPath,["--no-deprecation",t,...process.argv.slice(2)],{env:process.env,stdio:"inherit",cwd:process.cwd()});n.on("error",s=>{console.error("Failed to start command:",s.message),process.exit(1)}),n.on("close",s=>{process.exit(s||0)})}async function Re(){process.argv.length<=2?Ne():await ve()}await Re();
|
package/package.json
CHANGED
package/webServer/app.js
CHANGED
|
@@ -68,7 +68,7 @@ ${e}</tr>
|
|
|
68
68
|
`}strong({tokens:e}){return`<strong>${this.parser.parseInline(e)}</strong>`}em({tokens:e}){return`<em>${this.parser.parseInline(e)}</em>`}codespan({text:e}){return`<code>${hn(e,!0)}</code>`}br(e){return"<br>"}del({tokens:e}){return`<del>${this.parser.parseInline(e)}</del>`}link({href:e,title:t,tokens:n}){let l=this.parser.parseInline(n),a=Tv(e);if(a===null)return l;e=a;let s='<a href="'+e+'"';return t&&(s+=' title="'+hn(t)+'"'),s+=">"+l+"</a>",s}image({href:e,title:t,text:n,tokens:l}){l&&(n=this.parser.parseInline(l,this.parser.textRenderer));let a=Tv(e);if(a===null)return hn(n);e=a;let s=`<img src="${e}" alt="${n}"`;return t&&(s+=` title="${hn(t)}"`),s+=">",s}text(e){return"tokens"in e&&e.tokens?this.parser.parseInline(e.tokens):"escaped"in e&&e.escaped?e.text:hn(e.text)}},ad=class{strong({text:e}){return e}em({text:e}){return e}codespan({text:e}){return e}del({text:e}){return e}html({text:e}){return e}text({text:e}){return e}link({text:e}){return""+e}image({text:e}){return""+e}br(){return""}},It=class Pf{constructor(t){de(this,"options");de(this,"renderer");de(this,"textRenderer");this.options=t||Pl,this.options.renderer=this.options.renderer||new uu,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new ad}static parse(t,n){return new Pf(n).parse(t)}static parseInline(t,n){return new Pf(n).parseInline(t)}parse(t,n=!0){let l="";for(let a=0;a<t.length;a++){let s=t[a];if(this.options.extensions?.renderers?.[s.type]){let o=s,u=this.options.extensions.renderers[o.type].call({parser:this},o);if(u!==!1||!["space","hr","heading","code","table","blockquote","list","html","def","paragraph","text"].includes(o.type)){l+=u||"";continue}}let i=s;switch(i.type){case"space":{l+=this.renderer.space(i);continue}case"hr":{l+=this.renderer.hr(i);continue}case"heading":{l+=this.renderer.heading(i);continue}case"code":{l+=this.renderer.code(i);continue}case"table":{l+=this.renderer.table(i);continue}case"blockquote":{l+=this.renderer.blockquote(i);continue}case"list":{l+=this.renderer.list(i);continue}case"html":{l+=this.renderer.html(i);continue}case"def":{l+=this.renderer.def(i);continue}case"paragraph":{l+=this.renderer.paragraph(i);continue}case"text":{let o=i,u=this.renderer.text(o);for(;a+1<t.length&&t[a+1].type==="text";)o=t[++a],u+=`
|
|
69
69
|
`+this.renderer.text(o);n?l+=this.renderer.paragraph({type:"paragraph",raw:u,text:u,tokens:[{type:"text",raw:u,text:u,escaped:!0}]}):l+=u;continue}default:{let o='Token with "'+i.type+'" type was not found.';if(this.options.silent)return console.error(o),"";throw new Error(o)}}}return l}parseInline(t,n=this.renderer){let l="";for(let a=0;a<t.length;a++){let s=t[a];if(this.options.extensions?.renderers?.[s.type]){let o=this.options.extensions.renderers[s.type].call({parser:this},s);if(o!==!1||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(s.type)){l+=o||"";continue}}let i=s;switch(i.type){case"escape":{l+=n.text(i);break}case"html":{l+=n.html(i);break}case"link":{l+=n.link(i);break}case"image":{l+=n.image(i);break}case"strong":{l+=n.strong(i);break}case"em":{l+=n.em(i);break}case"codespan":{l+=n.codespan(i);break}case"br":{l+=n.br(i);break}case"del":{l+=n.del(i);break}case"text":{l+=n.text(i);break}default:{let o='Token with "'+i.type+'" type was not found.';if(this.options.silent)return console.error(o),"";throw new Error(o)}}}return l}},su,oi=(su=class{constructor(e){de(this,"options");de(this,"block");this.options=e||Pl}preprocess(e){return e}postprocess(e){return e}processAllTokens(e){return e}emStrongMask(e){return e}provideLexer(){return this.block?Rt.lex:Rt.lexInline}provideParser(){return this.block?It.parse:It.parseInline}},de(su,"passThroughHooks",new Set(["preprocess","postprocess","processAllTokens","emStrongMask"])),de(su,"passThroughHooksRespectAsync",new Set(["preprocess","postprocess","processAllTokens"])),su),nT=class{constructor(...e){de(this,"defaults",Wf());de(this,"options",this.setOptions);de(this,"parse",this.parseMarkdown(!0));de(this,"parseInline",this.parseMarkdown(!1));de(this,"Parser",It);de(this,"Renderer",uu);de(this,"TextRenderer",ad);de(this,"Lexer",Rt);de(this,"Tokenizer",ou);de(this,"Hooks",oi);this.use(...e)}walkTokens(e,t){let n=[];for(let l of e)switch(n=n.concat(t.call(this,l)),l.type){case"table":{let a=l;for(let s of a.header)n=n.concat(this.walkTokens(s.tokens,t));for(let s of a.rows)for(let i of s)n=n.concat(this.walkTokens(i.tokens,t));break}case"list":{let a=l;n=n.concat(this.walkTokens(a.items,t));break}default:{let a=l;this.defaults.extensions?.childTokens?.[a.type]?this.defaults.extensions.childTokens[a.type].forEach(s=>{let i=a[s].flat(1/0);n=n.concat(this.walkTokens(i,t))}):a.tokens&&(n=n.concat(this.walkTokens(a.tokens,t)))}}return n}use(...e){let t=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach(n=>{let l={...n};if(l.async=this.defaults.async||l.async||!1,n.extensions&&(n.extensions.forEach(a=>{if(!a.name)throw new Error("extension name required");if("renderer"in a){let s=t.renderers[a.name];s?t.renderers[a.name]=function(...i){let o=a.renderer.apply(this,i);return o===!1&&(o=s.apply(this,i)),o}:t.renderers[a.name]=a.renderer}if("tokenizer"in a){if(!a.level||a.level!=="block"&&a.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");let s=t[a.level];s?s.unshift(a.tokenizer):t[a.level]=[a.tokenizer],a.start&&(a.level==="block"?t.startBlock?t.startBlock.push(a.start):t.startBlock=[a.start]:a.level==="inline"&&(t.startInline?t.startInline.push(a.start):t.startInline=[a.start]))}"childTokens"in a&&a.childTokens&&(t.childTokens[a.name]=a.childTokens)}),l.extensions=t),n.renderer){let a=this.defaults.renderer||new uu(this.defaults);for(let s in n.renderer){if(!(s in a))throw new Error(`renderer '${s}' does not exist`);if(["options","parser"].includes(s))continue;let i=s,o=n.renderer[i],u=a[i];a[i]=(...f)=>{let r=o.apply(a,f);return r===!1&&(r=u.apply(a,f)),r||""}}l.renderer=a}if(n.tokenizer){let a=this.defaults.tokenizer||new ou(this.defaults);for(let s in n.tokenizer){if(!(s in a))throw new Error(`tokenizer '${s}' does not exist`);if(["options","rules","lexer"].includes(s))continue;let i=s,o=n.tokenizer[i],u=a[i];a[i]=(...f)=>{let r=o.apply(a,f);return r===!1&&(r=u.apply(a,f)),r}}l.tokenizer=a}if(n.hooks){let a=this.defaults.hooks||new oi;for(let s in n.hooks){if(!(s in a))throw new Error(`hook '${s}' does not exist`);if(["options","block"].includes(s))continue;let i=s,o=n.hooks[i],u=a[i];oi.passThroughHooks.has(s)?a[i]=f=>{if(this.defaults.async&&oi.passThroughHooksRespectAsync.has(s))return(async()=>{let p=await o.call(a,f);return u.call(a,p)})();let r=o.call(a,f);return u.call(a,r)}:a[i]=(...f)=>{if(this.defaults.async)return(async()=>{let p=await o.apply(a,f);return p===!1&&(p=await u.apply(a,f)),p})();let r=o.apply(a,f);return r===!1&&(r=u.apply(a,f)),r}}l.hooks=a}if(n.walkTokens){let a=this.defaults.walkTokens,s=n.walkTokens;l.walkTokens=function(i){let o=[];return o.push(s.call(this,i)),a&&(o=o.concat(a.call(this,i))),o}}this.defaults={...this.defaults,...l}}),this}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,t){return Rt.lex(e,t??this.defaults)}parser(e,t){return It.parse(e,t??this.defaults)}parseMarkdown(e){return(t,n)=>{let l={...n},a={...this.defaults,...l},s=this.onError(!!a.silent,!!a.async);if(this.defaults.async===!0&&l.async===!1)return s(new Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if(typeof t>"u"||t===null)return s(new Error("marked(): input parameter is undefined or null"));if(typeof t!="string")return s(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(t)+", string expected"));if(a.hooks&&(a.hooks.options=a,a.hooks.block=e),a.async)return(async()=>{let i=a.hooks?await a.hooks.preprocess(t):t,o=await(a.hooks?await a.hooks.provideLexer():e?Rt.lex:Rt.lexInline)(i,a),u=a.hooks?await a.hooks.processAllTokens(o):o;a.walkTokens&&await Promise.all(this.walkTokens(u,a.walkTokens));let f=await(a.hooks?await a.hooks.provideParser():e?It.parse:It.parseInline)(u,a);return a.hooks?await a.hooks.postprocess(f):f})().catch(s);try{a.hooks&&(t=a.hooks.preprocess(t));let i=(a.hooks?a.hooks.provideLexer():e?Rt.lex:Rt.lexInline)(t,a);a.hooks&&(i=a.hooks.processAllTokens(i)),a.walkTokens&&this.walkTokens(i,a.walkTokens);let o=(a.hooks?a.hooks.provideParser():e?It.parse:It.parseInline)(i,a);return a.hooks&&(o=a.hooks.postprocess(o)),o}catch(i){return s(i)}}}onError(e,t){return n=>{if(n.message+=`
|
|
70
70
|
Please report this to https://github.com/markedjs/marked.`,e){let l="<p>An error occurred:</p><pre>"+hn(n.message+"",!0)+"</pre>";return t?Promise.resolve(l):l}if(t)return Promise.reject(n);throw n}}},Jl=new nT;function le(e,t){return Jl.parse(e,t)}le.options=le.setOptions=function(e){return Jl.setOptions(e),le.defaults=Jl.defaults,_v(le.defaults),le};le.getDefaults=Wf;le.defaults=Pl;le.use=function(...e){return Jl.use(...e),le.defaults=Jl.defaults,_v(le.defaults),le};le.walkTokens=function(e,t){return Jl.walkTokens(e,t)};le.parseInline=Jl.parseInline;le.Parser=It;le.parser=It.parse;le.Renderer=uu;le.TextRenderer=ad;le.Lexer=Rt;le.lexer=Rt.lex;le.Tokenizer=ou;le.Hooks=oi;le.parse=le;var ZE=le.options,XE=le.setOptions,VE=le.use,KE=le.walkTokens,$E=le.parseInline;var JE=It.parse,PE=Rt.lex;var B=E(x(),1);var ci=E(x(),1);function Bv({input:e}){return ci.default.createElement("div",{className:"tool-use-detail"},ci.default.createElement("span",{className:"tool-badge"},"Read"),ci.default.createElement("span",{className:"file-path"},e.file_path),(e.offset||e.limit)&&ci.default.createElement("span",{className:"tool-meta"},e.offset?`from line ${e.offset}`:"",e.limit?` (${e.limit} lines)`:""))}var fi=E(x(),1);function Hv({input:e}){let t=e.old_string===""?"Create":e.new_string===""?"Delete":"Update";return fi.default.createElement("div",{className:"tool-use-detail"},fi.default.createElement("span",{className:"tool-badge"},t),fi.default.createElement("span",{className:"file-path"},e.file_path),e.replace_all&&fi.default.createElement("span",{className:"tool-meta"},"(replace all)"))}var di=E(x(),1);function qv({input:e}){let t=e.content?e.content.split(`
|
|
71
|
-
`).length:0;return di.default.createElement("div",{className:"tool-use-detail"},di.default.createElement("span",{className:"tool-badge"},"Write"),di.default.createElement("span",{className:"file-path"},e.file_path),di.default.createElement("span",{className:"tool-meta"},"(",t," lines)"))}var Ra=E(x(),1);function jv({input:e}){return Ra.default.createElement("div",{className:"tool-use-detail"},Ra.default.createElement("span",{className:"tool-badge"},"Bash"),e.run_in_background&&Ra.default.createElement("span",{className:"tool-meta"},"(background)"),Ra.default.createElement("pre",{className:"command-block"},Ra.default.createElement("code",null,e.command)))}var bl=E(x(),1);function Gv({input:e}){return bl.default.createElement("div",{className:"tool-use-detail"},bl.default.createElement("span",{className:"tool-badge"},"Grep"),bl.default.createElement("code",{className:"pattern-text"},"/",e.pattern,"/"),e.path&&bl.default.createElement("span",{className:"tool-meta"},"in ",e.path),e.glob&&bl.default.createElement("span",{className:"tool-meta"},"(",e.glob,")"),e.type&&bl.default.createElement("span",{className:"tool-meta"},"type: ",e.type),e.output_mode&&bl.default.createElement("span",{className:"tool-meta"},"[",e.output_mode,"]"))}var pi=E(x(),1);function Yv({input:e}){return pi.default.createElement("div",{className:"tool-use-detail"},pi.default.createElement("span",{className:"tool-badge"},"Glob"),pi.default.createElement("code",{className:"pattern-text"},e.pattern),e.path&&pi.default.createElement("span",{className:"tool-meta"},"in ",e.path))}var fu=E(x(),1);function Qv({input:e}){return fu.default.createElement("div",{className:"tool-use-detail"},fu.default.createElement("span",{className:"tool-badge"},"LS"),fu.default.createElement("span",{className:"file-path"},e.path||"."))}var vn=E(x(),1),du=120;function Zv({input:e}){let[t,n]=(0,vn.useState)(!1),{description:l,prompt:a,subagent_type:s,model_name:i,resume:o,run_in_background:u,name:f,team_name:r,mode:p,isolation:c}=e,d=typeof a=="string"&&a.length>0,v=d&&a.length>du?a.substring(0,du)+"...":a,y=d&&(t||a.length<=du),S=d&&a.length>du,g=[];return s&&g.push(`type: ${s}`),i&&g.push(`model: ${i}`),o&&g.push(`resume: ${o}`),u&&g.push("background"),r&&f&&g.push(`team: ${r}/${f}`),p&&g.push(`mode: ${p}`),c&&g.push(`isolation: ${c}`),vn.default.createElement("div",{className:"tool-use-detail"},vn.default.createElement("span",{className:"tool-badge"},"Agent"),l&&vn.default.createElement("span",{className:"tool-description"},l),g.length>0&&vn.default.createElement("span",{className:"tool-meta"},"(",g.join(", "),")"),y&&vn.default.createElement("div",{className:"tool-input agent-prompt-detail"},vn.default.createElement("code",null,t?a:v)),S&&vn.default.createElement("span",{className:"tool-meta detail-toggle",onClick:()=>n(!t),style:{cursor:"pointer"}},t?"collapse details":"details"))}var Wl=E(x(),1);function Xv({input:e}){return Wl.default.createElement("div",{className:"tool-use-detail"},Wl.default.createElement("span",{className:"tool-badge"},"LSP"),Wl.default.createElement("span",{className:"tool-meta"},e.operation),e.filePath&&Wl.default.createElement("span",{className:"file-path"},e.filePath),e.line!==void 0&&Wl.default.createElement("span",{className:"tool-meta"},":",e.line+1,e.character!==void 0?`:${e.character+1}`:""),e.query&&Wl.default.createElement("code",{className:"pattern-text"},e.query))}var sd=E(x(),1);function Vv({}){return sd.default.createElement("div",{className:"tool-use-detail"},sd.default.createElement("span",{className:"tool-badge"},"Cwd"))}var pu=E(x(),1);function Kv({input:e,displayName:t}){let l=Object.entries(e||{}).map(([a,s])=>`${a}: ${JSON.stringify(s)}`).join(", ");return pu.default.createElement("div",{className:"tool-use-detail tool-use-mcp"},pu.default.createElement("span",{className:"tool-badge"},t),l&&pu.default.createElement("span",{className:"tool-meta mcp-input-summary"},"(",l,")"))}var mu=E(x(),1);function $v({input:e}){let t=e.task_id.startsWith("a"),n=e.block!==!1?`Reading ${t?"Task":"shell"} output (blocking until complete${e.timeout?` timeout ${e.timeout}`:""})`:`Reading ${t?"Task":"shell"} output (non-blocking)`;return mu.default.createElement("div",{className:"tool-use-detail"},mu.default.createElement("span",{className:"tool-badge"},t?"TaskOutput":"ShellOutput"),mu.default.createElement("span",{className:"tool-meta"},n," (ID: ",e.task_id,")"))}var Ia=E(x(),1);function Jv({input:e}){return Ia.default.createElement("div",{className:"tool-use-detail"},Ia.default.createElement("span",{className:"tool-badge"},"PowerShell"),e.run_in_background&&Ia.default.createElement("span",{className:"tool-meta"},"(background)"),Ia.default.createElement("pre",{className:"command-block"},Ia.default.createElement("code",null,e.command)))}var gu=E(x(),1);function Pv({input:e}){let t=e.toolNames||[];return gu.default.createElement("div",{className:"tool-use-detail"},gu.default.createElement("span",{className:"tool-badge"},"ToolLoader"),gu.default.createElement("span",{className:"tool-meta"},"Loading tool",t.length>1?"s":"",": ",t.join(", ")))}var hu=E(x(),1);function Wv({input:e}){let t=e.toolNames||[];return hu.default.createElement("div",{className:"tool-use-detail"},hu.default.createElement("span",{className:"tool-badge"},"ToolUnLoader"),hu.default.createElement("span",{className:"tool-meta"},"Unloading tool",t.length>1?"s":"",": ",t.join(", ")))}var Fa=E(x(),1);function Rv({input:e}){return Fa.default.createElement("div",{className:"tool-use-detail"},Fa.default.createElement("span",{className:"tool-badge"},"NotebookEdit"),Fa.default.createElement("span",{className:"tool-meta"},e.notebook_path," (cell ",e.cell_number,", ",e.edit_mode||"replace",")"),Fa.default.createElement("pre",{className:"command-block"},Fa.default.createElement("code",null,e.new_source.slice(0,200),e.new_source.length>200?"...":"")))}var vu=E(x(),1);function Iv({input:e}){return vu.default.createElement("div",{className:"tool-use-detail"},vu.default.createElement("span",{className:"tool-badge"},"WebSearch"),vu.default.createElement("span",{className:"tool-meta"},e.query))}var mi=E(x(),1);function Fv({input:e}){return mi.default.createElement("div",{className:"tool-use-detail"},mi.default.createElement("span",{className:"tool-badge"},"WebFetch"),mi.default.createElement("span",{className:"tool-meta"},e.url),mi.default.createElement("div",{className:"tool-input"},e.prompt))}var yu=E(x(),1);function ey({input:e}){return yu.default.createElement("div",{className:"tool-use-detail"},yu.default.createElement("span",{className:"tool-badge"},"TaskStop"),yu.default.createElement("span",{className:"tool-meta"},"Stop task: ",e.task_id))}var bu=E(x(),1);function ty({input:e}){let t=e.todos?.find(n=>n.status==="in_progress");return bu.default.createElement("div",{className:"tool-use-detail"},bu.default.createElement("span",{className:"tool-badge"},"TodoWrite"),bu.default.createElement("span",{className:"tool-meta"},t?`${t.activeForm}\u2026`:"update todo"))}var Su=E(x(),1);function ny({input:e}){return Su.default.createElement("div",{className:"tool-use-detail"},Su.default.createElement("span",{className:"tool-badge"},"Think"),Su.default.createElement("div",{className:"tool-input"},e.thought))}var Nu=E(x(),1);function ly({input:e}){let t=e.questions?.length||0,n=e.questions?.reduce((l,a)=>l+(a.options?.length||0),0)||0;return Nu.default.createElement("div",{className:"tool-use-detail"},Nu.default.createElement("span",{className:"tool-badge"},"AskUserQuestion"),Nu.default.createElement("span",{className:"tool-meta"},"Asking ",t," question",t>1?"s":""," with ",n," total options"))}var J=E(x(),1);function ay({questions:e,onSubmit:t,onCancel:n}){let[l,a]=(0,J.useState)(0),[s,i]=(0,J.useState)({}),[o,u]=(0,J.useState)({}),[f,r]=(0,J.useState)({}),[p,c]=(0,J.useState)({}),[d,v]=(0,J.useState)(!1),y=e[l],S=l===e.length-1,g=(0,J.useCallback)(z=>(s[z]?.length??0)>0||(o[z]?.length??0)>0,[s,o]),m=(0,J.useCallback)(z=>{let q=y.options[z];i(C=>{let N=C[l]||[];if(y.multiSelect){let Y=N.includes(q.label)?N.filter(F=>F!==q.label):[...N,q.label];return{...C,[l]:Y}}else return{...C,[l]:[q.label]}}),r(C=>({...C,[l]:!1}))},[l,y]),h=(0,J.useCallback)(()=>{i(z=>{let q=z[l]||[];if(y.multiSelect){let N=q.includes("Custom answer")?q:[...q,"Custom answer"];return{...z,[l]:N}}else return{...z,[l]:["Custom answer"]}}),r(z=>({...z,[l]:!0})),c(z=>({...z,[l]:z[l]||o[l]||""}))},[l,y,o]),b=(0,J.useCallback)(()=>{let z=p[l]?.trim()||"";z&&(u(q=>({...q,[l]:z})),r(q=>({...q,[l]:!1})))},[l,p]),A=(0,J.useCallback)(()=>{r(z=>({...z,[l]:!1})),i(z=>{let C=(z[l]||[]).filter(N=>N!=="Custom answer");return{...z,[l]:C}}),c(z=>({...z,[l]:""})),u(z=>{let q={...z};return delete q[l],q})},[l]),D=(0,J.useCallback)(()=>{let z={};e.forEach((q,C)=>{let N=o[C],U=s[C]||[];N?z[q.question]=N:U.length>0?z[q.question]=U.filter(Y=>Y!=="Custom answer").join(", "):z[q.question]="No answer provided"}),v(!0),t(z)},[e,s,o,t]),k=(0,J.useCallback)(()=>{v(!0),n()},[n]),w=(0,J.useCallback)(()=>{l<e.length-1&&a(z=>z+1)},[l,e.length]),_=(0,J.useCallback)(()=>{l>0&&a(z=>z-1)},[l]),M=s[l]?.includes("Custom answer")||!1,j=M&&f[l],X=o[l]!==void 0;return J.default.createElement("div",{className:"ask-user-question-form"},J.default.createElement("div",{className:"ask-user-question-header"},e.map((z,q)=>J.default.createElement("span",{key:q,className:`ask-user-question-step ${g(q)?"answered":""} ${q===l?"active":""}`},z.header))),J.default.createElement("div",{className:"ask-user-question-title"},y.question),y.multiSelect&&J.default.createElement("div",{className:"ask-user-question-hint"},"You can select multiple options"),J.default.createElement("div",{className:"ask-user-question-options"},y.options.map((z,q)=>{let C=(s[l]||[]).includes(z.label),N=y.multiSelect?"checkbox":"radio";return J.default.createElement("label",{key:q,className:`ask-user-question-option ${C?"selected":""}`},J.default.createElement("input",{type:N,name:`question-${l}`,checked:C,onChange:()=>m(q),disabled:d}),J.default.createElement("span",{className:"ask-user-question-option-label"},z.label),J.default.createElement("span",{className:"ask-user-question-option-description"},z.description))}),J.default.createElement("label",{className:`ask-user-question-option ${M?"selected":""}`},J.default.createElement("input",{type:y.multiSelect?"checkbox":"radio",name:`question-${l}`,checked:M,onChange:h,disabled:d}),J.default.createElement("span",{className:"ask-user-question-option-label"},"Type something"),X&&!j&&J.default.createElement("span",{className:"ask-user-question-option-description"},"Custom: ",o[l])),j&&J.default.createElement("div",{className:"ask-user-question-custom-inline"},J.default.createElement("input",{type:"text",className:"ask-user-question-custom-input",value:p[l]||"",onChange:z=>c(q=>({...q,[l]:z.target.value})),placeholder:"Type your answer...",disabled:d,autoFocus:!0}),J.default.createElement("div",{className:"ask-user-question-custom-inline-actions"},J.default.createElement("button",{onClick:b,disabled:d||!p[l]?.trim()},"OK"),J.default.createElement("button",{onClick:A,disabled:d},"Cancel")))),J.default.createElement("div",{className:"ask-user-question-actions"},J.default.createElement("button",{onClick:_,disabled:l===0||d},"Previous"),S?J.default.createElement("button",{onClick:D,disabled:d},"Submit"):J.default.createElement("button",{onClick:w,disabled:d},"Next"),J.default.createElement("button",{onClick:k,disabled:d},"Cancel")))}var Tu=E(x(),1);function sy(e){return Tu.default.createElement("div",{className:"tool-use-detail"},Tu.default.createElement("span",{className:"tool-badge"},"EnterPlanMode"),Tu.default.createElement("span",{className:"tool-meta"},"Entering plan mode"))}var Yn=E(x(),1);function iy({onApprove:e}){let[t,n]=(0,Yn.useState)(!1);return Yn.default.createElement("div",{className:"plan-mode-inline-form"},Yn.default.createElement("div",{className:"plan-mode-inline-title"},"Enter plan mode?"),Yn.default.createElement("div",{className:"plan-mode-inline-description"},"Plan mode will ask you to approve a plan before making changes."),Yn.default.createElement("div",{className:"plan-mode-inline-actions"},Yn.default.createElement("button",{onClick:()=>{n(!0),e(!0)},disabled:t},"Yes, enter plan mode"),Yn.default.createElement("button",{onClick:()=>{n(!0),e(!1)},disabled:t},"No, stay in current mode")))}var Eu=E(x(),1);function oy({input:e}){return Eu.default.createElement("div",{className:"tool-use-detail"},Eu.default.createElement("span",{className:"tool-badge"},"ExitPlanMode"),Eu.default.createElement("span",{className:"tool-meta"},"Presenting plan to user for approval"))}var Ze=E(x(),1);function uy({plan:e,planFilePath:t,onApprove:n,onReject:l}){let[a,s]=(0,Ze.useState)(!1);return e?Ze.default.createElement("div",{className:"plan-mode-inline-form"},Ze.default.createElement("div",{className:"plan-mode-inline-title"},"Approve plan to exit plan mode"),Ze.default.createElement("div",{className:"plan-mode-inline-plan"},Ze.default.createElement("pre",null,e)),t&&Ze.default.createElement("div",{className:"plan-mode-inline-path"},"Plan file: ",t),Ze.default.createElement("div",{className:"plan-mode-inline-actions"},Ze.default.createElement("button",{onClick:()=>{s(!0),n(!1)},disabled:a},"Auto-accept edits"),Ze.default.createElement("button",{onClick:()=>{s(!0),n(!0)},disabled:a},"Manual approval"),Ze.default.createElement("button",{onClick:()=>{s(!0),l()},disabled:a},"Reject"))):Ze.default.createElement("div",{className:"plan-mode-inline-form"},Ze.default.createElement("div",{className:"plan-mode-inline-title"},"No plan found"),Ze.default.createElement("div",{className:"plan-mode-inline-description"},"There is no plan to approve. Do you want to exit plan mode?"),Ze.default.createElement("div",{className:"plan-mode-inline-actions"},Ze.default.createElement("button",{onClick:()=>{s(!0),n(!1)},disabled:a},"Yes, exit plan mode"),Ze.default.createElement("button",{onClick:()=>{s(!0),l()},disabled:a},"No, keep planning")))}var xu=E(x(),1);function ry({input:e}){return xu.default.createElement("div",{className:"tool-use-detail"},xu.default.createElement("span",{className:"tool-badge"},"EnterWorktree"),xu.default.createElement("span",{className:"tool-meta"},e.name?`Creating worktree: ${e.name}`:"Creating worktree"))}var _u=E(x(),1);function cy({input:e}){return _u.default.createElement("div",{className:"tool-use-detail"},_u.default.createElement("span",{className:"tool-badge"},"ExitWorktree"),_u.default.createElement("span",{className:"tool-meta"},e.action==="remove"?"Exiting and removing worktree":"Exiting worktree"))}var ku=E(x(),1);function fy({input:e}){return ku.default.createElement("div",{className:"tool-use-detail"},ku.default.createElement("span",{className:"tool-badge"},"SlashCommand"),ku.default.createElement("span",{className:"tool-meta"},"Executing ",e.command))}var Au=E(x(),1);function dy({input:e}){return Au.default.createElement("div",{className:"tool-use-detail"},Au.default.createElement("span",{className:"tool-badge"},"Skill"),Au.default.createElement("span",{className:"tool-meta"},e.skill))}var Mu=E(x(),1);function py({input:e}){let t=e.prompt?.length>60?e.prompt.slice(0,60)+"...":e.prompt;return Mu.default.createElement("div",{className:"tool-use-detail"},Mu.default.createElement("span",{className:"tool-badge"},"CronCreate"),Mu.default.createElement("span",{className:"tool-meta"},e.cron,": ",t))}var Cu=E(x(),1);function my({input:e}){return Cu.default.createElement("div",{className:"tool-use-detail"},Cu.default.createElement("span",{className:"tool-badge"},"CronDelete"),Cu.default.createElement("span",{className:"tool-meta"},e.id))}var Ou=E(x(),1);function gy(e){return Ou.default.createElement("div",{className:"tool-use-detail"},Ou.default.createElement("span",{className:"tool-badge"},"CronList"),Ou.default.createElement("span",{className:"tool-meta"},"List scheduled cron jobs"))}var wu=E(x(),1);function hy({input:e}){return wu.default.createElement("div",{className:"tool-use-detail"},wu.default.createElement("span",{className:"tool-badge"},"TeamCreate"),wu.default.createElement("span",{className:"tool-meta"},"Creating team: ",e.team_name))}var zu=E(x(),1);function vy(e){return zu.default.createElement("div",{className:"tool-use-detail"},zu.default.createElement("span",{className:"tool-badge"},"TeamDelete"),zu.default.createElement("span",{className:"tool-meta"},"Deleting current team"))}var Uu=E(x(),1);function yy({input:e}){let t="";switch(e.type){case"message":t=`Sending message to ${e.recipient}: ${e.summary||e.content?.slice(0,50)||""}`;break;case"broadcast":t=`Broadcasting to all teammates: ${e.summary||e.content?.slice(0,50)||""}`;break;case"shutdown_request":t=`Requesting shutdown for ${e.recipient}`;break;case"shutdown_response":t=`Responding to shutdown request: ${e.approve?"approved":"rejected"}`;break;case"plan_approval_response":t=`Responding to plan approval: ${e.approve?"approved":"rejected"}`;break;default:t=`Sending message (${e.type})`}return Uu.default.createElement("div",{className:"tool-use-detail"},Uu.default.createElement("span",{className:"tool-badge"},"SendMessage"),Uu.default.createElement("span",{className:"tool-meta"},t))}var Du=E(x(),1);function lT(e){let t=!1,n=!1;for(let l of Object.values(e))for(let a of l)a==="__tool_result__"?t=!0:n=!0;return{hasToolResult:t,hasInputFields:n}}function by({input:e}){let t=e.action==="archive"?"Archiving":"Unarchiving",n=e.archiveToolUseInputFields??{},l=Object.keys(n).length,{hasToolResult:a,hasInputFields:s}=lT(n),i="tool result(s)";return a&&s?i="tool result(s) and input field(s)":s&&(i="input field(s)"),Du.default.createElement("div",{className:"tool-use-detail"},Du.default.createElement("span",{className:"tool-badge"},"MessageArchiving"),Du.default.createElement("span",{className:"tool-meta"},t," ",i," for ",l," tool use(s)"))}var Ft=E(x(),1),Lu=120;function Sy({input:e}){let[t,n]=(0,Ft.useState)(!1),{action:l,key:a,summary:s,content:i}=e,o=l==="write"?"write":l==="read"?"read":l==="list"?"list":"delete",u=typeof i=="string"&&i.length>0,f=u&&i.length>Lu?i.substring(0,Lu)+"...":i,r=u&&(t||i.length<=Lu),p=u&&i.length>Lu;return Ft.default.createElement("div",{className:"tool-use-detail"},Ft.default.createElement("span",{className:"tool-badge"},"Memo"),Ft.default.createElement("span",{className:"tool-badge memo-action-badge"},o),a&&Ft.default.createElement("span",{className:"file-path"},a),s&&Ft.default.createElement("span",{className:"tool-meta"},s),r&&Ft.default.createElement("div",{className:"tool-input memo-content-detail"},Ft.default.createElement("code",null,t?i:f)),p&&Ft.default.createElement("span",{className:"tool-meta detail-toggle",onClick:()=>n(!t),style:{cursor:"pointer"}},t?"collapse details":"details"))}var Rl=E(x(),1);function Ny({input:e}){let t=e?.action??"call",n=e?.name??"",l=t==="call"&&e?.input&&Object.keys(e.input).length>0,[a,s]=(0,Rl.useState)(!1);return Rl.default.createElement("div",{className:"tool-use-detail"},Rl.default.createElement("span",{className:"tool-badge"},"ProxyTool"),Rl.default.createElement("span",{className:"tool-meta"},t," ",n),l&&Rl.default.createElement("div",{className:"tool-input",onClick:()=>s(!a),style:{cursor:"pointer"}},a?JSON.stringify(e.input,null,2):JSON.stringify(e.input)))}var yn=E(x(),1),pd=E(Yy(),1),Jy=E($y(),1);pd.default.registerLanguage("javascript",Jy.default);function Py({input:e}){let t=e?.code??"",n=t.split(`
|
|
71
|
+
`).length:0;return di.default.createElement("div",{className:"tool-use-detail"},di.default.createElement("span",{className:"tool-badge"},"Write"),di.default.createElement("span",{className:"file-path"},e.file_path),di.default.createElement("span",{className:"tool-meta"},"(",t," lines)"))}var Ra=E(x(),1);function jv({input:e}){return Ra.default.createElement("div",{className:"tool-use-detail"},Ra.default.createElement("span",{className:"tool-badge"},"Bash"),e.run_in_background&&Ra.default.createElement("span",{className:"tool-meta"},"(background)"),Ra.default.createElement("pre",{className:"command-block"},Ra.default.createElement("code",null,e.command)))}var bl=E(x(),1);function Gv({input:e}){return bl.default.createElement("div",{className:"tool-use-detail"},bl.default.createElement("span",{className:"tool-badge"},"Grep"),bl.default.createElement("code",{className:"pattern-text"},"/",e.pattern,"/"),e.path&&bl.default.createElement("span",{className:"tool-meta"},"in ",e.path),e.glob&&bl.default.createElement("span",{className:"tool-meta"},"(",e.glob,")"),e.type&&bl.default.createElement("span",{className:"tool-meta"},"type: ",e.type),e.output_mode&&bl.default.createElement("span",{className:"tool-meta"},"[",e.output_mode,"]"))}var pi=E(x(),1);function Yv({input:e}){return pi.default.createElement("div",{className:"tool-use-detail"},pi.default.createElement("span",{className:"tool-badge"},"Glob"),pi.default.createElement("code",{className:"pattern-text"},e.pattern),e.path&&pi.default.createElement("span",{className:"tool-meta"},"in ",e.path))}var fu=E(x(),1);function Qv({input:e}){return fu.default.createElement("div",{className:"tool-use-detail"},fu.default.createElement("span",{className:"tool-badge"},"LS"),fu.default.createElement("span",{className:"file-path"},e.path||"."))}var vn=E(x(),1),du=120;function Zv({input:e}){let[t,n]=(0,vn.useState)(!1),{description:l,prompt:a,subagent_type:s,model_name:i,resume:o,run_in_background:u,name:f,team_name:r,mode:p,isolation:c}=e,d=typeof a=="string"&&a.length>0,v=d&&a.length>du?a.substring(0,du)+"...":a,y=d&&(t||a.length<=du),S=d&&a.length>du,g=[];return s&&g.push(`type: ${s}`),i&&g.push(`model: ${i}`),o&&g.push(`resume: ${o}`),u&&g.push("background"),r&&f&&g.push(`team: ${r}/${f}`),p&&g.push(`mode: ${p}`),c&&g.push(`isolation: ${c}`),vn.default.createElement("div",{className:"tool-use-detail"},vn.default.createElement("span",{className:"tool-badge"},"Agent"),l&&vn.default.createElement("span",{className:"tool-description"},l),g.length>0&&vn.default.createElement("span",{className:"tool-meta"},"(",g.join(", "),")"),y&&vn.default.createElement("div",{className:"tool-input agent-prompt-detail"},vn.default.createElement("code",null,t?a:v)),S&&vn.default.createElement("span",{className:"tool-meta detail-toggle",onClick:()=>n(!t),style:{cursor:"pointer"}},t?"collapse details":"details"))}var Wl=E(x(),1);function Xv({input:e}){return Wl.default.createElement("div",{className:"tool-use-detail"},Wl.default.createElement("span",{className:"tool-badge"},"LSP"),Wl.default.createElement("span",{className:"tool-meta"},e.operation),e.filePath&&Wl.default.createElement("span",{className:"file-path"},e.filePath),e.line!==void 0&&Wl.default.createElement("span",{className:"tool-meta"},":",e.line+1,e.character!==void 0?`:${e.character+1}`:""),e.query&&Wl.default.createElement("code",{className:"pattern-text"},e.query))}var sd=E(x(),1);function Vv({}){return sd.default.createElement("div",{className:"tool-use-detail"},sd.default.createElement("span",{className:"tool-badge"},"Cwd"))}var pu=E(x(),1);function Kv({input:e,displayName:t}){let l=Object.entries(e||{}).map(([a,s])=>`${a}: ${JSON.stringify(s)}`).join(", ");return pu.default.createElement("div",{className:"tool-use-detail tool-use-mcp"},pu.default.createElement("span",{className:"tool-badge"},t),l&&pu.default.createElement("span",{className:"tool-meta mcp-input-summary"},"(",l,")"))}var mu=E(x(),1);function $v({input:e}){let t=e.task_id.startsWith("a"),n=e.block!==!1?`Reading ${t?"Task":"shell"} output (blocking until complete${e.timeout?` timeout ${e.timeout}`:""})`:`Reading ${t?"Task":"shell"} output (non-blocking)`;return mu.default.createElement("div",{className:"tool-use-detail"},mu.default.createElement("span",{className:"tool-badge"},t?"TaskOutput":"ShellOutput"),mu.default.createElement("span",{className:"tool-meta"},n," (ID: ",e.task_id,")"))}var Ia=E(x(),1);function Jv({input:e}){return Ia.default.createElement("div",{className:"tool-use-detail"},Ia.default.createElement("span",{className:"tool-badge"},"PowerShell"),e.run_in_background&&Ia.default.createElement("span",{className:"tool-meta"},"(background)"),Ia.default.createElement("pre",{className:"command-block"},Ia.default.createElement("code",null,e.command)))}var gu=E(x(),1);function Pv({input:e}){let t=e.toolNames||[];return gu.default.createElement("div",{className:"tool-use-detail"},gu.default.createElement("span",{className:"tool-badge"},"ToolLoader"),gu.default.createElement("span",{className:"tool-meta"},"Loading tool",t.length>1?"s":"",": ",t.join(", ")))}var hu=E(x(),1);function Wv({input:e}){let t=e.toolNames||[];return hu.default.createElement("div",{className:"tool-use-detail"},hu.default.createElement("span",{className:"tool-badge"},"ToolUnLoader"),hu.default.createElement("span",{className:"tool-meta"},"Unloading tool",t.length>1?"s":"",": ",t.join(", ")))}var Fa=E(x(),1);function Rv({input:e}){return Fa.default.createElement("div",{className:"tool-use-detail"},Fa.default.createElement("span",{className:"tool-badge"},"NotebookEdit"),Fa.default.createElement("span",{className:"tool-meta"},e.notebook_path," (cell ",e.cell_number,", ",e.edit_mode||"replace",")"),Fa.default.createElement("pre",{className:"command-block"},Fa.default.createElement("code",null,e.new_source.slice(0,200),e.new_source.length>200?"...":"")))}var vu=E(x(),1);function Iv({input:e}){return vu.default.createElement("div",{className:"tool-use-detail"},vu.default.createElement("span",{className:"tool-badge"},"WebSearch"),vu.default.createElement("span",{className:"tool-meta"},e.query))}var mi=E(x(),1);function Fv({input:e}){return mi.default.createElement("div",{className:"tool-use-detail"},mi.default.createElement("span",{className:"tool-badge"},"WebFetch"),mi.default.createElement("span",{className:"tool-meta"},e.url),mi.default.createElement("div",{className:"tool-input"},e.prompt))}var yu=E(x(),1);function ey({input:e}){return yu.default.createElement("div",{className:"tool-use-detail"},yu.default.createElement("span",{className:"tool-badge"},"TaskStop"),yu.default.createElement("span",{className:"tool-meta"},"Stop task: ",e.task_id))}var bu=E(x(),1);function ty({input:e}){let t=e.todos?.find(n=>n.status==="in_progress");return bu.default.createElement("div",{className:"tool-use-detail"},bu.default.createElement("span",{className:"tool-badge"},"TodoWrite"),bu.default.createElement("span",{className:"tool-meta"},t?`${t.activeForm}\u2026`:"update todo"))}var Su=E(x(),1);function ny({input:e}){return Su.default.createElement("div",{className:"tool-use-detail"},Su.default.createElement("span",{className:"tool-badge"},"Think"),Su.default.createElement("div",{className:"tool-input"},e.thought))}var Nu=E(x(),1);function ly({input:e}){let t=e.questions?.length||0,n=e.questions?.reduce((l,a)=>l+(a.options?.length||0),0)||0;return Nu.default.createElement("div",{className:"tool-use-detail"},Nu.default.createElement("span",{className:"tool-badge"},"AskUserQuestion"),Nu.default.createElement("span",{className:"tool-meta"},"Asking ",t," question",t>1?"s":""," with ",n," total options"))}var J=E(x(),1);function ay({questions:e,onSubmit:t,onCancel:n}){let[l,a]=(0,J.useState)(0),[s,i]=(0,J.useState)({}),[o,u]=(0,J.useState)({}),[f,r]=(0,J.useState)({}),[p,c]=(0,J.useState)({}),[d,v]=(0,J.useState)(!1),y=e[l],S=l===e.length-1,g=(0,J.useCallback)(z=>(s[z]?.length??0)>0||(o[z]?.length??0)>0,[s,o]),m=(0,J.useCallback)(z=>{let q=y.options[z];i(C=>{let N=C[l]||[];if(y.multiSelect){let Y=N.includes(q.label)?N.filter(F=>F!==q.label):[...N,q.label];return{...C,[l]:Y}}else return{...C,[l]:[q.label]}}),r(C=>({...C,[l]:!1}))},[l,y]),h=(0,J.useCallback)(()=>{i(z=>{let q=z[l]||[];if(y.multiSelect){let N=q.includes("Custom answer")?q:[...q,"Custom answer"];return{...z,[l]:N}}else return{...z,[l]:["Custom answer"]}}),r(z=>({...z,[l]:!0})),c(z=>({...z,[l]:z[l]||o[l]||""}))},[l,y,o]),b=(0,J.useCallback)(()=>{let z=p[l]?.trim()||"";z&&(u(q=>({...q,[l]:z})),r(q=>({...q,[l]:!1})))},[l,p]),A=(0,J.useCallback)(()=>{r(z=>({...z,[l]:!1})),i(z=>{let C=(z[l]||[]).filter(N=>N!=="Custom answer");return{...z,[l]:C}}),c(z=>({...z,[l]:""})),u(z=>{let q={...z};return delete q[l],q})},[l]),D=(0,J.useCallback)(()=>{let z={};e.forEach((q,C)=>{let N=o[C],U=s[C]||[];N?z[q.question]=N:U.length>0?z[q.question]=U.filter(Y=>Y!=="Custom answer").join(", "):z[q.question]="No answer provided"}),v(!0),t(z)},[e,s,o,t]),k=(0,J.useCallback)(()=>{v(!0),n()},[n]),w=(0,J.useCallback)(()=>{l<e.length-1&&a(z=>z+1)},[l,e.length]),_=(0,J.useCallback)(()=>{l>0&&a(z=>z-1)},[l]),M=s[l]?.includes("Custom answer")||!1,j=M&&f[l],X=o[l]!==void 0;return J.default.createElement("div",{className:"ask-user-question-form"},J.default.createElement("div",{className:"ask-user-question-header"},e.map((z,q)=>J.default.createElement("span",{key:q,className:`ask-user-question-step ${g(q)?"answered":""} ${q===l?"active":""}`},z.header))),J.default.createElement("div",{className:"ask-user-question-title"},y.question),y.multiSelect&&J.default.createElement("div",{className:"ask-user-question-hint"},"You can select multiple options"),J.default.createElement("div",{className:"ask-user-question-options"},y.options.map((z,q)=>{let C=(s[l]||[]).includes(z.label),N=y.multiSelect?"checkbox":"radio";return J.default.createElement("label",{key:q,className:`ask-user-question-option ${C?"selected":""}`},J.default.createElement("input",{type:N,name:`question-${l}`,checked:C,onChange:()=>m(q),disabled:d}),J.default.createElement("span",{className:"ask-user-question-option-label"},z.label),J.default.createElement("span",{className:"ask-user-question-option-description"},z.description))}),J.default.createElement("label",{className:`ask-user-question-option ${M?"selected":""}`},J.default.createElement("input",{type:y.multiSelect?"checkbox":"radio",name:`question-${l}`,checked:M,onChange:h,disabled:d}),J.default.createElement("span",{className:"ask-user-question-option-label"},"Type something"),X&&!j&&J.default.createElement("span",{className:"ask-user-question-option-description"},"Custom: ",o[l])),j&&J.default.createElement("div",{className:"ask-user-question-custom-inline"},J.default.createElement("input",{type:"text",className:"ask-user-question-custom-input",value:p[l]||"",onChange:z=>c(q=>({...q,[l]:z.target.value})),placeholder:"Type your answer...",disabled:d,autoFocus:!0}),J.default.createElement("div",{className:"ask-user-question-custom-inline-actions"},J.default.createElement("button",{onClick:b,disabled:d||!p[l]?.trim()},"OK"),J.default.createElement("button",{onClick:A,disabled:d},"Cancel")))),J.default.createElement("div",{className:"ask-user-question-actions"},J.default.createElement("button",{onClick:_,disabled:l===0||d},"Previous"),S?J.default.createElement("button",{onClick:D,disabled:d},"Submit"):J.default.createElement("button",{onClick:w,disabled:d},"Next"),J.default.createElement("button",{onClick:k,disabled:d},"Cancel")))}var Tu=E(x(),1);function sy(e){return Tu.default.createElement("div",{className:"tool-use-detail"},Tu.default.createElement("span",{className:"tool-badge"},"EnterPlanMode"),Tu.default.createElement("span",{className:"tool-meta"},"Entering plan mode"))}var Yn=E(x(),1);function iy({onApprove:e}){let[t,n]=(0,Yn.useState)(!1);return Yn.default.createElement("div",{className:"plan-mode-inline-form"},Yn.default.createElement("div",{className:"plan-mode-inline-title"},"Enter plan mode?"),Yn.default.createElement("div",{className:"plan-mode-inline-description"},"Plan mode will ask you to approve a plan before making changes."),Yn.default.createElement("div",{className:"plan-mode-inline-actions"},Yn.default.createElement("button",{onClick:()=>{n(!0),e(!0)},disabled:t},"Yes, enter plan mode"),Yn.default.createElement("button",{onClick:()=>{n(!0),e(!1)},disabled:t},"No, stay in current mode")))}var Eu=E(x(),1);function oy({input:e}){return Eu.default.createElement("div",{className:"tool-use-detail"},Eu.default.createElement("span",{className:"tool-badge"},"ExitPlanMode"),Eu.default.createElement("span",{className:"tool-meta"},"Presenting plan to user for approval"))}var Ze=E(x(),1);function uy({plan:e,planFilePath:t,onApprove:n,onReject:l}){let[a,s]=(0,Ze.useState)(!1);return e?Ze.default.createElement("div",{className:"plan-mode-inline-form"},Ze.default.createElement("div",{className:"plan-mode-inline-title"},"Approve plan to exit plan mode"),Ze.default.createElement("div",{className:"plan-mode-inline-plan"},Ze.default.createElement("pre",null,e)),t&&Ze.default.createElement("div",{className:"plan-mode-inline-path"},"Plan file: ",t),Ze.default.createElement("div",{className:"plan-mode-inline-actions"},Ze.default.createElement("button",{onClick:()=>{s(!0),n(!1)},disabled:a},"Auto-accept edits"),Ze.default.createElement("button",{onClick:()=>{s(!0),n(!0)},disabled:a},"Manual approval"),Ze.default.createElement("button",{onClick:()=>{s(!0),l()},disabled:a},"Reject"))):Ze.default.createElement("div",{className:"plan-mode-inline-form"},Ze.default.createElement("div",{className:"plan-mode-inline-title"},"No plan found"),Ze.default.createElement("div",{className:"plan-mode-inline-description"},"There is no plan to approve. Do you want to exit plan mode?"),Ze.default.createElement("div",{className:"plan-mode-inline-actions"},Ze.default.createElement("button",{onClick:()=>{s(!0),n(!1)},disabled:a},"Yes, exit plan mode"),Ze.default.createElement("button",{onClick:()=>{s(!0),l()},disabled:a},"No, keep planning")))}var xu=E(x(),1);function ry({input:e}){return xu.default.createElement("div",{className:"tool-use-detail"},xu.default.createElement("span",{className:"tool-badge"},"EnterWorktree"),xu.default.createElement("span",{className:"tool-meta"},e.name?`Creating worktree: ${e.name}`:"Creating worktree"))}var _u=E(x(),1);function cy({input:e}){return _u.default.createElement("div",{className:"tool-use-detail"},_u.default.createElement("span",{className:"tool-badge"},"ExitWorktree"),_u.default.createElement("span",{className:"tool-meta"},e.action==="remove"?"Exiting and removing worktree":"Exiting worktree"))}var ku=E(x(),1);function fy({input:e}){return ku.default.createElement("div",{className:"tool-use-detail"},ku.default.createElement("span",{className:"tool-badge"},"SlashCommand"),ku.default.createElement("span",{className:"tool-meta"},"Executing ",e.command))}var Au=E(x(),1);function dy({input:e}){return Au.default.createElement("div",{className:"tool-use-detail"},Au.default.createElement("span",{className:"tool-badge"},"Skill"),Au.default.createElement("span",{className:"tool-meta"},e.skill))}var Mu=E(x(),1);function py({input:e}){let t=e.prompt?.length>60?e.prompt.slice(0,60)+"...":e.prompt;return Mu.default.createElement("div",{className:"tool-use-detail"},Mu.default.createElement("span",{className:"tool-badge"},"CronCreate"),Mu.default.createElement("span",{className:"tool-meta"},e.cron,": ",t))}var Cu=E(x(),1);function my({input:e}){return Cu.default.createElement("div",{className:"tool-use-detail"},Cu.default.createElement("span",{className:"tool-badge"},"CronDelete"),Cu.default.createElement("span",{className:"tool-meta"},e.id))}var Ou=E(x(),1);function gy(e){return Ou.default.createElement("div",{className:"tool-use-detail"},Ou.default.createElement("span",{className:"tool-badge"},"CronList"),Ou.default.createElement("span",{className:"tool-meta"},"List scheduled cron jobs"))}var wu=E(x(),1);function hy({input:e}){return wu.default.createElement("div",{className:"tool-use-detail"},wu.default.createElement("span",{className:"tool-badge"},"TeamCreate"),wu.default.createElement("span",{className:"tool-meta"},"Creating team: ",e.team_name))}var zu=E(x(),1);function vy(e){return zu.default.createElement("div",{className:"tool-use-detail"},zu.default.createElement("span",{className:"tool-badge"},"TeamDelete"),zu.default.createElement("span",{className:"tool-meta"},"Deleting current team"))}var Uu=E(x(),1);function yy({input:e}){let t="";switch(e.type){case"message":t=`Sending message to ${e.recipient}: ${e.summary||e.content?.slice(0,50)||""}`;break;case"broadcast":t=`Broadcasting to all teammates: ${e.summary||e.content?.slice(0,50)||""}`;break;case"shutdown_request":t=`Requesting shutdown for ${e.recipient}`;break;case"shutdown_response":t=`Responding to shutdown request: ${e.approve?"approved":"rejected"}`;break;case"plan_approval_response":t=`Responding to plan approval: ${e.approve?"approved":"rejected"}`;break;default:t=`Sending message (${e.type})`}return Uu.default.createElement("div",{className:"tool-use-detail"},Uu.default.createElement("span",{className:"tool-badge"},"SendMessage"),Uu.default.createElement("span",{className:"tool-meta"},t))}var Du=E(x(),1);function lT(e){let t=!1,n=!1;for(let l of Object.values(e))for(let a of l)a==="__tool_result__"?t=!0:n=!0;return{hasToolResult:t,hasInputFields:n}}function by({input:e}){let t=e.action==="archive"?"Archiving":"Unarchiving",n=e.archiveToolUseInputFields??{},l=Object.keys(n).length,{hasToolResult:a,hasInputFields:s}=lT(n),i="tool result(s)";return a&&s?i="tool result(s) and input field(s)":s&&(i="input field(s)"),Du.default.createElement("div",{className:"tool-use-detail"},Du.default.createElement("span",{className:"tool-badge"},"MessageArchiving"),Du.default.createElement("span",{className:"tool-meta"},t," ",i," for ",l," tool use(s)"))}var Ft=E(x(),1),Lu=120;function Sy({input:e}){let[t,n]=(0,Ft.useState)(!1),{action:l,key:a,summary:s,content:i}=e,o=l==="write"?"write":l==="read"?"read":l==="list"?"list":"delete",u=typeof i=="string"&&i.length>0,f=u&&i.length>Lu?i.substring(0,Lu)+"...":i,r=u&&(t||i.length<=Lu),p=u&&i.length>Lu;return Ft.default.createElement("div",{className:"tool-use-detail"},Ft.default.createElement("span",{className:"tool-badge"},"Memo"),Ft.default.createElement("span",{className:"tool-badge memo-action-badge"},o),a&&Ft.default.createElement("span",{className:"file-path"},a),s&&Ft.default.createElement("span",{className:"tool-meta"},s),r&&Ft.default.createElement("div",{className:"tool-input memo-content-detail"},Ft.default.createElement("code",null,t?i:f)),p&&Ft.default.createElement("span",{className:"tool-meta detail-toggle",onClick:()=>n(!t),style:{cursor:"pointer"}},t?"collapse details":"details"))}var Rl=E(x(),1);function Ny({input:e}){let t=e?.action??"call",n=e?.name??"",l=t==="load",a=t==="call"&&e?.input&&Object.keys(e.input).length>0,[s,i]=(0,Rl.useState)(!1);return Rl.default.createElement("div",{className:"tool-use-detail"},Rl.default.createElement("span",{className:"tool-badge"},l?"LoadTool":"ProxyTool"),Rl.default.createElement("span",{className:"tool-meta"},l?n:`${t} ${n}`),a&&Rl.default.createElement("div",{className:"tool-input",onClick:()=>i(!s),style:{cursor:"pointer"}},s?JSON.stringify(e.input,null,2):JSON.stringify(e.input)))}var yn=E(x(),1),pd=E(Yy(),1),Jy=E($y(),1);pd.default.registerLanguage("javascript",Jy.default);function Py({input:e}){let t=e?.code??"",n=t.split(`
|
|
72
72
|
`),l=n.length>1,[a,s]=(0,yn.useState)(!1),i=a||!l?t:n[0],o=(0,yn.useMemo)(()=>{try{return pd.default.highlight(i,{language:"javascript"}).value}catch{return null}},[i]);return yn.default.createElement("div",{className:"tool-use-detail"},yn.default.createElement("span",{className:"tool-badge"},"Code"),yn.default.createElement("pre",{className:"command-block",onClick:()=>l&&s(!a),style:{cursor:l?"pointer":"default"}},o!==null?yn.default.createElement("code",{className:"hljs language-javascript",dangerouslySetInnerHTML:{__html:l&&!a?`${o} \u2026`:o}}):yn.default.createElement("code",null,l&&!a?`${n[0]} \u2026`:t)))}function Wy({message:e,pendingUserResponses:t,sendUserResponse:n}){let{toolName:l,toolInputRaw:a,toolInput:s,toolUseId:i,isRemote:o,isInProgress:u,isProxyCall:f}=e.metadata||{},[r,p]=(0,B.useState)(!1),c=o?`\u2601 ${l}`:l,d=f?B.default.createElement("span",{className:"tool-proxy-prefix",title:"via ProxyTool"},"<>"):null,v=u?B.default.createElement("span",{className:"tool-status-loading",title:"executing"}):null,y=()=>{switch(l){case"AskUserQuestion":{let g=i?t.get(i):void 0;if(g){let m=g.data;return B.default.createElement(ay,{questions:m?.questions||[],onSubmit:h=>n(i,{answers:h}),onCancel:()=>n(i,{cancelled:!0})})}return B.default.createElement(ly,{input:S})}case"Read":return B.default.createElement(Bv,{input:S});case"Edit":return B.default.createElement(Hv,{input:S});case"Write":return B.default.createElement(qv,{input:S});case"Bash":return B.default.createElement(jv,{input:S});case"Grep":return B.default.createElement(Gv,{input:S});case"Glob":return B.default.createElement(Yv,{input:S});case"LS":return B.default.createElement(Qv,{input:S});case"Agent":return B.default.createElement(Zv,{input:S});case"LSP":return B.default.createElement(Xv,{input:S});case"Cwd":return B.default.createElement(Vv,{input:S});case"TaskOutput":return B.default.createElement($v,{input:S});case"PowerShell":return B.default.createElement(Jv,{input:S});case"ToolLoader":return B.default.createElement(Pv,{input:S});case"ToolUnLoader":return B.default.createElement(Wv,{input:S});case"NotebookEdit":return B.default.createElement(Rv,{input:S});case"WebSearch":return B.default.createElement(Iv,{input:S});case"WebFetch":return B.default.createElement(Fv,{input:S});case"TaskStop":return B.default.createElement(ey,{input:S});case"TodoWrite":return B.default.createElement(ty,{input:S});case"Think":return B.default.createElement(ny,{input:S});case"EnterPlanMode":return(i?t.get(i):void 0)?B.default.createElement(iy,{onApprove:m=>n(i,{approved:m})}):B.default.createElement(sy,{input:S});case"ExitPlanMode":{let g=i?t.get(i):void 0;if(g){let m=g.data;return B.default.createElement(uy,{plan:m?.plan||null,planFilePath:m?.planFilePath,onApprove:h=>n(i,{approved:!0,manualApproval:h,cancelled:!1}),onReject:()=>n(i,{approved:!1,manualApproval:!1,cancelled:!0})})}return B.default.createElement(oy,{input:S})}case"EnterWorktreeTool":return B.default.createElement(ry,{input:S});case"ExitWorktreeTool":return B.default.createElement(cy,{input:S});case"SlashCommand":return B.default.createElement(fy,{input:S});case"Skill":return B.default.createElement(dy,{input:S});case"CronCreate":return B.default.createElement(py,{input:S});case"CronDelete":return B.default.createElement(my,{input:S});case"CronList":return B.default.createElement(gy,{input:S});case"TeamCreate":return B.default.createElement(hy,{input:S});case"TeamDelete":return B.default.createElement(vy,{input:S});case"SendMessage":return B.default.createElement(yy,{input:S});case"MessageArchiving":return B.default.createElement(by,{input:S});case"Memo":return B.default.createElement(Sy,{input:S});case"ProxyTool":return B.default.createElement(Ny,{input:S});case"codemode":return B.default.createElement(Py,{input:S});default:return B.default.createElement("div",{className:"tool-use-detail"},B.default.createElement("span",{className:"tool-badge"},l),s&&B.default.createElement("div",{className:"tool-input",onClick:()=>p(!r),style:{cursor:"pointer"}},r?s:s.length>100?s.substring(0,100)+"...":s))}};if(!a)return B.default.createElement("div",{className:"message-item message-tool-use"},B.default.createElement("div",null,v,B.default.createElement("span",{className:"tool-name"},c||e.content)),s&&B.default.createElement("div",{className:"tool-input",onClick:()=>p(!r),style:{cursor:"pointer"}},r?s:s.length>100?s.substring(0,100)+"...":s));let S=a;if(l&&l.startsWith("mcp_")){let g=B.default.createElement(Kv,{input:S,displayName:e.metadata?.toolDisplayName||l});return B.default.createElement("div",{className:`message-item message-tool-use${o?" remote":""}`},v,f?B.default.createElement("span",{className:"tool-proxy-row"},d,g):g)}return B.default.createElement("div",{className:`message-item message-tool-use${o?" remote":""}`},v,f?B.default.createElement("span",{className:"tool-proxy-row"},d,y()):y())}var Z=E(x(),1);var ht=E(x(),1);function Ry({data:e}){let[t,n]=(0,ht.useState)(!1);if(e.type==="image")return ht.default.createElement("div",{className:"tool-result-detail tool-result-read"},ht.default.createElement("div",{className:"result-header"},"Read image"));if(e.type==="notebook"){let o=e.file?.cells?.length||0;return ht.default.createElement("div",{className:"tool-result-detail tool-result-read"},ht.default.createElement("div",{className:"result-header"},"Read ",o," cells"))}let l=e.file;if(!l)return null;let a=l.content.split(`
|
|
73
73
|
`),s=t?a:a.slice(0,20),i=a.length>20;return ht.default.createElement("div",{className:"tool-result-detail tool-result-read"},ht.default.createElement("div",{className:"result-header"},ht.default.createElement("span",{className:"file-path"},l.filePath),ht.default.createElement("span",{className:"tool-meta"},l.numLines," lines (from ",l.startLine,", total ",l.totalLines,")")),ht.default.createElement("pre",{className:"code-block"},ht.default.createElement("code",null,s.join(`
|
|
74
74
|
`))),i&&!t&&ht.default.createElement("div",{className:"expand-toggle",onClick:()=>n(!0)},"... ",a.length-20," more lines (click to expand)"))}var tn=E(x(),1);var en=E(x(),1);function IT(e,t){let n=t,l=[],a=[...e];for(;a.length>0;){let{code:s,type:i}=a.shift(),o={code:s,type:i,lineNo:n};switch(i){case"context":n++,l.push(o);break;case"add":n++,l.push(o);break;case"remove":{l.push(o);let u=0;for(;a[0]?.type==="remove";){n++;let f=a.shift();l.push({code:f.code,type:f.type,lineNo:n}),u++}n-=u;break}}}return l}function Yu({structuredPatch:e,filePath:t}){let n=(0,en.useMemo)(()=>{let s=[];for(let i=0;i<e.length;i++){let o=e[i];i>0&&s.push({type:"separator"});let u=o.lines.map(r=>r.startsWith("+")?{type:"add",code:" "+r.slice(1)}:r.startsWith("-")?{type:"remove",code:" "+r.slice(1)}:{type:"context",code:r}),f=IT(u,o.oldStart);s.push(...f)}return s},[e]);if(n.length===0)return en.default.createElement("div",{className:"diff-empty"},"No changes");let l=Math.max(...n.filter(s=>s.type!=="separator").map(s=>s.lineNo)),a=Math.max(l.toString().length,1);return en.default.createElement("div",{className:"diff-view"},n.map((s,i)=>{if(s.type==="separator")return en.default.createElement("div",{key:i,className:"diff-line diff-separator"},en.default.createElement("span",{className:"diff-line-no",style:{width:`${a+1}ch`}}),en.default.createElement("span",{className:"diff-code"},"..."));let o=s;return en.default.createElement("div",{key:i,className:`diff-line diff-${o.type}`},en.default.createElement("span",{className:"diff-line-no",style:{width:`${a+1}ch`}},o.lineNo.toString().padStart(a)),en.default.createElement("span",{className:"diff-code"},o.code))}))}function FT(e){let t=e.split(/[/\\]/);return t[t.length-1]||e}function Iy({data:e}){let{numAdditions:t,numRemovals:n}=(0,tn.useMemo)(()=>{if(!e.structuredPatch||e.structuredPatch.length===0)return{numAdditions:0,numRemovals:0};let i=0,o=0;for(let u of e.structuredPatch)for(let f of u.lines||[])f.startsWith("+")?i++:f.startsWith("-")&&o++;return{numAdditions:i,numRemovals:o}},[e.structuredPatch]),l=FT(e.filePath),a=[];t>0&&a.push(`${t} ${t>1?"additions":"addition"}`),n>0&&a.push(`${n} ${n>1?"removals":"removal"}`);let s=a.length>0?` with ${a.join(" and ")}`:"";return tn.default.createElement("div",{className:"tool-result-detail tool-result-edit"},tn.default.createElement("div",{className:"result-header"},tn.default.createElement("span",{className:"result-summary"},"Updated ",tn.default.createElement("span",{className:"file-path"},l),s)),e.structuredPatch&&e.structuredPatch.length>0?tn.default.createElement(Yu,{structuredPatch:e.structuredPatch,filePath:e.filePath}):tn.default.createElement("div",{className:"diff-preview-inline"},tn.default.createElement("div",{className:"diff-line diff-remove"},"- ",e.oldString),tn.default.createElement("div",{className:"diff-line diff-add"},"+ ",e.newString)))}var tt=E(x(),1);function Fy({data:e}){let[t,n]=(0,tt.useState)(!1);if(e.type==="create"){let l=e.content.split(`
|
|
@@ -89,7 +89,7 @@ Please report this to https://github.com/markedjs/marked.`,e){let l="<p>An error
|
|
|
89
89
|
`):[],p=t?r:r.slice(0,30),c=r.length>30;return ut.default.createElement("div",{className:"tool-result-detail tool-result-taskoutput"},ut.default.createElement("div",{className:"result-header"},ut.default.createElement("span",{className:`result-status ${i?"status-error":o?"status-success":"status-warn"}`},l?"Task":"Shell"," ",a,e.exit_code!==null&&e.exit_code!==void 0&&` (exit ${e.exit_code})`),ut.default.createElement("span",{className:"tool-meta"},e.task_id)),s&&ut.default.createElement("div",{className:"result-note"},l?"Task is still running...":"Shell is still running..."),u&&ut.default.createElement(ut.default.Fragment,null,ut.default.createElement("pre",{className:"code-block stdout-block"},ut.default.createElement("code",null,p.join(`
|
|
90
90
|
`))),c&&!t&&ut.default.createElement("div",{className:"expand-toggle",onClick:()=>n(!0)},"... ",r.length-30," more lines (click to expand)")),f&&ut.default.createElement("pre",{className:"code-block stderr-block"},ut.default.createElement("code",null,e.stderr)))}var we=E(x(),1);function rb({data:e}){let[t,n]=(0,we.useState)(!1);if(e.run_in_background)return we.default.createElement("div",{className:"tool-result-detail tool-result-powershell"},we.default.createElement("div",{className:"result-header"},we.default.createElement("span",{className:"result-status status-info"},"Running in background")));let l=e.stdout&&e.stdout.trim(),a=e.stderr&&e.stderr.trim();if(!l&&!a&&!e.interrupted)return we.default.createElement("div",{className:"tool-result-detail tool-result-powershell"},we.default.createElement("div",{className:"result-header"},we.default.createElement("span",{className:"result-status status-success"},"Done (no output)")));let s=l?e.stdout.split(`
|
|
91
91
|
`):[],i=t?s:s.slice(0,30),o=s.length>30;return we.default.createElement("div",{className:"tool-result-detail tool-result-powershell"},we.default.createElement("div",{className:"result-header"},e.interrupted?we.default.createElement("span",{className:"result-status status-warn"},"Interrupted"):we.default.createElement("span",{className:"result-status status-success"},"exit 0"),e.stdoutLines>0&&we.default.createElement("span",{className:"tool-meta"},e.stdoutLines," lines")),l&&we.default.createElement(we.default.Fragment,null,we.default.createElement("pre",{className:"code-block stdout-block"},we.default.createElement("code",null,i.join(`
|
|
92
|
-
`))),o&&!t&&we.default.createElement("div",{className:"expand-toggle",onClick:()=>n(!0)},"... ",s.length-30," more lines (click to expand)")),a&&we.default.createElement("pre",{className:"code-block stderr-block"},we.default.createElement("code",null,e.stderr)),e.interrupted&&we.default.createElement("div",{className:"result-note"},"Command was aborted before completion"))}var Qu=E(x(),1);function cb({data:e}){let t=e.toolNames||[];return Qu.default.createElement("div",{className:"tool-result-detail tool-result-toolloader"},Qu.default.createElement("div",{className:"result-header"},Qu.default.createElement("span",{className:"result-status status-success"},e.message||`Tools loaded: ${t.join(", ")}`)))}var Zu=E(x(),1);function fb({data:e}){let n=e.message?.startsWith("<error>")?"status-error":"status-success";return Zu.default.createElement("div",{className:"tool-result-detail tool-result-toolunloader"},Zu.default.createElement("div",{className:"result-header"},Zu.default.createElement("span",{className:`result-status ${n}`},e.message||"Tools unloaded")))}var Zn=E(x(),1);function db({data:e}){return e.error?Zn.default.createElement("div",{className:"tool-result-detail tool-result-notebookedit"},Zn.default.createElement("div",{className:"result-header"},Zn.default.createElement("span",{className:"result-status status-error"},e.error))):Zn.default.createElement("div",{className:"tool-result-detail tool-result-notebookedit"},Zn.default.createElement("div",{className:"result-header"},Zn.default.createElement("span",{className:"result-status status-success"},e.edit_mode==="delete"?`Deleted cell ${e.cell_number}`:`${e.edit_mode==="insert"?"Inserted":"Updated"} cell ${e.cell_number}`)),Zn.default.createElement("pre",{className:"code-block"},Zn.default.createElement("code",null,e.new_source)))}var Nl=E(x(),1);function pb({data:e}){return Nl.default.createElement("div",{className:"tool-result-detail tool-result-websearch"},Nl.default.createElement("div",{className:"result-header"},Nl.default.createElement("span",{className:"result-status status-success"},"Found ",e.results.length," ",e.results.length===1?"result":"results")),e.summaryText&&Nl.default.createElement("div",{className:"result-summary markdown-body"},e.summaryText),e.results.length>0&&Nl.default.createElement("ul",{className:"result-list"},e.results.map((t,n)=>Nl.default.createElement("li",{key:n},Nl.default.createElement("a",{href:t.link,target:"_blank",rel:"noreferrer"},t.title)))))}var Xn=E(x(),1);function mb({data:e}){let[t,n]=(0,Xn.useState)(!1),l=e.aiAnalysis||"No content could be analyzed",a=l.length>400,s=t||!a?l:l.slice(0,400)+"...";return Xn.default.createElement("div",{className:"tool-result-detail tool-result-webfetch"},Xn.default.createElement("div",{className:"result-header"},Xn.default.createElement("span",{className:"result-status status-success"},"Content ",e.fromCache?"from cache":"fetched"," and analyzed"),Xn.default.createElement("span",{className:"tool-meta"},e.url)),Xn.default.createElement("div",{className:"result-content markdown-body",style:{whiteSpace:"pre-wrap"}},s),a&&!t&&Xn.default.createElement("div",{className:"expand-toggle",onClick:()=>n(!0)},"click to expand"))}var vi=E(x(),1);function gb({data:e}){return vi.default.createElement("div",{className:"tool-result-detail tool-result-taskstop"},vi.default.createElement("div",{className:"result-header"},vi.default.createElement("span",{className:`result-status ${e.stopped?"status-success":"status-error"}`},e.message),vi.default.createElement("span",{className:"tool-meta"},e.task_id," (",e.task_type,")")))}var Tl=E(x(),1);function tE(e){return e==="completed"?"\u2612":"\u2610"}function hb({data:e}){let t=e.todos||[];return t.length===0?Tl.default.createElement("div",{className:"tool-result-detail tool-result-todowrite"},Tl.default.createElement("div",{className:"result-header"},Tl.default.createElement("span",{className:"result-status status-info"},"No todos currently"))):Tl.default.createElement("div",{className:"tool-result-detail tool-result-todowrite"},t.map((n,l)=>{let a=n.status==="completed",s=n.status==="in_progress";return Tl.default.createElement("div",{key:l,className:"todo-item"},Tl.default.createElement("span",{className:`todo-checkbox ${a?"completed":""}`},tE(n.status)),Tl.default.createElement("span",{className:`todo-content ${a?"completed":""} ${s?"in-progress":""}`},n.content))}))}var yi=E(x(),1);function vb({data:e}){return yi.default.createElement("div",{className:"tool-result-detail tool-result-think"},yi.default.createElement("div",{className:"result-header"},yi.default.createElement("span",{className:"result-status status-success"},"Thought logged")),yi.default.createElement("div",{className:"result-content"},e.thought))}var lt=E(x(),1);function yb({data:e}){if(e.error)return lt.default.createElement("div",{className:"tool-result-detail tool-result-askuserquestion"},lt.default.createElement("div",{className:"result-header"},lt.default.createElement("span",{className:"result-status status-error"},e.error)));if(e.cancelled)return lt.default.createElement("div",{className:"tool-result-detail tool-result-askuserquestion"},lt.default.createElement("div",{className:"result-header"},lt.default.createElement("span",{className:"result-status status-warn"},"Question asking was cancelled")));let t=Object.entries(e.answers||{});return t.length===0?lt.default.createElement("div",{className:"tool-result-detail tool-result-askuserquestion"},lt.default.createElement("div",{className:"result-header"},lt.default.createElement("span",{className:"result-status status-info"},"No answers provided by user"))):lt.default.createElement("div",{className:"tool-result-detail tool-result-askuserquestion"},lt.default.createElement("div",{className:"result-header"},lt.default.createElement("span",{className:"result-status status-success"},"User answered questions")),lt.default.createElement("ul",{className:"result-list"},t.map(([n,l],a)=>lt.default.createElement("li",{key:a},lt.default.createElement("strong",null,n)," \u2192 ",l))))}var ea=E(x(),1);function bb({data:e}){return e.error?ea.default.createElement("div",{className:"tool-result-detail tool-result-enterplanmode"},ea.default.createElement("div",{className:"result-header"},ea.default.createElement("span",{className:"result-status status-error"},e.error))):ea.default.createElement("div",{className:"tool-result-detail tool-result-enterplanmode"},ea.default.createElement("div",{className:"result-header"},ea.default.createElement("span",{className:`result-status ${e.approved?"status-success":"status-warn"}`},e.approved?"Entered plan mode":"User declined to enter plan mode")))}var Kt=E(x(),1);function Sb({data:e}){return e.error?Kt.default.createElement("div",{className:"tool-result-detail tool-result-exitplanmode"},Kt.default.createElement("div",{className:"result-header"},Kt.default.createElement("span",{className:"result-status status-error"},e.error))):e.cancelled||!e.approved?Kt.default.createElement("div",{className:"tool-result-detail tool-result-exitplanmode"},Kt.default.createElement("div",{className:"result-header"},Kt.default.createElement("span",{className:"result-status status-warn"},"Keep planning"))):Kt.default.createElement("div",{className:"tool-result-detail tool-result-exitplanmode"},Kt.default.createElement("div",{className:"result-header"},Kt.default.createElement("span",{className:"result-status status-success"},"User approved ",e.manualApproval?"manual approval":"auto-accept"," plan")),e.plan&&Kt.default.createElement("div",{className:"result-content markdown-body"},e.plan),e.planFilePath&&Kt.default.createElement("div",{className:"tool-meta"},"Plan saved to: ",e.planFilePath))}var bi=E(x(),1);function Nb({data:e}){let t=e.message?.startsWith("Failed")||!e.worktreePath;return bi.default.createElement("div",{className:"tool-result-detail tool-result-enterworktree"},bi.default.createElement("div",{className:"result-header"},bi.default.createElement("span",{className:`result-status ${t?"status-error":"status-success"}`},t?"Failed":"Created worktree")),bi.default.createElement("div",{className:"result-content"},e.message))}var ns=E(x(),1);function Tb({data:e}){let t=e.message?.startsWith("Error")||e.message?.startsWith("Cancelled");return ns.default.createElement("div",{className:"tool-result-detail tool-result-exitworktree"},ns.default.createElement("div",{className:"result-header"},ns.default.createElement("span",{className:`result-status ${t?"status-error":"status-success"}`},t?"Failed":"Exited worktree"),ns.default.createElement("span",{className:"tool-meta"},e.action)),ns.default.createElement("div",{className:"result-content"},e.message))}var Si=E(x(),1);function Eb({data:e}){let t=e.message?.startsWith("<error>");return Si.default.createElement("div",{className:"tool-result-detail tool-result-slashcommand"},Si.default.createElement("div",{className:"result-header"},Si.default.createElement("span",{className:`result-status ${t?"status-error":"status-info"}`},'The "',e.commandWithArgs?.split(" ")[0],'" slash command is running')),t&&Si.default.createElement("div",{className:"result-content"},e.message))}var ta=E(x(),1);function xb({data:e}){let t=e.message?.startsWith("<error>");return ta.default.createElement("div",{className:"tool-result-detail tool-result-skill"},ta.default.createElement("div",{className:"result-header"},ta.default.createElement("span",{className:`result-status ${t?"status-error":"status-success"}`},t?"Skill error":e.fork?"Skill completed":"Successfully loaded skill"),ta.default.createElement("span",{className:"tool-meta"},e.skillName)),!t&&e.baseDirectory&&ta.default.createElement("div",{className:"tool-meta"},"Base directory: ",e.baseDirectory),t&&ta.default.createElement("div",{className:"result-content"},e.message))}var Xu=E(x(),1);function _b({data:e}){let t=e.message?.startsWith("Error");return Xu.default.createElement("div",{className:"tool-result-detail tool-result-croncreate"},Xu.default.createElement("div",{className:"result-header"},Xu.default.createElement("span",{className:`result-status ${t?"status-error":"status-success"}`},t?e.message:`Scheduled ${e.jobId} ${e.description}`)))}var Vu=E(x(),1);function kb({data:e}){return Vu.default.createElement("div",{className:"tool-result-detail tool-result-crondelete"},Vu.default.createElement("div",{className:"result-header"},Vu.default.createElement("span",{className:`result-status ${e.success?"status-success":"status-warn"}`},e.message)))}var ln=E(x(),1);function Ab({data:e}){return!e.jobs||e.jobs.length===0?ln.default.createElement("div",{className:"tool-result-detail tool-result-cronlist"},ln.default.createElement("div",{className:"result-header"},ln.default.createElement("span",{className:"result-status status-info"},"No cron jobs scheduled"))):ln.default.createElement("div",{className:"tool-result-detail tool-result-cronlist"},ln.default.createElement("div",{className:"result-header"},ln.default.createElement("span",{className:"result-status status-success"},"Scheduled cron jobs")),ln.default.createElement("ul",{className:"result-list"},e.jobs.map(t=>{let n=t.prompt.length>50?t.prompt.slice(0,50)+"...":t.prompt;return ln.default.createElement("li",{key:t.id},ln.default.createElement("code",null,t.id),": ",n," ",ln.default.createElement("span",{className:"tool-meta"},"(",t.recurring?"recurring":"one-shot"," \xB7 ",t.description,")"))})))}var El=E(x(),1);function Mb({data:e}){return El.default.createElement("div",{className:"tool-result-detail tool-result-teamcreate"},El.default.createElement("div",{className:"result-header"},El.default.createElement("span",{className:"result-status status-success"},"Created team: ",e.name)),El.default.createElement("div",{className:"result-content"},e.description&&El.default.createElement("div",null,"Description: ",e.description),El.default.createElement("div",null,"Lead: ",e.leadAgentId),El.default.createElement("div",null,"Members: ",e.members?.length||0)))}var Ni=E(x(),1);function Cb({data:e}){return Ni.default.createElement("div",{className:"tool-result-detail tool-result-teamdelete"},Ni.default.createElement("div",{className:"result-header"},Ni.default.createElement("span",{className:`result-status ${e.success?"status-success":"status-error"}`},e.success?`Deleted team: ${e.teamName}`:`Failed to delete team: ${e.teamName}`)),!e.success&&Ni.default.createElement("div",{className:"result-content"},e.message))}var Ti=E(x(),1);function Ob({data:e}){return Ti.default.createElement("div",{className:"tool-result-detail tool-result-sendmessage"},Ti.default.createElement("div",{className:"result-header"},Ti.default.createElement("span",{className:`result-status ${e.success?"status-success":"status-error"}`},e.success?e.message:"Failed to send message")),!e.success&&Ti.default.createElement("div",{className:"result-content"},e.message))}var xl=E(x(),1);function nE(e){let t=!1,n=!1;for(let l of Object.values(e))for(let a of l)a==="__tool_result__"?t=!0:n=!0;return{hasToolResult:t,hasInputFields:n}}function lE(e){return e==="__tool_result__"?"tool result":`input field "${e}"`}function wb({data:e}){let t=e.action==="archive"?"Archived":"Unarchived",n=e.action==="archive"?e.archivedToolUseInputFields??{}:e.unarchivedToolUseInputFields??{},l=Object.keys(n).length,{hasToolResult:a,hasInputFields:s}=nE(n),i="tool result(s)";return a&&s?i="tool result(s) and input field(s)":s&&(i="input field(s)"),xl.default.createElement("div",{className:"tool-result-detail tool-result-messagearchiving"},xl.default.createElement("div",{className:"result-header"},xl.default.createElement("span",{className:"result-status status-success"},t," ",i," for ",l," tool use(s)")),Object.entries(n).map(([o,u])=>xl.default.createElement("div",{key:o,className:"result-fields"},xl.default.createElement("span",{className:"result-tool-use-id"},o,":"),u.map((f,r)=>xl.default.createElement("span",{key:`${f}-${r}`,className:"result-field"},r>0?", ":"",lE(f))))),e.action==="archive"&&e.summary&&xl.default.createElement("div",{className:"result-summary"},e.summary))}var te=E(x(),1);function zb({data:e}){return te.default.createElement("div",{className:"tool-result-detail tool-result-memo"},(()=>{switch(e.action){case"write":{let{result:n}=e;return te.default.createElement(te.default.Fragment,null,te.default.createElement("div",{className:"result-header"},te.default.createElement("span",{className:`result-status ${n.success?"status-success":"status-error"}`},"\u23BF Memo ",n.success?"saved":"failed",": ",n.key),n.success&&n.savedChars!==void 0&&te.default.createElement("span",{className:"result-meta"},"(",n.savedChars," chars)")),!n.success&&n.error&&te.default.createElement("div",{className:"memo-error"},n.error))}case"read":{let{note:n}=e;return n?te.default.createElement(te.default.Fragment,null,te.default.createElement("div",{className:"result-header"},te.default.createElement("span",{className:"result-status status-success"},"\u23BF Memo read: ",n.key),te.default.createElement("span",{className:"result-meta"},n.summary)),te.default.createElement("div",{className:"memo-content"},n.content)):te.default.createElement("div",{className:"result-header"},te.default.createElement("span",{className:"result-status status-warn"},"\u23BF Memo not found"))}case"list":{let{notes:n}=e;return te.default.createElement(te.default.Fragment,null,te.default.createElement("div",{className:"result-header"},te.default.createElement("span",{className:"result-status status-info"},"\u23BF Memo list (",n.length," memos)")),n.length>0&&te.default.createElement("table",{className:"memo-table"},te.default.createElement("thead",null,te.default.createElement("tr",null,te.default.createElement("th",null,"#"),te.default.createElement("th",null,"Key"),te.default.createElement("th",null,"Summary"),te.default.createElement("th",null,"Updated"))),te.default.createElement("tbody",null,n.map((l,a)=>te.default.createElement("tr",{key:l.key},te.default.createElement("td",null,a+1),te.default.createElement("td",{className:"memo-key"},l.key),te.default.createElement("td",null,l.summary),te.default.createElement("td",{className:"memo-date"},l.updatedAt))))))}case"delete":{let{success:n,key:l}=e;return te.default.createElement("div",{className:"result-header"},te.default.createElement("span",{className:`result-status ${n?"status-success":"status-warn"}`},"\u23BF Memo ",n?"deleted":"not found",": ",l))}default:return null}})())}var Ku=E(x(),1);function Ub({data:e}){let t=e?.action==="describe"&&e?.name?`${e.name} tool is loaded`:e?.message??"";return Ku.default.createElement("div",{className:"tool-result-detail tool-result-proxy"},Ku.default.createElement("div",{className:"result-header"},Ku.default.createElement("span",{className:"result-status status-success"},t)))}var wt=E(x(),1);function Db({data:e}){let[t,n]=(0,wt.useState)(!1);if(e?.error)return wt.default.createElement("div",{className:"tool-result-detail tool-result-codemode"},wt.default.createElement("div",{className:"result-header"},wt.default.createElement("span",{className:"result-status status-error"},"Error: ",e.error)));let a=((typeof e?.result=="string"?e.result:JSON.stringify(e?.result,null,2))??"").split(`
|
|
92
|
+
`))),o&&!t&&we.default.createElement("div",{className:"expand-toggle",onClick:()=>n(!0)},"... ",s.length-30," more lines (click to expand)")),a&&we.default.createElement("pre",{className:"code-block stderr-block"},we.default.createElement("code",null,e.stderr)),e.interrupted&&we.default.createElement("div",{className:"result-note"},"Command was aborted before completion"))}var Qu=E(x(),1);function cb({data:e}){let t=e.toolNames||[];return Qu.default.createElement("div",{className:"tool-result-detail tool-result-toolloader"},Qu.default.createElement("div",{className:"result-header"},Qu.default.createElement("span",{className:"result-status status-success"},e.message||`Tools loaded: ${t.join(", ")}`)))}var Zu=E(x(),1);function fb({data:e}){let n=e.message?.startsWith("<error>")?"status-error":"status-success";return Zu.default.createElement("div",{className:"tool-result-detail tool-result-toolunloader"},Zu.default.createElement("div",{className:"result-header"},Zu.default.createElement("span",{className:`result-status ${n}`},e.message||"Tools unloaded")))}var Zn=E(x(),1);function db({data:e}){return e.error?Zn.default.createElement("div",{className:"tool-result-detail tool-result-notebookedit"},Zn.default.createElement("div",{className:"result-header"},Zn.default.createElement("span",{className:"result-status status-error"},e.error))):Zn.default.createElement("div",{className:"tool-result-detail tool-result-notebookedit"},Zn.default.createElement("div",{className:"result-header"},Zn.default.createElement("span",{className:"result-status status-success"},e.edit_mode==="delete"?`Deleted cell ${e.cell_number}`:`${e.edit_mode==="insert"?"Inserted":"Updated"} cell ${e.cell_number}`)),Zn.default.createElement("pre",{className:"code-block"},Zn.default.createElement("code",null,e.new_source)))}var Nl=E(x(),1);function pb({data:e}){return Nl.default.createElement("div",{className:"tool-result-detail tool-result-websearch"},Nl.default.createElement("div",{className:"result-header"},Nl.default.createElement("span",{className:"result-status status-success"},"Found ",e.results.length," ",e.results.length===1?"result":"results")),e.summaryText&&Nl.default.createElement("div",{className:"result-summary markdown-body"},e.summaryText),e.results.length>0&&Nl.default.createElement("ul",{className:"result-list"},e.results.map((t,n)=>Nl.default.createElement("li",{key:n},Nl.default.createElement("a",{href:t.link,target:"_blank",rel:"noreferrer"},t.title)))))}var Xn=E(x(),1);function mb({data:e}){let[t,n]=(0,Xn.useState)(!1),l=e.aiAnalysis||"No content could be analyzed",a=l.length>400,s=t||!a?l:l.slice(0,400)+"...";return Xn.default.createElement("div",{className:"tool-result-detail tool-result-webfetch"},Xn.default.createElement("div",{className:"result-header"},Xn.default.createElement("span",{className:"result-status status-success"},"Content ",e.fromCache?"from cache":"fetched"," and analyzed"),Xn.default.createElement("span",{className:"tool-meta"},e.url)),Xn.default.createElement("div",{className:"result-content markdown-body",style:{whiteSpace:"pre-wrap"}},s),a&&!t&&Xn.default.createElement("div",{className:"expand-toggle",onClick:()=>n(!0)},"click to expand"))}var vi=E(x(),1);function gb({data:e}){return vi.default.createElement("div",{className:"tool-result-detail tool-result-taskstop"},vi.default.createElement("div",{className:"result-header"},vi.default.createElement("span",{className:`result-status ${e.stopped?"status-success":"status-error"}`},e.message),vi.default.createElement("span",{className:"tool-meta"},e.task_id," (",e.task_type,")")))}var Tl=E(x(),1);function tE(e){return e==="completed"?"\u2612":"\u2610"}function hb({data:e}){let t=e.todos||[];return t.length===0?Tl.default.createElement("div",{className:"tool-result-detail tool-result-todowrite"},Tl.default.createElement("div",{className:"result-header"},Tl.default.createElement("span",{className:"result-status status-info"},"No todos currently"))):Tl.default.createElement("div",{className:"tool-result-detail tool-result-todowrite"},t.map((n,l)=>{let a=n.status==="completed",s=n.status==="in_progress";return Tl.default.createElement("div",{key:l,className:"todo-item"},Tl.default.createElement("span",{className:`todo-checkbox ${a?"completed":""}`},tE(n.status)),Tl.default.createElement("span",{className:`todo-content ${a?"completed":""} ${s?"in-progress":""}`},n.content))}))}var yi=E(x(),1);function vb({data:e}){return yi.default.createElement("div",{className:"tool-result-detail tool-result-think"},yi.default.createElement("div",{className:"result-header"},yi.default.createElement("span",{className:"result-status status-success"},"Thought logged")),yi.default.createElement("div",{className:"result-content"},e.thought))}var lt=E(x(),1);function yb({data:e}){if(e.error)return lt.default.createElement("div",{className:"tool-result-detail tool-result-askuserquestion"},lt.default.createElement("div",{className:"result-header"},lt.default.createElement("span",{className:"result-status status-error"},e.error)));if(e.cancelled)return lt.default.createElement("div",{className:"tool-result-detail tool-result-askuserquestion"},lt.default.createElement("div",{className:"result-header"},lt.default.createElement("span",{className:"result-status status-warn"},"Question asking was cancelled")));let t=Object.entries(e.answers||{});return t.length===0?lt.default.createElement("div",{className:"tool-result-detail tool-result-askuserquestion"},lt.default.createElement("div",{className:"result-header"},lt.default.createElement("span",{className:"result-status status-info"},"No answers provided by user"))):lt.default.createElement("div",{className:"tool-result-detail tool-result-askuserquestion"},lt.default.createElement("div",{className:"result-header"},lt.default.createElement("span",{className:"result-status status-success"},"User answered questions")),lt.default.createElement("ul",{className:"result-list"},t.map(([n,l],a)=>lt.default.createElement("li",{key:a},lt.default.createElement("strong",null,n)," \u2192 ",l))))}var ea=E(x(),1);function bb({data:e}){return e.error?ea.default.createElement("div",{className:"tool-result-detail tool-result-enterplanmode"},ea.default.createElement("div",{className:"result-header"},ea.default.createElement("span",{className:"result-status status-error"},e.error))):ea.default.createElement("div",{className:"tool-result-detail tool-result-enterplanmode"},ea.default.createElement("div",{className:"result-header"},ea.default.createElement("span",{className:`result-status ${e.approved?"status-success":"status-warn"}`},e.approved?"Entered plan mode":"User declined to enter plan mode")))}var Kt=E(x(),1);function Sb({data:e}){return e.error?Kt.default.createElement("div",{className:"tool-result-detail tool-result-exitplanmode"},Kt.default.createElement("div",{className:"result-header"},Kt.default.createElement("span",{className:"result-status status-error"},e.error))):e.cancelled||!e.approved?Kt.default.createElement("div",{className:"tool-result-detail tool-result-exitplanmode"},Kt.default.createElement("div",{className:"result-header"},Kt.default.createElement("span",{className:"result-status status-warn"},"Keep planning"))):Kt.default.createElement("div",{className:"tool-result-detail tool-result-exitplanmode"},Kt.default.createElement("div",{className:"result-header"},Kt.default.createElement("span",{className:"result-status status-success"},"User approved ",e.manualApproval?"manual approval":"auto-accept"," plan")),e.plan&&Kt.default.createElement("div",{className:"result-content markdown-body"},e.plan),e.planFilePath&&Kt.default.createElement("div",{className:"tool-meta"},"Plan saved to: ",e.planFilePath))}var bi=E(x(),1);function Nb({data:e}){let t=e.message?.startsWith("Failed")||!e.worktreePath;return bi.default.createElement("div",{className:"tool-result-detail tool-result-enterworktree"},bi.default.createElement("div",{className:"result-header"},bi.default.createElement("span",{className:`result-status ${t?"status-error":"status-success"}`},t?"Failed":"Created worktree")),bi.default.createElement("div",{className:"result-content"},e.message))}var ns=E(x(),1);function Tb({data:e}){let t=e.message?.startsWith("Error")||e.message?.startsWith("Cancelled");return ns.default.createElement("div",{className:"tool-result-detail tool-result-exitworktree"},ns.default.createElement("div",{className:"result-header"},ns.default.createElement("span",{className:`result-status ${t?"status-error":"status-success"}`},t?"Failed":"Exited worktree"),ns.default.createElement("span",{className:"tool-meta"},e.action)),ns.default.createElement("div",{className:"result-content"},e.message))}var Si=E(x(),1);function Eb({data:e}){let t=e.message?.startsWith("<error>");return Si.default.createElement("div",{className:"tool-result-detail tool-result-slashcommand"},Si.default.createElement("div",{className:"result-header"},Si.default.createElement("span",{className:`result-status ${t?"status-error":"status-info"}`},'The "',e.commandWithArgs?.split(" ")[0],'" slash command is running')),t&&Si.default.createElement("div",{className:"result-content"},e.message))}var ta=E(x(),1);function xb({data:e}){let t=e.message?.startsWith("<error>");return ta.default.createElement("div",{className:"tool-result-detail tool-result-skill"},ta.default.createElement("div",{className:"result-header"},ta.default.createElement("span",{className:`result-status ${t?"status-error":"status-success"}`},t?"Skill error":e.fork?"Skill completed":"Successfully loaded skill"),ta.default.createElement("span",{className:"tool-meta"},e.skillName)),!t&&e.baseDirectory&&ta.default.createElement("div",{className:"tool-meta"},"Base directory: ",e.baseDirectory),t&&ta.default.createElement("div",{className:"result-content"},e.message))}var Xu=E(x(),1);function _b({data:e}){let t=e.message?.startsWith("Error");return Xu.default.createElement("div",{className:"tool-result-detail tool-result-croncreate"},Xu.default.createElement("div",{className:"result-header"},Xu.default.createElement("span",{className:`result-status ${t?"status-error":"status-success"}`},t?e.message:`Scheduled ${e.jobId} ${e.description}`)))}var Vu=E(x(),1);function kb({data:e}){return Vu.default.createElement("div",{className:"tool-result-detail tool-result-crondelete"},Vu.default.createElement("div",{className:"result-header"},Vu.default.createElement("span",{className:`result-status ${e.success?"status-success":"status-warn"}`},e.message)))}var ln=E(x(),1);function Ab({data:e}){return!e.jobs||e.jobs.length===0?ln.default.createElement("div",{className:"tool-result-detail tool-result-cronlist"},ln.default.createElement("div",{className:"result-header"},ln.default.createElement("span",{className:"result-status status-info"},"No cron jobs scheduled"))):ln.default.createElement("div",{className:"tool-result-detail tool-result-cronlist"},ln.default.createElement("div",{className:"result-header"},ln.default.createElement("span",{className:"result-status status-success"},"Scheduled cron jobs")),ln.default.createElement("ul",{className:"result-list"},e.jobs.map(t=>{let n=t.prompt.length>50?t.prompt.slice(0,50)+"...":t.prompt;return ln.default.createElement("li",{key:t.id},ln.default.createElement("code",null,t.id),": ",n," ",ln.default.createElement("span",{className:"tool-meta"},"(",t.recurring?"recurring":"one-shot"," \xB7 ",t.description,")"))})))}var El=E(x(),1);function Mb({data:e}){return El.default.createElement("div",{className:"tool-result-detail tool-result-teamcreate"},El.default.createElement("div",{className:"result-header"},El.default.createElement("span",{className:"result-status status-success"},"Created team: ",e.name)),El.default.createElement("div",{className:"result-content"},e.description&&El.default.createElement("div",null,"Description: ",e.description),El.default.createElement("div",null,"Lead: ",e.leadAgentId),El.default.createElement("div",null,"Members: ",e.members?.length||0)))}var Ni=E(x(),1);function Cb({data:e}){return Ni.default.createElement("div",{className:"tool-result-detail tool-result-teamdelete"},Ni.default.createElement("div",{className:"result-header"},Ni.default.createElement("span",{className:`result-status ${e.success?"status-success":"status-error"}`},e.success?`Deleted team: ${e.teamName}`:`Failed to delete team: ${e.teamName}`)),!e.success&&Ni.default.createElement("div",{className:"result-content"},e.message))}var Ti=E(x(),1);function Ob({data:e}){return Ti.default.createElement("div",{className:"tool-result-detail tool-result-sendmessage"},Ti.default.createElement("div",{className:"result-header"},Ti.default.createElement("span",{className:`result-status ${e.success?"status-success":"status-error"}`},e.success?e.message:"Failed to send message")),!e.success&&Ti.default.createElement("div",{className:"result-content"},e.message))}var xl=E(x(),1);function nE(e){let t=!1,n=!1;for(let l of Object.values(e))for(let a of l)a==="__tool_result__"?t=!0:n=!0;return{hasToolResult:t,hasInputFields:n}}function lE(e){return e==="__tool_result__"?"tool result":`input field "${e}"`}function wb({data:e}){let t=e.action==="archive"?"Archived":"Unarchived",n=e.action==="archive"?e.archivedToolUseInputFields??{}:e.unarchivedToolUseInputFields??{},l=Object.keys(n).length,{hasToolResult:a,hasInputFields:s}=nE(n),i="tool result(s)";return a&&s?i="tool result(s) and input field(s)":s&&(i="input field(s)"),xl.default.createElement("div",{className:"tool-result-detail tool-result-messagearchiving"},xl.default.createElement("div",{className:"result-header"},xl.default.createElement("span",{className:"result-status status-success"},t," ",i," for ",l," tool use(s)")),Object.entries(n).map(([o,u])=>xl.default.createElement("div",{key:o,className:"result-fields"},xl.default.createElement("span",{className:"result-tool-use-id"},o,":"),u.map((f,r)=>xl.default.createElement("span",{key:`${f}-${r}`,className:"result-field"},r>0?", ":"",lE(f))))),e.action==="archive"&&e.summary&&xl.default.createElement("div",{className:"result-summary"},e.summary))}var te=E(x(),1);function zb({data:e}){return te.default.createElement("div",{className:"tool-result-detail tool-result-memo"},(()=>{switch(e.action){case"write":{let{result:n}=e;return te.default.createElement(te.default.Fragment,null,te.default.createElement("div",{className:"result-header"},te.default.createElement("span",{className:`result-status ${n.success?"status-success":"status-error"}`},"\u23BF Memo ",n.success?"saved":"failed",": ",n.key),n.success&&n.savedChars!==void 0&&te.default.createElement("span",{className:"result-meta"},"(",n.savedChars," chars)")),!n.success&&n.error&&te.default.createElement("div",{className:"memo-error"},n.error))}case"read":{let{note:n}=e;return n?te.default.createElement(te.default.Fragment,null,te.default.createElement("div",{className:"result-header"},te.default.createElement("span",{className:"result-status status-success"},"\u23BF Memo read: ",n.key),te.default.createElement("span",{className:"result-meta"},n.summary)),te.default.createElement("div",{className:"memo-content"},n.content)):te.default.createElement("div",{className:"result-header"},te.default.createElement("span",{className:"result-status status-warn"},"\u23BF Memo not found"))}case"list":{let{notes:n}=e;return te.default.createElement(te.default.Fragment,null,te.default.createElement("div",{className:"result-header"},te.default.createElement("span",{className:"result-status status-info"},"\u23BF Memo list (",n.length," memos)")),n.length>0&&te.default.createElement("table",{className:"memo-table"},te.default.createElement("thead",null,te.default.createElement("tr",null,te.default.createElement("th",null,"#"),te.default.createElement("th",null,"Key"),te.default.createElement("th",null,"Summary"),te.default.createElement("th",null,"Updated"))),te.default.createElement("tbody",null,n.map((l,a)=>te.default.createElement("tr",{key:l.key},te.default.createElement("td",null,a+1),te.default.createElement("td",{className:"memo-key"},l.key),te.default.createElement("td",null,l.summary),te.default.createElement("td",{className:"memo-date"},l.updatedAt))))))}case"delete":{let{success:n,key:l}=e;return te.default.createElement("div",{className:"result-header"},te.default.createElement("span",{className:`result-status ${n?"status-success":"status-warn"}`},"\u23BF Memo ",n?"deleted":"not found",": ",l))}default:return null}})())}var Ku=E(x(),1);function Ub({data:e}){let t=e?.action==="load"&&e?.name?`${e.name} tool is loaded`:e?.message??"";return Ku.default.createElement("div",{className:"tool-result-detail tool-result-proxy"},Ku.default.createElement("div",{className:"result-header"},Ku.default.createElement("span",{className:"result-status status-success"},t)))}var wt=E(x(),1);function Db({data:e}){let[t,n]=(0,wt.useState)(!1);if(e?.error)return wt.default.createElement("div",{className:"tool-result-detail tool-result-codemode"},wt.default.createElement("div",{className:"result-header"},wt.default.createElement("span",{className:"result-status status-error"},"Error: ",e.error)));let a=((typeof e?.result=="string"?e.result:JSON.stringify(e?.result,null,2))??"").split(`
|
|
93
93
|
`),s=a.length>30,i=t?a:a.slice(0,30);return wt.default.createElement("div",{className:"tool-result-detail tool-result-codemode"},wt.default.createElement("div",{className:"result-header"},wt.default.createElement("span",{className:"result-status status-success"},"Result"),a.length>1&&wt.default.createElement("span",{className:"tool-meta"},a.length," lines")),wt.default.createElement("pre",{className:"code-block"},wt.default.createElement("code",null,i.join(`
|
|
94
94
|
`))),s&&!t&&wt.default.createElement("div",{className:"expand-toggle",onClick:()=>n(!0)},"... ",a.length-30," more lines (click to expand)"))}function Lb({message:e}){let{toolName:t,toolData:n,isError:l,isRemote:a}=e.metadata||{},[s,i]=(0,Z.useState)(!1),o=e.content,u=o.length>200,f=s||!u?o:o.substring(0,200)+"... (click to expand)",r=(0,Z.useMemo)(()=>{try{return le.parse(f)}catch{return f}},[f]);if(l||!n)return Z.default.createElement("div",{className:`message-item message-tool-result ${l?"error":""}`},Z.default.createElement("div",{className:"result-content markdown-body custom-scrollbar",onClick:()=>u&&i(!s),style:{cursor:u?"pointer":"default"},dangerouslySetInnerHTML:{__html:r}}));let p=n;return p?.type==="mcp"?Z.default.createElement("div",{className:`message-item message-tool-result${a?" remote":""}`},Z.default.createElement(ob,{data:p})):Z.default.createElement("div",{className:`message-item message-tool-result${a?" remote":""}`},(()=>{switch(t){case"Read":return Z.default.createElement(Ry,{data:p});case"Edit":return Z.default.createElement(Iy,{data:p});case"Write":return Z.default.createElement(Fy,{data:p});case"Bash":return Z.default.createElement(eb,{data:p});case"Grep":return Z.default.createElement(tb,{data:p});case"Glob":return Z.default.createElement(nb,{data:p});case"LS":return Z.default.createElement(lb,{data:p});case"Agent":return Z.default.createElement(ab,{data:p});case"LSP":return Z.default.createElement(sb,{data:p});case"Cwd":return Z.default.createElement(ib,{data:p});case"TaskOutput":return Z.default.createElement(ub,{data:p});case"PowerShell":return Z.default.createElement(rb,{data:p});case"ToolLoader":return Z.default.createElement(cb,{data:p});case"ToolUnLoader":return Z.default.createElement(fb,{data:p});case"NotebookEdit":return Z.default.createElement(db,{data:p});case"WebSearch":return Z.default.createElement(pb,{data:p});case"WebFetch":return Z.default.createElement(mb,{data:p});case"TaskStop":return Z.default.createElement(gb,{data:p});case"TodoWrite":return Z.default.createElement(hb,{data:p});case"Think":return Z.default.createElement(vb,{data:p});case"AskUserQuestion":return Z.default.createElement(yb,{data:p});case"EnterPlanMode":return Z.default.createElement(bb,{data:p});case"ExitPlanMode":return Z.default.createElement(Sb,{data:p});case"EnterWorktreeTool":return Z.default.createElement(Nb,{data:p});case"ExitWorktreeTool":return Z.default.createElement(Tb,{data:p});case"SlashCommand":return Z.default.createElement(Eb,{data:p});case"Skill":return Z.default.createElement(xb,{data:p});case"CronCreate":return Z.default.createElement(_b,{data:p});case"CronDelete":return Z.default.createElement(kb,{data:p});case"CronList":return Z.default.createElement(Ab,{data:p});case"TeamCreate":return Z.default.createElement(Mb,{data:p});case"TeamDelete":return Z.default.createElement(Cb,{data:p});case"SendMessage":return Z.default.createElement(Ob,{data:p});case"MessageArchiving":return Z.default.createElement(wb,{data:p});case"Memo":return Z.default.createElement(zb,{data:p});case"ProxyTool":return Z.default.createElement(Ub,{data:p});case"codemode":return Z.default.createElement(Db,{data:p});default:return Z.default.createElement("pre",{className:"tool-result-text"},e.content)}})())}le.setOptions({breaks:!0,gfm:!0});function Bb({message:e,pendingUserResponses:t,sendUserResponse:n}){switch(e.messageType){case"user_text":return Me.default.createElement(aE,{content:e.content});case"assistant_text":return Me.default.createElement(sE,{content:e.content,metadata:e.metadata});case"assistant_thinking":return Me.default.createElement(iE,{content:e.content});case"tool_use":return Me.default.createElement(Wy,{message:e,pendingUserResponses:t,sendUserResponse:n});case"tool_result":return Me.default.createElement(Lb,{message:e});case"progress":return Me.default.createElement(oE,{content:e.content});case"error":return Me.default.createElement(uE,{content:e.content});default:return null}}function $u(e){return(0,Me.useMemo)(()=>{try{return le.parse(e)}catch{return e}},[e])}function aE({content:e}){let t=$u(e);return Me.default.createElement("div",{className:"message-item message-user"},Me.default.createElement("div",{className:"message-content markdown-body",dangerouslySetInnerHTML:{__html:t}}))}function sE({content:e,metadata:t}){let n=$u(e);return Me.default.createElement("div",{className:"message-item message-assistant"},Me.default.createElement("div",{className:"message-content markdown-body",dangerouslySetInnerHTML:{__html:n}}))}function iE({content:e}){let[t,n]=(0,Me.useState)(!1),l=$u(e);return Me.default.createElement("div",{className:"message-item message-thinking"},Me.default.createElement("details",{open:t,onToggle:a=>n(a.target.open)},Me.default.createElement("summary",null,"Thinking..."),t&&Me.default.createElement("div",{className:"message-content markdown-body",style:{marginTop:4},dangerouslySetInnerHTML:{__html:l}})))}function oE({content:e}){let t=$u(e);return Me.default.createElement("div",{className:"message-item message-progress"},Me.default.createElement("div",{className:"markdown-body",dangerouslySetInnerHTML:{__html:t}}))}function uE({content:e}){return Me.default.createElement("div",{className:"message-item message-error"},e)}var rE=new Set(["TaskCreate","TaskGet","TaskList","TaskUpdate","TodoWrite","TeamCreate"]),cE=new Set(["ToolLoader","ToolUnLoader","MessageArchiving"]);function fE(e,t){return!!(rE.has(e)||t!=="DAHAWA_DEBUG"&&cE.has(e))}var Hb="*-* ",qb="<system-notification>";function Qb(e,t={}){let{userType:n}=t,l=[],a=0,s=new Map;for(let i of e)if(i.type==="user"&&i.message?.content){let o=i.message.content;if(Array.isArray(o))for(let u of o)u.type==="tool_result"&&u.tool_use_id&&s.set(u.tool_use_id,u)}for(let i of e)if(!(!i||!i.type))switch(i.type){case"user":dE(i,s,l,()=>`msg_${a++}`);break;case"assistant":pE(i,s,e,l,()=>`msg_${a++}`,n);break;case"progress":mE(i,l,()=>`msg_${a++}`);break}return l}function dE(e,t,n,l){let a=e.message?.content;if(a){if(typeof a=="string"){if(!a.trim())return;let s=a.trim();if(s.startsWith(Hb)||s.startsWith(qb)||/<system-reminder>.*?<\/system-reminder>/s.test(s))return;let i=jb(s);n.push({id:l(),messageType:"user_text",content:i??s});return}if(Array.isArray(a)){for(let s of a)if(s.type==="text"){if(!s.text||s.text.trim()==="")continue;let i=s.text.trim();if(i.startsWith(Hb)||i.startsWith(qb)||/<system-reminder>.*?<\/system-reminder>/s.test(i))continue;let o=jb(s.text);n.push({id:l(),messageType:"user_text",content:o??s.text})}}}}function jb(e){let t=Gb(e,"command-message");if(!t)return null;let n=Gb(e,"command-args");return`> /${t}${n?" "+n:""}`}function Gb(e,t){if(!e.trim()||!t.trim())return null;let n=t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return new RegExp(`<${n}(?:\\s+[^>]*)?>([\\s\\S]*?)<\\/${n}>`,"i").exec(e)?.[1]??null}function pE(e,t,n,l,a,s){let i=e.message?.content;if(!(!i||!Array.isArray(i)))for(let o of i)switch(o.type){case"text":if(o.text&&o.text.trim()){if(o.text.trim()==="No response requested.")break;l.push({id:a(),messageType:"assistant_text",content:o.text,metadata:{costUSD:e.costUSD,durationMs:e.durationMs}})}break;case"thinking":o.thinking&&o.thinking.trim()&&l.push({id:a(),messageType:"assistant_thinking",content:o.thinking,metadata:{isCollapsed:!0}});break;case"tool_use":{let u=o.id,f=o.name||"unknown_tool",r=f,p=o.input,c=!1;if(f==="ProxyTool"){let m=o.input;m&&(m.action??"call")==="call"&&m.name&&(r=m.name,p=m.input??{},c=!0)}if(fE(r,s))break;let{name:d,isRemote:v,displayName:y}=gE(r),S=y??d,g=u?t.has(u):!1;if(l.push({id:a(),messageType:"tool_use",content:d,metadata:{toolName:d,toolDisplayName:S,toolInput:bE(p),toolUseId:u,toolInputRaw:p,isRemote:v,isInProgress:!g,isProxyCall:c}}),u&&t.has(u)){let m=t.get(u),h=yE(m),b=vE(n,u),D=r.startsWith("mcp_")&&!r.startsWith("mcp_hands_")?hE(m,S):b;l.push({id:a(),messageType:"tool_result",content:h,metadata:{toolName:d,toolDisplayName:S,toolUseId:u,isError:m.is_error||!1,toolData:D,isRemote:v,isProxyCall:c}})}break}}}function mE(e,t,n){let l=e.content?.message?.content;if(!(!l||!Array.isArray(l)))for(let a of l)a.type==="text"&&a.text&&a.text.trim()&&t.push({id:n(),messageType:"progress",content:a.text})}var Yb={mcp_hands_Read:"Read",mcp_hands_Edit:"Edit",mcp_hands_Write:"Write",mcp_hands_Bash:"Bash",mcp_hands_Grep:"Grep",mcp_hands_Glob:"Glob",mcp_hands_LSP:"LSP",mcp_hands_NotebookEdit:"NotebookEdit",mcp_hands_TaskOutput:"TaskOutput",mcp_hands_TaskStop:"TaskStop",mcp_hands_PowerShell:"PowerShell"};function gE(e){if(Yb[e]){let t=Yb[e];return{name:t,isRemote:!0,displayName:`\u2601 ${t}`}}if(e.startsWith("mcp_hands_")){let t=e.slice(10);return{name:t,isRemote:!0,displayName:`\u2601 ${t}`}}if(e.startsWith("mcp_")){let t=e.slice(4),n=t.indexOf("_");if(n!==-1){let l=t.slice(0,n),a=t.slice(n+1);return{name:e,isRemote:!1,displayName:`${l}:${a}`}}}return{name:e,isRemote:!1}}function hE(e,t){return e?{type:"mcp",displayName:t,content:e.content??"",isError:e.is_error||!1}:{type:"mcp",displayName:t,content:"",isError:!1}}function vE(e,t){for(let n of e){if(!n.toolUseResult?.data)continue;let l=n.message?.content;if(!Array.isArray(l))continue;if(l.some(s=>s.type==="tool_result"&&s.tool_use_id===t))return n.toolUseResult.data}}function yE(e){if(!e)return"";let t=e.content;return t?typeof t=="string"?t:Array.isArray(t)?t.filter(n=>n.type==="text").map(n=>n.text||"").join(`
|
|
95
95
|
`):JSON.stringify(t):e.is_error?"[Error]":"[Empty result]"}function bE(e){if(!e)return"";let t=typeof e=="string"?e:JSON.stringify(e,null,2);return t.length>800?t.substring(0,800)+"...":t}function Zb({rawMessages:e,autoScroll:t,userType:n,pendingUserResponses:l,sendUserResponse:a}){let s=(0,$t.useRef)(null),i=(0,$t.useRef)(!1),o=(0,$t.useMemo)(()=>Qb(e,{userType:n}),[e,n]);(0,$t.useEffect)(()=>{t&&s.current&&!i.current&&(s.current.scrollTop=s.current.scrollHeight)},[o,t]);let u=()=>{if(!s.current)return;let{scrollTop:f,scrollHeight:r,clientHeight:p}=s.current,c=r-f-p<50;i.current=!c};return o.length===0?$t.default.createElement("div",{className:"message-list"},$t.default.createElement("div",{className:"empty-state"},"Waiting for messages...")):$t.default.createElement("div",{className:"message-list",ref:s,onScroll:u},o.map(f=>$t.default.createElement(Bb,{key:f.id,message:f,pendingUserResponses:l,sendUserResponse:a})))}var Re=E(x(),1);function Xb({activeAgent:e,isLoading:t=!1,promptStatus:n,onSubmit:l,onInterrupt:a}){let[s,i]=(0,Re.useState)(""),o=(0,Re.useRef)(null),u=e==="main",f=u&&s.trim()!=="",r=u&&t,p=(0,Re.useCallback)(()=>{let y=o.current;if(!y)return;y.style.height="auto";let S=parseFloat(getComputedStyle(y).minHeight)||0;y.style.height=`${Math.min(Math.max(y.scrollHeight,S),200)}px`},[]);(0,Re.useEffect)(()=>{p()},[s,p]);let c=y=>{y.key==="Enter"&&!y.shiftKey&&!y.nativeEvent.isComposing&&(y.preventDefault(),f&&(l(s),i("")))},d=()=>{f&&(l(s),i(""))},v=s.startsWith("!")?"bash":s.startsWith("/")?"command":"text";return Re.default.createElement("div",{className:"prompt-input-bar"},Re.default.createElement("div",{className:"prompt-input-inner"},Re.default.createElement("span",{className:`prompt-input-mode ${v}`},v==="bash"?"!":v==="command"?"/":null),Re.default.createElement("textarea",{ref:o,className:"prompt-input-field",value:s,onChange:y=>i(y.target.value),onKeyDown:c,placeholder:u?t?"Agent is busy; your prompt will be queued...":"Type a prompt and press Enter...":"Switch to Main agent to type a prompt",disabled:!u,rows:3}),r?Re.default.createElement("button",{className:"prompt-input-interrupt",onClick:a,type:"button",title:"Interrupt"},Re.default.createElement("span",{className:"interrupt-icon"})):Re.default.createElement("button",{className:"prompt-input-send",onClick:d,disabled:!f,type:"button",title:"Send"},Re.default.createElement("span",{className:"send-icon"}))))}var se=E(x(),1);var zt=E(x(),1);function Vb(){let[e,t]=(0,zt.useState)(null),[n,l]=(0,zt.useState)(null),[a,s]=(0,zt.useState)(null),[i,o]=(0,zt.useState)(!0),[u,f]=(0,zt.useState)(null),r=(0,zt.useCallback)(async()=>{try{let[v,y,S]=await Promise.all([fetch("/api/settings"),fetch("/api/settings/sources"),fetch("/api/model-config")]);if(!v.ok)throw new Error(`Failed to load settings: ${v.status}`);if(!y.ok)throw new Error(`Failed to load settings sources: ${y.status}`);if(!S.ok)throw new Error(`Failed to load model config: ${S.status}`);let g=await v.json(),m=await y.json(),h=await S.json();t(g),l({user:m.user||{},project:m.project||{}}),s(h),f(null)}catch(v){f(v instanceof Error?v.message:"Failed to load settings")}finally{o(!1)}},[]);(0,zt.useEffect)(()=>{r();let v=()=>{r()};return window.addEventListener("settings:changed",v),()=>{window.removeEventListener("settings:changed",v)}},[r]);let p=(0,zt.useCallback)(async(v,y,S)=>{let g=await fetch(`/api/settings/${v}/${y}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({value:S})});if(!g.ok){let m=await g.json().catch(()=>({error:"Update failed"}));throw new Error(m.error||"Update failed")}await r()},[r]),c=(0,zt.useCallback)(async(v,y)=>{let S=await fetch(`/api/settings/${v}/${y}`,{method:"DELETE"});if(!S.ok){let g=await S.json().catch(()=>({error:"Reset failed"}));throw new Error(g.error||"Reset failed")}await r()},[r]),d=(0,zt.useCallback)(async v=>{let y=await fetch("/api/model-config",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(v)});if(!y.ok){let S=await y.json().catch(()=>({error:"Update model config failed",details:[]})),g=[S.error,...S.details||[]].filter(Boolean).join(`
|