Lines 532-572javascript
532`),l=a.length>0&&a[a.length-1]===""&&i.endsWith(`
533`)?a.slice(0,-1):a,c=Math.max(1,e.startLine??1)-1,u=e.endLine?Math.min(e.endLine,l.length):l.length,d=l.slice(c,u),f=String(u).length,h=d.map((k,T)=>`${String(c+T+1).padStart(f," ")}\u2192${k}`).join(`
534`),m=l.length-u,g=m>0?`
536[\u8FD8\u6709 ${m} \u884C\uFF1B\u4F7F\u7528 startLine=${u+1} \u7EE7\u7EED\u67E5\u770B]`:"",b=c>0||u<l.length?`\u7B2C ${c+1}-${u} \u884C`:`${l.length} \u884C`;return{success:!0,data:Ze(h)+g,summary:`\u{1F4D6} ${r}\uFF08${b}\uFF09`}}catch(o){return{success:!1,data:`\u8BFB\u53D6\u6587\u4EF6\u5931\u8D25\uFF1A${o instanceof Error?o.message:String(o)}`,error:"READ_ERROR"}}}};p();import{mkdir as JC,readFile as ZC}from"fs/promises";import{dirname as YC,relative as QC,basename as e_}from"path";p();function ga(e){if(e.length===0)return{lines:[],eol:`
537`,eofStyle:"no-eol"};let t=e.indexOf(`\r
539`),r=t!==-1&&(n===-1||t<=n)?`\r
541`,o=e.split(r),s;return e.endsWith(r)?(o.length>0&&o[o.length-1]===""&&o.pop(),s="lf"):s="no-eol",{lines:o,eol:r,eofStyle:s}}function HC(e,t){let n=e.length,r=t.length;if(n===0&&r===0)return[];if(n===0)return t.map(l=>({op:"add",line:l}));if(r===0)return e.map(l=>({op:"remove",line:l}));let o=[],s=n+r,i=new Array(2*s+2).fill(-1),a=s;i[a+1]=0;for(let l=0;l<=s;l++){let c=new Map,u=-l,d=l;for(let f=u;f<=d;f+=2){let h=f+a,m;f===-l||f!==l&&i[h-1]<i[h+1]?m=i[h+1]:m=i[h-1]+1;let g=m-f;for(;m<n&&g<r&&e[m]===t[g];)m++,g++;if(i[h]=m,c.set(f,m),m>=n&&g>=r)return o.push(c),VC(o,n,r,e,t,a)}o.push(c)}return ...
542`)}function KC(e,t){let n=Bu(t),r=[];r.push("--- /dev/null"),r.push(`+++ b/${n}`),r.push(`@@ -0,0 +1,${String(e.length)} @@`);for(let o of e)r.push(`+${o}`);
543`)}function XC(e,t){let n=Bu(t),r=[];r.push(`--- a/${n}`),r.push("+++ /dev/null"),r.push(`@@ -1,${String(e.length)} +0,0 @@`);for(let o of e)r.push(`-${o}`);
544`)}function Bu(e){return e.replace(/\\/g,"/").split("/").pop()??e}function sn(e,t,n){if(e===t)return{filePath:n,patch:"",existedBefore:e.length>0,additions:0
545`).length,l=Buffer.byteLength(s,"utf-8"),c=o?"\u5DF2\u4FEE\u6539":"\u5DF2\u521B\u5EFA",u=o?`\uFF0C+${i.additions} -${i.deletions}`:`\uFF0C+${i.additions} \u884C\uFF08\u65B0\u5EFA\uFF09`,d=e_(n),f=o?`\u{1F4DD} \u4FEE\u6539: ${d} (+${i.additions} -${i.deletions})`:`\u{1F4DD} \u65B0\u5EFA: ${d} (+${i.additions} \u884C)`;return{success:!0,data:`\u6587\u4EF6${c}\uFF1A${QC(t.cwd,n).replace(/\\/g,"/")}\uFF08${a} \u884C\uFF0C${l} \u5B57\u8282${u}\uFF09`,summary:f,diff:i}}catch(r){return{success:!1,data:`\u5199\u5165\u6587\u4EF6\u5931\u8D25\uFF1A${r instanceof Error?r.message:String(r)}`,error:"WRITE_E ...
548`).length,b=`+${d.additions} -${d.deletions}`,k=`\u{1F4DD} \u4FEE\u6539: ${r_(n)} (+${d.additions} -${d.deletions})`;return{success:!0,data:`\u6587\u4EF6\u5DF2\u7F16\u8F91\uFF1A${n}
549\u66FF\u6362\u4F4D\u7F6E\uFF1A\u7B2C ${h} \u884C
550${m} \u884C \u2192 ${g} \u884C
551\u53D8\u66F4\uFF1A${b}`,summary:k,diff:d}}catch(r){return{success:!1,data:`\u7F16\u8F91\u6587\u4EF6\u5931\u8D25\uFF1A${r instanceof Error?r.message:String(r)}`,error:"EDIT_ERROR"}}}};p();import{readFile as o_,writeFile as s_}from"fs/promises";import
552\u5171\u6267\u884C ${e.edits.length} \u6B65\u66FF\u6362
553\u53D8\u66F4\uFF1A+${i.additions} -${i.deletions}`,summary:`\u{1F4DD} \u4FEE\u6539: ${i_(n)} (${e.edits.length} \u6B65, +${i.additions} -${i.deletions})`,diff:i}}catch(r){return{success:!1,data:`\u6279\u91CF\u7F16\u8F91\u5931\u8D25\uFF1A${r instanceof Error?r.message:String(r)}`,error:"MULTI_EDIT_ERROR"}}}};p();import{readFile as a_}from"fs/promises";import{writeFile as l_}from"fs/promises";import{basename as c_}from"path";function jg(e,t,n){let r=Ye(t),o=[];for(let s=0;s<e.length;s++)Ye(e[s])===r&&o.push(s);return o.length===0?{error:`\u672A\u627E\u5230 "${n}" \u951A\u70B9\u884C\uFF0C\u8BF7\u ...
554`),i=jg(s,e.startAnchor,"start_anchor");if("error"in i)return{success:!1,data:i.error,error:"ANCHOR_NOT_FOUND"};let a=jg(s,e.endAnchor,"end_anchor");if("error"in a)return{success:!1,data:a.error,error:"ANCHOR_NOT_FOUND"};let l=i.line,c=a.line;if(l>=c)return{success:!1,data:"end_anchor \u5FC5\u987B\u5728 start_anchor \u4E4B\u540E",error:"ANCHOR_ORDER_ERROR"};let u=r?l:l+1,d=r?c:c-1;if(u>d)return{success:!1,data:"\u5220\u9664\u8303\u56F4\u4E3A\u7A7A\uFF08\u4E24\u884C\u951A\u70B9\u76F8\u90BB\u4E14 inclusive=false\uFF09",error:"EMPTY_RANGE"};let h=[...s.slice(0,u),...s.slice(d+1)].join(`
555`),m=Mn(o,h);await l_(n,m,"utf-8");let g=sn(o,m,n);g.existedBefore=!0;let b=d-u+1,k=`\u{1F4DD} \u4FEE\u6539: ${c_(n)} (\u5220 ${b} \u884C, +${g.additions} -${g.deletions})`;return{success:!0,data:`\u6587\u4EF6\u5DF2\u7F16\u8F91\uFF1A${n}
556\u5220\u9664\u884C\u8303\u56F4\uFF1A\u7B2C ${u+1} \u884C ~ \u7B2C ${d+1} \u884C\uFF08\u5171 ${b} \u884C\uFF09
557\u53D8\u66F4\uFF1A+${g.additions} -${g.deletions}`,summary:k,diff:g}}catch(o){return{success:!1,data:`\u5220\u9664\u8303\u56F4\u5931\u8D25\uFF1A${o instanceof Error?o.message:String(o)}`,error:"DELETE_RANGE_ERROR"}}}};p();import Kr from"process";import{existsSync as Ug}from"fs";import{join as Wg}from"path";var u_=Kr.platform==="win32";function d_(){if(!u_)return{bin:"sh",args:["-c"],label:"sh",hint:"\u5F53\u524D shell \u662F bash \u517C\u5BB9\u8BED\u6CD5\uFF0C\u652F\u6301 pwd/ls/&&/\u7BA1\u9053\u7B49\u6807\u51C6 Unix \u5DE5\u5177\u3002"};let e=Kr.env.DSKCODE_BASH;if(e&&Ug(e))return{bin:e,args: ...
558${Ze(s.stderr)}`);let a=s.exitCode===0,l=i.length>0?i.join(`
559`):"(\u65E0\u8F93\u51FA)",u=`\u{1F527} $ ${e.command.length>60?e.command.slice(0,57)+"...":e.command}\uFF08exit ${s.exitCode??"\u672A\u77E5"}\uFF09`;return{success:a,data:`${l
560[\u9000\u51FA\u7801: ${s.exitCode??"\u672A\u77E5"}]`,summary:u,error:a?void 0:`EXIT_CODE_${s.exitCode??"UNKNOWN"}`}}catch(r){return{success:!1,data:`\u547D\u4EE4\u6267\u884C\u5931\u8D25\uFF1A${r instanceof Error?r.message:String(r)}`
563... \u5171 ${a.length} \u4E2A\u6587\u4EF6\uFF0C\u53EA\u663E\u793A\u524D ${l} \u4E2A`:"";return{success:!0,data:Ze(u+d),summary:`${e.pattern} \u2192 ${a.length} \u4E2A\u6587\u4EF6`}}catch(s){return{success:!1,data:`\u6587\u4EF6\u641C\u7D22\u5931\u8D25\uFF1A${s instanceof Error?s.message:String(s)}`,error:"GLOB_ERROR"}}}};p();import{readdir as y_,readFile as x_,stat as b_}from"fs/promises";import{join as qg,relative as k_,isAbsolute as w_}from"path";async function Kg(e,t,n=200){let r=[],o;try{o=await y_(e,{withFileTypes:!0})}catch{return r}for(let s of o){if(r.length>=n)break;if(s.isDirectory()& ...
564`),b=k_(r,h);for(let k=0;k<g.length&&!(i.test(g[k]??"")&&(i.lastIndex=0,c.push({file:b,line:k+1,content:g[k]}),c.length>=500));k++);if(c.length>=500)break}catch{continue}
565`),d=new Set(c.map(h=>h.file)),f=`\u{1F50D} "${e.pattern}" \u2192 ${c.length} \u6761\u547D\u4E2D / ${d.size} \u4E2A\u6587\u4EF6`;return{success:!0,data:Ze(u),summary:f}}catch(s){return{success:!1,data:`
567`)}`),summary:`\u{1F4C2} ${a}\uFF08${s.length} \u9879\uFF09`}}catch(o){return{success:!1,data:`\u5217\u76EE\u5F55\u5931\u8D25\uFF1A${o instanceof Error?o.message:String(o)}`,error:"LS_ERROR"}}}};p();var qu={name:"fetch",kind:"read",description:"\u53D1\u8D77 HTTP \u8BF7\u6C42\u5E76\u8FD4\u56DE\u54CD\u5E94\u5185\u5BB9\u3002\u652F\u6301\u81EA\u5B9A\u4E49\u65B9\u6CD5\u548C\u8BF7\u6C42\u5934\u3002\u9002\u7528\u4E8E\u83B7\u53D6\u7F51\u9875\u5185\u5BB9\u3001API \u8C03\u7528\u7B49\u573A\u666F\u3002",parameters:{type:"object",properties:{url:{type:"string",description:"\u8BF7\u6C42\u7684 URL"},method:{ ...
568\u5185\u5BB9\u7C7B\u578B: ${a}`,f=c.length>0?`
HighCommand Output Exfiltration
Source combines command execution, command-output handling, and outbound requests; review data flow before blocking.
dist/index.jsView on unpkg · L552 570`:"",h=e.url.length>60?e.url.slice(0,57)+"...":e.url,m=`\u{1F310} ${n} ${h} \u2192 ${i.status}`;return{success:i.ok,data:`${d}${f}${u}`,summary:m,error:i.ok?void 0:`HTTP_${i
571`),r=["# \u7528\u6237\u8BBE\u5B9A\u7684\u5B8C\u6210\u6761\u4EF6",e,"","# \u5F53\u524D\u5BF9\u8BDD\u8BB0\u5F55\uFF08\u4EC5\u542B\u6700\u8FD1\u82E5\u5E72\u8F6E\uFF09","<transcript>",t,"</transcript>","","\u8BF7\u6309 system \u7EA6\u675F\u8F93\u51FA JSON\u3002"].join(`
572`);return{systemPrompt:n,userPrompt:r}}function ed(e){let t=e.trim();if(!t)return null;let n=Zu(t);if(n)return Yu(n);let r=/^```(?:json)?\s*([\s\S]*?)\s*```$/i.exec(t);if(r){let i=r[1]?.trim();if(i){let a=Zu(i);if(a)return Yu(a)}}let o=t.indexOf("{"),s=t.lastIndexOf("}");if(o>=0&&s>o){let i=t.slice(o,s+1),a=Zu(i);if(a)return Yu(a)}return null}function Zu(e){try{let t=JSON.parse(e);return typeof t=="object"&&t!==null&&!Array.isArray(t)?t:null}catch{return null}}function Yu(e){let t=e.ok,n=e.reason;return typeof t!="boolean"||typeof n!="string"?null:{ok:t,reason:n}}function td(e){if(!e)return"co ...
Long lines were clipped for display.