blade-code 0.10.5 → 0.10.7

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 (108) hide show
  1. package/dist/blade.js +2 -2
  2. package/dist/{chunk-z906d5tb.js → chunk-0n04bmta.js} +2 -2
  3. package/dist/{chunk-drrdzmaa.js → chunk-0xm8hn2h.js} +2 -2
  4. package/dist/chunk-0z7q89w7.js +2 -0
  5. package/dist/{chunk-gxmrakrk.js → chunk-1sw9z975.js} +1 -1
  6. package/dist/{chunk-948qe2pp.js → chunk-1v7hpr34.js} +1 -1
  7. package/dist/{chunk-fvhc1yj8.js → chunk-3fdyzgpv.js} +1 -1
  8. package/dist/{chunk-15d49qty.js → chunk-43j2f1b5.js} +1 -1
  9. package/dist/{chunk-njyvrtje.js → chunk-4hhkbyja.js} +2 -2
  10. package/dist/{chunk-6eragc74.js → chunk-4rhssb85.js} +2 -2
  11. package/dist/chunk-598egka3.js +22 -0
  12. package/dist/chunk-5ak9tw83.js +100 -0
  13. package/dist/chunk-738pkjf8.js +1 -0
  14. package/dist/{chunk-xv0maezy.js → chunk-7a200q5g.js} +2 -2
  15. package/dist/{chunk-5twefby5.js → chunk-7pkrwh10.js} +1 -1
  16. package/dist/chunk-7xfmzvxp.js +1 -0
  17. package/dist/{chunk-9ffr01c3.js → chunk-847e0sk9.js} +1 -1
  18. package/dist/chunk-867rz2ss.js +1 -0
  19. package/dist/chunk-a3e97syg.js +3 -0
  20. package/dist/{chunk-0n97186m.js → chunk-ahxc3n3g.js} +2 -2
  21. package/dist/{chunk-tq52pbde.js → chunk-akev4wsz.js} +1 -1
  22. package/dist/{chunk-epj56s0n.js → chunk-az4b6106.js} +1 -1
  23. package/dist/{chunk-63ysxybd.js → chunk-e9ckf8e7.js} +1 -1
  24. package/dist/chunk-f7854pbx.js +187 -0
  25. package/dist/chunk-fwt0kje3.js +1 -0
  26. package/dist/{chunk-1vx4sf1y.js → chunk-g1q27q6q.js} +2 -2
  27. package/dist/chunk-g3wgzyhx.js +160 -0
  28. package/dist/chunk-g4snq0dx.js +1 -0
  29. package/dist/chunk-ggm04adj.js +1 -0
  30. package/dist/chunk-hpytxsge.js +1 -0
  31. package/dist/chunk-htr91q9c.js +1 -0
  32. package/dist/chunk-hwcp940f.js +1 -0
  33. package/dist/chunk-j5ysjbyr.js +10 -0
  34. package/dist/{chunk-jza1rsan.js → chunk-jpy61wna.js} +1 -1
  35. package/dist/chunk-kqpwz9b7.js +8 -0
  36. package/dist/{chunk-gxzbv67r.js → chunk-m86ekqp0.js} +2 -2
  37. package/dist/{chunk-51wtvmzn.js → chunk-m8k1mv0j.js} +1 -1
  38. package/dist/{chunk-ydtcvxsm.js → chunk-mt4328yf.js} +1 -1
  39. package/dist/{chunk-35yktzm1.js → chunk-ne7zdjrh.js} +1 -1
  40. package/dist/{chunk-bexgcc2d.js → chunk-p0j8994h.js} +1 -1
  41. package/dist/{chunk-gb54hc78.js → chunk-p3ahf1fh.js} +1 -1
  42. package/dist/chunk-pt659n0v.js +1466 -0
  43. package/dist/chunk-q1gfeadm.js +1 -0
  44. package/dist/{chunk-vntzy7bc.js → chunk-qk2z6gag.js} +2 -2
  45. package/dist/{chunk-ea7wsges.js → chunk-qqwgb9ja.js} +2 -2
  46. package/dist/{chunk-am8dtvff.js → chunk-qycwavck.js} +72 -17
  47. package/dist/chunk-rk1w5pry.js +2 -0
  48. package/dist/{chunk-s645azsm.js → chunk-rn908m3v.js} +2 -2
  49. package/dist/{chunk-dqvcgwhe.js → chunk-rz2ftt6h.js} +2 -2
  50. package/dist/{chunk-19kg7yvw.js → chunk-rz9yh6e4.js} +2 -2
  51. package/dist/{chunk-qm11hjd3.js → chunk-tc83e1b0.js} +1 -1
  52. package/dist/{chunk-v93hcxe7.js → chunk-tcc3v4n2.js} +1 -1
  53. package/dist/{chunk-g6h6h8xr.js → chunk-tp9zk241.js} +1 -1
  54. package/dist/chunk-tzh4ahry.js +6 -0
  55. package/dist/chunk-v0rn831t.js +1 -0
  56. package/dist/{chunk-fz1vyc15.js → chunk-vafn0spm.js} +1 -1
  57. package/dist/{chunk-rh7v814a.js → chunk-vcq624qv.js} +2 -2
  58. package/dist/chunk-vynsgc2g.js +1 -0
  59. package/dist/{chunk-qda309d9.js → chunk-w01sec4f.js} +2 -2
  60. package/dist/chunk-w0ena7fe.js +9 -0
  61. package/dist/{chunk-6tx8k249.js → chunk-wmdgb5pz.js} +2 -2
  62. package/dist/{chunk-an96c54z.js → chunk-wrbm6rch.js} +8 -8
  63. package/dist/{chunk-sanhjqpd.js → chunk-x3780wpy.js} +2 -2
  64. package/dist/{chunk-yc53wz4r.js → chunk-y573s5r8.js} +2 -2
  65. package/dist/chunk-ydwjttdz.js +1 -0
  66. package/dist/{chunk-vpj0sv73.js → chunk-yyvx1avz.js} +3 -3
  67. package/dist/chunk-z9fsh3kn.js +1 -0
  68. package/dist/{chunk-ygx03mdh.js → chunk-zjf1z27e.js} +1 -1
  69. package/dist/web/assets/ChatView-BYfHmxKJ.js +7 -0
  70. package/dist/web/assets/{CodeBlockHighlighter-CFW6qjnA.js → CodeBlockHighlighter-CC4e9nFc.js} +1 -1
  71. package/dist/web/assets/{FilePreview-CR_XetY0.js → FilePreview-C3HEoLYS.js} +1 -1
  72. package/dist/web/assets/{MarkdownRenderer-CVrxJswQ.js → MarkdownRenderer-COycrGUX.js} +3 -3
  73. package/dist/web/assets/{McpModal-BO-85gll.js → McpModal-CDgr9kVq.js} +1 -1
  74. package/dist/web/assets/{SettingsModal-CW87OnxI.js → SettingsModal-CvdVIbeG.js} +1 -1
  75. package/dist/web/assets/{SkillsModal-Q8ZFPhys.js → SkillsModal-lSX1ZKTu.js} +1 -1
  76. package/dist/web/assets/{TaskSwitcher-BzH-0QXr.js → TaskSwitcher-peKi9KvN.js} +1 -1
  77. package/dist/web/assets/{TerminalPanel-DTqvx8yB.js → TerminalPanel-DqQ-7CTG.js} +1 -1
  78. package/dist/web/assets/index-BF5HEN_f.js +32 -0
  79. package/dist/web/assets/index-BrkTYxtS.css +1 -0
  80. package/dist/web/index.html +2 -2
  81. package/package.json +1 -1
  82. package/dist/chunk-069zpw09.js +0 -6
  83. package/dist/chunk-1m5r6mp2.js +0 -180
  84. package/dist/chunk-1q21sxhx.js +0 -1
  85. package/dist/chunk-1r6szcrj.js +0 -1
  86. package/dist/chunk-1x4fpe47.js +0 -1
  87. package/dist/chunk-2nkd1kjx.js +0 -1
  88. package/dist/chunk-417wefq7.js +0 -99
  89. package/dist/chunk-4ncbd4k0.js +0 -1
  90. package/dist/chunk-62881c2s.js +0 -1484
  91. package/dist/chunk-7443b95r.js +0 -1
  92. package/dist/chunk-79s052sw.js +0 -2
  93. package/dist/chunk-7jy60gnx.js +0 -1
  94. package/dist/chunk-c5tds5v0.js +0 -9
  95. package/dist/chunk-ccwskwb3.js +0 -1
  96. package/dist/chunk-f6mszdsd.js +0 -1
  97. package/dist/chunk-hh85pk77.js +0 -160
  98. package/dist/chunk-nz78b5c5.js +0 -10
  99. package/dist/chunk-r1764q6f.js +0 -1
  100. package/dist/chunk-r6mwyg3h.js +0 -3
  101. package/dist/chunk-rzzt21ef.js +0 -22
  102. package/dist/chunk-t8x2qpe2.js +0 -1
  103. package/dist/chunk-tjnfhm9v.js +0 -1
  104. package/dist/chunk-v0ygsjry.js +0 -1
  105. package/dist/chunk-zyz82mcd.js +0 -1
  106. package/dist/web/assets/ChatView-Y-6k-ayR.js +0 -7
  107. package/dist/web/assets/index-B7etZcne.css +0 -1
  108. package/dist/web/assets/index-ClOgGy-I.js +0 -32
@@ -0,0 +1 @@
1
+ import{Sc as a,Tc as b,Uc as c}from"./chunk-y573s5r8.js";import"./chunk-vcq624qv.js";import"./chunk-akev4wsz.js";import"./chunk-rk1w5pry.js";import"./chunk-az4b6106.js";import"./chunk-m86ekqp0.js";import"./chunk-p0j8994h.js";import"./chunk-g1q27q6q.js";import"./chunk-0n04bmta.js";import"./chunk-1v7hpr34.js";import"./chunk-ahxc3n3g.js";import"./chunk-847e0sk9.js";export{c as snapshotWorkspaceModelResources,b as resolveWorkspaceModelResources,a as cloneWorkspaceModelConfig};
@@ -1,4 +1,4 @@
1
- import{fc as W}from"./chunk-sanhjqpd.js";import{id as X}from"./chunk-vpj0sv73.js";import{ld as Q,nd as U}from"./chunk-qda309d9.js";import{re as V}from"./chunk-epj56s0n.js";function _(){if(process.stdin.isTTY&&typeof process.stdin.setRawMode==="function")try{process.stdin.setRawMode(!1)}catch{}process.stdout.write("\x1B[<u"),process.stdout.write("\x1B[>4;0m"),process.stdout.write("\x1B[?2004l"),process.stdout.write("\x1B[?1004l"),process.stdout.write("\x1B[?1l\x1B>"),process.stdout.write("\x1B[?25h"),process.stdout.write("\x1B[0m")}var A=U("Service");function $(b){switch(b){case"SIGINT":return"ctrl_c";case"esc":return"esc";case"uncaughtException":case"unhandledRejection":return"error";case"SIGTERM":case"normal":default:return"user_exit"}}class F{static instance=null;cleanupHandlers=[];isShuttingDown=!1;initialized=!1;lastSigintTime=0;SIGINT_DOUBLE_CLICK_WINDOW=3000;constructor(){}static getInstance(){if(!F.instance)F.instance=new F;return F.instance}initialize(){if(this.initialized){A.debug("[GracefulShutdown] 已初始化,跳过重复初始化");return}process.on("uncaughtException",(b)=>{this.handleFatalError("uncaughtException",b)}),process.on("unhandledRejection",(b)=>{let q=b instanceof Error?b:Error(String(b));this.handleFatalError("unhandledRejection",q)}),process.on("SIGTERM",()=>{A.info("[GracefulShutdown] 收到 SIGTERM 信号"),this.shutdown("SIGTERM",0)}),process.on("SIGINT",()=>{let b=Date.now();if(b-this.lastSigintTime<this.SIGINT_DOUBLE_CLICK_WINDOW)A.info("[GracefulShutdown] 收到第二次 SIGINT 信号,执行退出"),this.shutdown("SIGINT",0);else A.info("[GracefulShutdown] 收到第一次 SIGINT 信号,再按一次退出"),this.lastSigintTime=b,console.log(`
1
+ import{qc as W}from"./chunk-x3780wpy.js";import{xd as X}from"./chunk-yyvx1avz.js";import{Ad as Q,Cd as U}from"./chunk-w01sec4f.js";import{Ge as V}from"./chunk-az4b6106.js";function _(){if(process.stdin.isTTY&&typeof process.stdin.setRawMode==="function")try{process.stdin.setRawMode(!1)}catch{}process.stdout.write("\x1B[<u"),process.stdout.write("\x1B[>4;0m"),process.stdout.write("\x1B[?2004l"),process.stdout.write("\x1B[?1004l"),process.stdout.write("\x1B[?1l\x1B>"),process.stdout.write("\x1B[?25h"),process.stdout.write("\x1B[0m")}var A=U("Service");function $(b){switch(b){case"SIGINT":return"ctrl_c";case"esc":return"esc";case"uncaughtException":case"unhandledRejection":return"error";case"SIGTERM":case"normal":default:return"user_exit"}}class F{static instance=null;cleanupHandlers=[];isShuttingDown=!1;initialized=!1;lastSigintTime=0;SIGINT_DOUBLE_CLICK_WINDOW=3000;constructor(){}static getInstance(){if(!F.instance)F.instance=new F;return F.instance}initialize(){if(this.initialized){A.debug("[GracefulShutdown] 已初始化,跳过重复初始化");return}process.on("uncaughtException",(b)=>{this.handleFatalError("uncaughtException",b)}),process.on("unhandledRejection",(b)=>{let q=b instanceof Error?b:Error(String(b));this.handleFatalError("unhandledRejection",q)}),process.on("SIGTERM",()=>{A.info("[GracefulShutdown] 收到 SIGTERM 信号"),this.shutdown("SIGTERM",0)}),process.on("SIGINT",()=>{let b=Date.now();if(b-this.lastSigintTime<this.SIGINT_DOUBLE_CLICK_WINDOW)A.info("[GracefulShutdown] 收到第二次 SIGINT 信号,执行退出"),this.shutdown("SIGINT",0);else A.info("[GracefulShutdown] 收到第一次 SIGINT 信号,再按一次退出"),this.lastSigintTime=b,console.log(`
2
2
  再按一次 Ctrl+C 退出
3
3
  `)}),this.initialized=!0,A.debug("[GracefulShutdown] 全局错误处理器已初始化")}registerCleanup(b){return this.cleanupHandlers.push(b),A.debug(`[GracefulShutdown] 注册清理函数,当前共 ${this.cleanupHandlers.length} 个`),()=>{let q=this.cleanupHandlers.indexOf(b);if(q!==-1)this.cleanupHandlers.splice(q,1),A.debug(`[GracefulShutdown] 取消注册清理函数,剩余 ${this.cleanupHandlers.length} 个`)}}handleFatalError(b,q){if(this.isShuttingDown){console.error(`[GracefulShutdown] 退出过程中发生额外错误 (${b}):`,q);return}if(console.error(""),console.error("═".repeat(60)),console.error(`Uncaught error (${b})`),console.error("═".repeat(60)),console.error(""),console.error("错误信息:",q.message),console.error(""),q.stack)console.error("堆栈跟踪:"),console.error(q.stack);console.error(""),console.error("═".repeat(60)),console.error(""),this.shutdown(b,1)}async shutdown(b,q=0){if(this.isShuttingDown){A.debug("[GracefulShutdown] 已在退出过程中,跳过重复退出");return}this.isShuttingDown=!0,A.info(`[GracefulShutdown] 开始优雅退出 (原因: ${b})`);try{await Q()}catch(z){}try{let z=X.getInstance(),J=W(),N=J.session?.sessionId||"unknown",O=J.session?.workspaceRoot||V();if(z.isEnabled(O,N)){let Z=J.config?.config?.permissionMode||"default";await z.executeSessionEndHooks($(b),{projectDir:O,sessionId:N,permissionMode:Z})}}catch(z){console.error("[GracefulShutdown] SessionEnd hooks 执行失败:",z)}let B=5000,Y=new Promise((z,J)=>{setTimeout(()=>{J(Error(`清理超时 (${B}ms)`))},B)});try{let z=this.runCleanupHandlers();await Promise.race([z,Y])}catch(z){console.error("[GracefulShutdown] 清理过程中发生错误:",z)}finally{_(),setTimeout(()=>{process.exit(q)},100)}}async runCleanupHandlers(){let b=[...this.cleanupHandlers].reverse();for(let q of b)try{let B=q();if(B instanceof Promise)await B}catch(B){console.error("[GracefulShutdown] 清理函数执行失败:",B)}}isExiting(){return this.isShuttingDown}reset(){this.isShuttingDown=!1,this.cleanupHandlers=[],this.initialized=!1}}var K=()=>{return F.getInstance()},P=(b)=>{return K().registerCleanup(b)},L=()=>{K().initialize()},k=(b=0)=>{K().shutdown("normal",b)};
4
- export{K as Pb,P as Qb,L as Rb,k as Sb};
4
+ export{K as _b,P as $b,L as ac,k as bc};
@@ -1,2 +1,2 @@
1
- import{Gc as B}from"./chunk-gxmrakrk.js";import{we as Y}from"./chunk-gxzbv67r.js";import{Ce as $,ze as Z}from"./chunk-bexgcc2d.js";import{createHash as D}from"node:crypto";var F="fast-mode-2026-02-01";function H(q,z,W){if(z.api!=="anthropic-messages"||W.providerValue!=="fast")return q;let G={...q},J=Object.keys(G).find((w)=>w.toLowerCase()==="anthropic-beta")??"anthropic-beta",L=new Set((G[J]??"").split(",").map((w)=>w.trim()).filter(Boolean));return L.add(F),G[J]=[...L].join(","),G}function K(q){return`BLADE_MODEL_API_KEY_${D("sha256").update(q).digest("hex").slice(0,32).toUpperCase()}`}function O(q,z,W,G=Y(),J="auto",L="auto"){let w=G.resolveConfig(q),Q=B(w,W),U=$(w,J),X=Z(w,L),x=q.overrides;return{config:q,model:w,displayName:q.displayName??w.name,chat:{provider:q.provider,model:q.model,apiKey:process.env[K(q.id)]??process.env.BLADE_API_KEY,baseUrl:process.env.BLADE_BASE_URL??x?.baseUrl,temperature:x?.temperature??z.temperature,maxContextTokens:w.contextWindow,maxOutputTokens:x?.maxOutputTokens,timeout:x?.timeout??z.timeout,streamIdleTimeout:x?.streamIdleTimeout,reasoningEnabled:Q.effective!=="off",...Q.effective==="off"?{}:{reasoningEffort:Q.effective},...U.providerValue?{serviceTier:U.providerValue}:{},...X.providerValue?{responseVerbosity:X.providerValue}:{},fallbackModels:q.fallbackModels,enablePromptCaching:x?.enablePromptCaching,customHeaders:H(x?.customHeaders,w,U),apiVersion:x?.apiVersion,maxRetries:x?.maxRetries,modelCatalog:G},reasoning:Q,serviceTier:U,responseVerbosity:X}}function E(q,z=Y()){try{return q.displayName??z.getModel(q.provider,q.model).name}catch{return q.displayName??q.model}}
2
- export{K as Cc,O as Dc,E as Ec};
1
+ import{Rc as B}from"./chunk-1sw9z975.js";import{Le as Y}from"./chunk-m86ekqp0.js";import{Oe as Z,Re as $}from"./chunk-p0j8994h.js";import{createHash as D}from"node:crypto";var F="fast-mode-2026-02-01";function H(q,z,W){if(z.api!=="anthropic-messages"||W.providerValue!=="fast")return q;let G={...q},J=Object.keys(G).find((w)=>w.toLowerCase()==="anthropic-beta")??"anthropic-beta",L=new Set((G[J]??"").split(",").map((w)=>w.trim()).filter(Boolean));return L.add(F),G[J]=[...L].join(","),G}function K(q){return`BLADE_MODEL_API_KEY_${D("sha256").update(q).digest("hex").slice(0,32).toUpperCase()}`}function O(q,z,W,G=Y(),J="auto",L="auto"){let w=G.resolveConfig(q),Q=B(w,W),U=$(w,J),X=Z(w,L),x=q.overrides;return{config:q,model:w,displayName:q.displayName??w.name,chat:{provider:q.provider,model:q.model,apiKey:process.env[K(q.id)]??process.env.BLADE_API_KEY,baseUrl:process.env.BLADE_BASE_URL??x?.baseUrl,temperature:x?.temperature??z.temperature,maxContextTokens:w.contextWindow,maxOutputTokens:x?.maxOutputTokens,timeout:x?.timeout??z.timeout,streamIdleTimeout:x?.streamIdleTimeout,reasoningEnabled:Q.effective!=="off",...Q.effective==="off"?{}:{reasoningEffort:Q.effective},...U.providerValue?{serviceTier:U.providerValue}:{},...X.providerValue?{responseVerbosity:X.providerValue}:{},fallbackModels:q.fallbackModels,enablePromptCaching:x?.enablePromptCaching,customHeaders:H(x?.customHeaders,w,U),apiVersion:x?.apiVersion,maxRetries:x?.maxRetries,modelCatalog:G},reasoning:Q,serviceTier:U,responseVerbosity:X}}function E(q,z=Y()){try{return q.displayName??z.getModel(q.provider,q.model).name}catch{return q.displayName??q.model}}
2
+ export{K as Nc,O as Oc,E as Pc};