blade-code 0.6.0 → 0.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/dist/blade.js +2 -2
  2. package/dist/{chunk-dr1bb8ya.js → chunk-1t0cavth.js} +1 -1
  3. package/dist/{chunk-6c5v0yas.js → chunk-21zps3hb.js} +1 -1
  4. package/dist/{chunk-tcqrc6pc.js → chunk-2ncjrcgb.js} +1 -1
  5. package/dist/{chunk-wre40mf1.js → chunk-39h8jdm3.js} +1 -1
  6. package/dist/{chunk-50qc4e5g.js → chunk-3ak4p05x.js} +1 -1
  7. package/dist/{chunk-nhmdze8s.js → chunk-43et0hmr.js} +1 -1
  8. package/dist/chunk-563zye36.js +1 -0
  9. package/dist/{chunk-49pjm1fc.js → chunk-63954vzc.js} +1 -1
  10. package/dist/{chunk-w0hbjyzt.js → chunk-65jg6hh5.js} +1 -1
  11. package/dist/{chunk-t1ex4e6g.js → chunk-67dzm8te.js} +1 -1
  12. package/dist/chunk-6j51sw65.js +1 -0
  13. package/dist/{chunk-1cb2kqqm.js → chunk-7zffps74.js} +2 -2
  14. package/dist/{chunk-hhtpxjqn.js → chunk-8a2z6mgp.js} +1 -1
  15. package/dist/{chunk-yz1nbhxn.js → chunk-8zsr8vfz.js} +1 -1
  16. package/dist/{chunk-gky78ctd.js → chunk-9bzyfdpb.js} +1 -1
  17. package/dist/{chunk-yjrx2q95.js → chunk-9krqc9hn.js} +1 -1
  18. package/dist/{chunk-n5xfrmrp.js → chunk-aeccd2wk.js} +1 -1
  19. package/dist/{chunk-7qy4kfe7.js → chunk-az0gxvcj.js} +1 -1
  20. package/dist/{chunk-vwcjwzw3.js → chunk-b5nhr3na.js} +1 -1
  21. package/dist/{chunk-9x5w4as8.js → chunk-caw1bxy6.js} +1 -1
  22. package/dist/chunk-g7xh4e99.js +1 -0
  23. package/dist/{chunk-h9q2wpcp.js → chunk-gj13a4b0.js} +1 -1
  24. package/dist/{chunk-ekfmr2cb.js → chunk-hg60qxhf.js} +3 -3
  25. package/dist/chunk-j1ehsp0x.js +3 -0
  26. package/dist/{chunk-hy4dsdpp.js → chunk-kevt8v3j.js} +1 -1
  27. package/dist/{chunk-3z8h9j4f.js → chunk-m7xm1ssb.js} +1 -1
  28. package/dist/chunk-pex1hq3x.js +613 -0
  29. package/dist/chunk-rbj6kay8.js +6 -0
  30. package/dist/{chunk-3w1zqywq.js → chunk-t44946na.js} +3 -3
  31. package/dist/{chunk-v0z4bwcv.js → chunk-t7hd45rg.js} +2 -2
  32. package/dist/chunk-xbwztgcz.js +2 -0
  33. package/dist/{chunk-4h4y84d6.js → chunk-xp4a56jz.js} +1 -1
  34. package/dist/{chunk-bs9fg1qz.js → chunk-y57hcnk6.js} +1 -1
  35. package/dist/{chunk-02dgzrzh.js → chunk-zxfgsb8m.js} +1 -1
  36. package/package.json +3 -2
  37. package/dist/chunk-4s0brhtr.js +0 -1
  38. package/dist/chunk-cwbszfye.js +0 -6
  39. package/dist/chunk-e5ngx3x1.js +0 -612
  40. package/dist/chunk-ktag2d1c.js +0 -3
  41. package/dist/chunk-mganjb5p.js +0 -1
  42. package/dist/chunk-qv3wcc4p.js +0 -2
  43. package/dist/chunk-szbfafff.js +0 -1
@@ -1,3 +0,0 @@
1
- import{appendFileSync as Z,existsSync as _,mkdirSync as $,readdirSync as E,statSync as Y,unlinkSync as O}from"node:fs";import k from"node:os";import Q from"node:path";var R;((B)=>{B[B.DEBUG=0]="DEBUG";B[B.INFO=1]="INFO";B[B.WARN=2]="WARN";B[B.ERROR=3]="ERROR"})(R||={});var M=null,W=null,X=!1;function m(j){if(M!==j)M=j}async function I(){}function w(){if(X)return W;X=!0;try{let j=Q.join(k.homedir(),".blade","logs");if(!_(j))$(j,{recursive:!0,mode:493});if(Y(j).uid===0&&process.getuid&&process.getuid()!==0)return console.error(""),console.error("[FAIL] 权限错误:~/.blade/logs 目录属于 root 用户"),console.error(""),console.error("这通常是因为您曾经使用 sudo 运行过 blade。"),console.error(""),console.error("解决方法:"),console.error(" sudo chown -R $USER:$USER ~/.blade/"),console.error(""),console.error("然后重新运行 blade(不要使用 sudo)"),console.error(""),null;return z(j,30),W=j,j}catch(j){return console.error("[Logger] 无法创建日志目录:",j),null}}function z(j,q){try{let G=E(j),H=Date.now(),B=q*24*60*60*1000;for(let K of G){if(!K.startsWith("blade-")||!K.endsWith(".log")&&!K.endsWith(".jsonl"))continue;let T=Q.join(j,K);try{let U=Y(T);if(H-U.mtimeMs>B)O(T)}catch(U){}}}catch(G){}}function F(){let j=w();if(!j)return null;let q=M||"default";return Q.join(j,`blade-${q}.jsonl`)}function A(j,q,G){let H=F();if(!H)return;try{let B={timestamp:new Date().toISOString(),level:R[q],category:j,message:G};Z(H,JSON.stringify(B)+`
2
- `)}catch(B){}}class J{static globalDebugConfig=null;enabled;minLevel;category;constructor(j={}){if(j.enabled!==void 0)this.enabled=j.enabled;else if(J.globalDebugConfig!==null)this.enabled=Boolean(J.globalDebugConfig);else this.enabled=!1;this.minLevel=j.minLevel??0,this.category=j.category??"General"}static setGlobalDebug(j){J.globalDebugConfig=j}static clearGlobalDebug(){J.globalDebugConfig=null}setEnabled(j){this.enabled=j}parseDebugFilter(j){if(!j)return{enabled:!1};if(j===!0||j==="true"||j==="1")return{enabled:!0};let q=String(j).trim();if(!q)return{enabled:!0};if(q.startsWith("!"))return{enabled:!0,filter:{mode:"exclude",categories:q.split(",").map((B)=>B.trim().replace(/^!/,"")).filter(Boolean)}};return{enabled:!0,filter:{mode:"include",categories:q.split(",").map((H)=>H.trim()).filter(Boolean)}}}shouldLogCategory(j){if(!j)return!0;let q=this.category.toLowerCase();if(j.mode==="include")return j.categories.some((G)=>q.includes(G.toLowerCase()));return!j.categories.some((G)=>q.includes(G.toLowerCase()))}shouldLogToConsole(j){if(J.globalDebugConfig!==null){let{enabled:q,filter:G}=this.parseDebugFilter(J.globalDebugConfig);if(!q)return!1;if(j<this.minLevel)return!1;return this.shouldLogCategory(G)}return this.enabled&&j>=this.minLevel}log(j,...q){let G=q.map((H)=>typeof H==="object"?JSON.stringify(H):String(H)).join(" ");if(A(this.category,j,G),this.shouldLogToConsole(j)){let H=R[j],B=`[${this.category}] [${H}]`;console.error(B,...q)}}debug(...j){this.log(0,...j)}info(...j){this.log(1,...j)}warn(...j){this.log(2,...j)}error(...j){this.log(3,...j)}}function V(j,q){return new J({...q,category:j})}var h=new J({category:"General"});
3
- export{m as Fb,I as Gb,J as Hb,V as Ib,h as Jb};
@@ -1 +0,0 @@
1
- import{ga as a}from"./chunk-vwcjwzw3.js";import"./chunk-6c5v0yas.js";import"./chunk-t1ex4e6g.js";import"./chunk-wre40mf1.js";import"./chunk-ktag2d1c.js";import"./chunk-s53zeref.js";export{a as SpecManager};
@@ -1,2 +0,0 @@
1
- var e={name:"blade-code",version:"0.6.0",private:!1,description:"🗡️ Blade Code - 智能代码助手命令行工具",type:"module",bin:{blade:"dist/blade.js"},files:["dist","vendor/ripgrep/**","README.md"],scripts:{dev:"node scripts/run-bun.js --watch src/blade.tsx","dev:serve":"node scripts/run-bun.js --watch src/blade.tsx serve --port 4097",build:"rm -rf dist && node scripts/run-bun.js run scripts/build.ts",start:"node scripts/run-bun.js run dist/blade.js",test:"node scripts/test.js","test:all":"vitest run --config vitest.config.ts","test:unit":"node scripts/test.js unit","test:integration":"node scripts/test.js integration","test:cli":"node scripts/test.js cli","test:headless-core":"node scripts/test.js headlessCore","test:e2e":"node scripts/test.js e2e","test:performance":"node scripts/test.js performance","test:snapshot":"node scripts/test.js snapshot","test:security":"node scripts/test.js security","test:coverage":"node scripts/test.js all --coverage","test:watch":"vitest --watch --config vitest.config.ts","benchmark:repo":"node scripts/run-bun.js run scripts/run-real-repo-benchmark.ts","test:update-snapshots":"node scripts/test.js snapshot --update",lint:"biome lint src tests","lint:fix":"biome lint --write src tests","type-check":"tsc --noEmit","format:check":"biome format src tests",ready:"node scripts/run-bun.js run scripts/ready.ts","detect-unused":"node scripts/run-bun.js run scripts/detect-unused.ts",release:"node scripts/release.js","release:dry":"node scripts/release.js --dry-run","release:major":"node scripts/release.js --major","release:minor":"node scripts/release.js --minor","release:patch":"node scripts/release.js --patch"},keywords:["cli","blade","ai","assistant","agent","llm"],author:"echoVic",license:"MIT",engines:{node:">=20.0.0"},optionalDependencies:{"@vscode/ripgrep":"^1.17.0","bun-pty":"^0.4.8","node-pty":"1.0.0"},dependencies:{"@agentclientprotocol/sdk":"^0.12.0","@ai-sdk/anthropic":"^3.0.7","@ai-sdk/azure":"^3.0.5","@ai-sdk/deepseek":"^2.0.4","@ai-sdk/google":"^3.0.4","@ai-sdk/openai":"^3.0.26","@ai-sdk/openai-compatible":"^2.0.4","@inkjs/ui":"^2.0.0","@modelcontextprotocol/sdk":"^1.17.4",ahooks:"^3.9.6",ai:"^6.0.39","ansi-escapes":"^7.2.0","async-mutex":"^0.5.0",axios:"^1.12.2",chalk:"^5.4.1",diff:"^8.0.2","fast-glob":"^3.3.3","fuse.js":"^7.1.0","gray-matter":"^4.0.3",hono:"^4.7.10",ink:"npm:@jrichman/ink@6.4.10","ink-big-text":"^2.0.0","ink-gradient":"^3.0.0","ink-select-input":"^6.2.0","ink-spinner":"^5.0.0","ink-text-input":"^6.0.0","js-tiktoken":"^1.0.21","lodash-es":"^4.17.21",lowlight:"^3.3.0","lru-cache":"^11.2.4",nanoid:"^5.1.6",open:"^10.1.2",openai:"^6.2.0",picomatch:"^4.0.3",react:"^19.1.1","react-dom":"^19.1.1",semver:"^7.7.3","string-width":"^8.1.0",undici:"^7.16.0","write-file-atomic":"^7.0.0",ws:"^8.18.0",yaml:"^2.8.1",yargs:"^18.0.0",zod:"^3.24.2","zod-to-json-schema":"^3.24.6",zustand:"^5.0.9"},devDependencies:{"@biomejs/biome":"^2.2.4","@types/bun":"^1.3.4","@types/json-schema":"^7.0.15","@types/lodash-es":"^4.17.12","@types/node":"^22.15.24","@types/picomatch":"^4.0.2","@types/react":"^19.1.1","@types/react-dom":"^19.1.1","@types/semver":"^7.7.1","@types/write-file-atomic":"^4.0.3","@types/ws":"^8.5.12","@types/yargs":"^17.0.33","@vitest/coverage-v8":"^3.0.0",jsdom:"^26.0.0",typescript:"^5.9.2",vitest:"^3.0.0"}};function r(){return{name:e.name,version:e.version,description:e.description}}function n(){return e.version}function o(){return e.name}function c(){return e.description}function d(){return`v${e.version}`}function a(){return`v${e.version} © 2025 Blade Code`}
2
- export{r as aa,n as ba,o as ca,c as da,d as ea,a as fa};
@@ -1 +0,0 @@
1
- import{v as a,w as b,x as c}from"./chunk-hhtpxjqn.js";import"./chunk-6c5v0yas.js";import"./chunk-t1ex4e6g.js";import"./chunk-wre40mf1.js";import"./chunk-ktag2d1c.js";import"./chunk-s53zeref.js";export{a as validatePermissions,c as validateOutput,b as loadConfiguration};