blade-code 0.10.12 → 0.10.14
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/dist/blade.js +2 -2
- package/dist/{chunk-95zwz4q8.js → chunk-0hbvc51n.js} +1 -1
- package/dist/{chunk-86shv4yp.js → chunk-2cgcht30.js} +1 -1
- package/dist/{chunk-63rg3mhn.js → chunk-2z6261pz.js} +1 -1
- package/dist/{chunk-tadbcnwr.js → chunk-321n9hem.js} +1 -1
- package/dist/{chunk-04wd6zez.js → chunk-3be2feze.js} +1 -1
- package/dist/{chunk-p5zstj8j.js → chunk-3jnhd81j.js} +3 -3
- package/dist/{chunk-21zwc98r.js → chunk-4rn3r12e.js} +24 -24
- package/dist/{chunk-86w8fd67.js → chunk-8y2zs0p0.js} +2 -2
- package/dist/{chunk-9e8fyt60.js → chunk-8zr7h97n.js} +1 -1
- package/dist/chunk-99tdg2ny.js +1 -0
- package/dist/{chunk-pmvfkre2.js → chunk-9ajyeqa7.js} +1 -1
- package/dist/{chunk-4faz5tkt.js → chunk-avsv4e5g.js} +1 -1
- package/dist/{chunk-vwwf7p7x.js → chunk-cyhmfcqq.js} +48 -48
- package/dist/{chunk-2mmbqha8.js → chunk-e0y9nb0a.js} +1 -1
- package/dist/chunk-g3w00xb7.js +5 -0
- package/dist/{chunk-vaxcmm72.js → chunk-hpbyvwhm.js} +1 -1
- package/dist/{chunk-pz21tcah.js → chunk-hrmfhv8k.js} +1 -1
- package/dist/{chunk-evn886hs.js → chunk-j7k5x43d.js} +1 -1
- package/dist/{chunk-9cnm1hgp.js → chunk-k5fw5abr.js} +1 -1
- package/dist/{chunk-e65vyfj7.js → chunk-kesgbws4.js} +1 -1
- package/dist/{chunk-vdgskayb.js → chunk-m088381q.js} +1 -1
- package/dist/{chunk-zd3qxc5p.js → chunk-m2b2w90y.js} +1 -1
- package/dist/{chunk-vszmbnjh.js → chunk-mcqe9km3.js} +1 -1
- package/dist/{chunk-vpz57h5x.js → chunk-pt0en61h.js} +1 -1
- package/dist/{chunk-k7caqeew.js → chunk-qb076ca2.js} +4 -4
- package/dist/{chunk-cscm57tr.js → chunk-r6bha0vm.js} +1 -1
- package/dist/{chunk-pqgw6t9b.js → chunk-rbph12qe.js} +3 -3
- package/dist/{chunk-eqr25kxv.js → chunk-se1tfys3.js} +1 -1
- package/dist/{chunk-y2j96b3t.js → chunk-sntbbkbf.js} +20 -20
- package/dist/{chunk-hb8krnp5.js → chunk-snv4bpbv.js} +1 -1
- package/dist/{chunk-670th5hb.js → chunk-wj4cjb73.js} +1 -1
- package/dist/{chunk-2wkt2w3f.js → chunk-wznyzdtg.js} +1 -1
- package/dist/{chunk-jh4571hm.js → chunk-xk7svrdb.js} +1 -1
- package/dist/{chunk-z24sj1r8.js → chunk-xq403rac.js} +7 -7
- package/dist/{chunk-e2s6czgg.js → chunk-zvt8ngpt.js} +1 -1
- package/dist/web/assets/ChatView-CxSysoN5.js +7 -0
- package/dist/web/assets/{CodeBlockHighlighter-Cf3DBUGk.js → CodeBlockHighlighter-a5UaDQQg.js} +2 -2
- package/dist/web/assets/{FilePreview-LvuYnyjv.js → FilePreview-CvGTS9CJ.js} +3 -3
- package/dist/web/assets/{MarkdownRenderer-CkSbe36j.js → MarkdownRenderer-D50Cw9OM.js} +3 -3
- package/dist/web/assets/{SettingsModal-DBsb7E9J.js → SettingsModal-DtREOjs-.js} +2 -2
- package/dist/web/assets/TaskSwitcher-BlMvq8mt.js +1 -0
- package/dist/web/assets/TerminalPanel-B8LccKzq.js +1 -0
- package/dist/web/assets/index-CQP8XT9a.js +11 -0
- package/dist/web/assets/session-events-_Kir2HH_.js +22 -0
- package/dist/web/index.html +2 -1
- package/package.json +1 -1
- package/dist/chunk-14rzj7js.js +0 -1
- package/dist/chunk-ah97bmns.js +0 -5
- package/dist/web/assets/ChatView-DG6MMrFK.js +0 -7
- package/dist/web/assets/TaskSwitcher-Z0KWY8g9.js +0 -1
- package/dist/web/assets/TerminalPanel-DVWTlxtd.js +0 -1
- package/dist/web/assets/index-DWtXGF3o.js +0 -32
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import"./chunk-vmq248m7.js";import"./chunk-4dq9y7zn.js";import{Se as Q}from"./chunk-
|
|
2
|
-
`);try{let{rebuildProjectionIndex:z}=await import("./chunk-h6w3ggx9.js"),{SessionService:B}=await import("./chunk-
|
|
1
|
+
import"./chunk-vmq248m7.js";import"./chunk-4dq9y7zn.js";import{Se as Q}from"./chunk-hrmfhv8k.js";import"./chunk-3aqdjrtm.js";import"./chunk-kvx3sb3z.js";import"./chunk-f4z3gkbs.js";import{if as L}from"./chunk-5s123nbs.js";import"./chunk-s5666ta0.js";import"./chunk-dsj62dcg.js";import"./chunk-se1tfys3.js";import"./chunk-gav4hxcv.js";import"./chunk-afkhzdfc.js";import"./chunk-363pgv1e.js";import{Mf as F}from"./chunk-g11hq0e5.js";var K=[22,19,0];function T(G){let A=/^v?(\d+)\.(\d+)\.(\d+)/.exec(G);if(!A)return!1;let H=A.slice(1).map(Number);for(let z=0;z<K.length;z++){let B=H[z]??0,J=K[z];if(B!==J)return B>J}return!0}var X={command:"doctor",describe:"Check the health of your Blade installation",builder:(G)=>G.option("rebuild-index",{type:"boolean",default:!1,describe:"Rebuild the SQLite session index from JSONL transcripts"}),handler:async(G)=>{if(G.rebuildIndex){console.log(`Rebuilding session index from JSONL transcripts...
|
|
2
|
+
`);try{let{rebuildProjectionIndex:z}=await import("./chunk-h6w3ggx9.js"),{SessionService:B}=await import("./chunk-r6bha0vm.js"),J=await z(B.projectionDeriverForSearch());if(J===null)console.log("[WARN] Session index unavailable (SQLite driver missing); reads fall back to JSONL scan.");else console.log(`[OK] Session index rebuilt: ${J} session(s) indexed.`)}catch(z){console.log("[FAIL] Session index rebuild failed"),console.log(` Error: ${z instanceof Error?z.message:"未知错误"}`),process.exit(1)}return}console.log(`Running Blade health check...
|
|
3
3
|
`);let A=0;try{await Q.getInstance().initialize(),console.log("[OK] Configuration: OK")}catch(z){console.log("[FAIL] Configuration: FAILED"),console.log(` Error: ${z instanceof Error?z.message:"未知错误"}`),A++}let H=process.version;if(T(H))console.log(`[OK] Node.js version: ${H}`);else console.log(`[WARN] Node.js version: ${H} (required: >=22.19.0)`),A++;try{let z=await import("fs/promises"),B=L();await z.access(B,(await import("fs")).constants.R_OK|(await import("fs")).constants.W_OK),console.log("[OK] File system permissions: OK")}catch(z){console.log("[FAIL] File system permissions: FAILED"),console.log(" Error: Cannot read/write in current directory"),A++}try{await import("ink"),console.log("[OK] Dependencies: OK")}catch(z){console.log("[FAIL] Dependencies: FAILED"),console.log(" Error: Missing required dependencies"),A++}if(console.log(`
|
|
4
4
|
Health Check Summary:`),A===0)console.log("All checks passed! Blade is ready to use.");else console.log(`Warning: Found ${A} issue(s). Please resolve them for optimal performance.`),process.exit(1)}};export{T as isSupportedNodeVersion,X as doctorCommands};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{rb as jt,sb as Xt,tb as bn,ub as Tn,vb as fn}from"./chunk-095x2ykj.js";import{$d as Ut}from"./chunk-
|
|
1
|
+
import{rb as jt,sb as Xt,tb as bn,ub as Tn,vb as fn}from"./chunk-095x2ykj.js";import{$d as Ut}from"./chunk-zvt8ngpt.js";import{Ae as S,De as yn,Ee as Ht,Fe as Bt,Ge as R,He as qt,ge as xt,he as tn,ie as en,je as zt,ke as B,le as rn,me as gt,ne as mt,pe as dn,qe as En,re as U,se as on,te as pn,ue as cn,ve as lt,we as un,xe as Mn,ye as wn}from"./chunk-hrmfhv8k.js";import{Ye as X,_e as x}from"./chunk-kvx3sb3z.js";import{if as vt}from"./chunk-5s123nbs.js";import{vf as nn,wf as sn}from"./chunk-se1tfys3.js";import{Mf as ss}from"./chunk-g11hq0e5.js";import{EventEmitter as hs}from"events";import Un from"node:path";function An(t){if(t===void 0)return"undefined";if(typeof t==="string")return t;try{let i=JSON.stringify(t);return i===void 0?String(t):i}catch{return String(t)}}function _n(t){let i=t;switch(t.code){case"type":return`类型错误:${t.message}`;case"required":return"缺少必需参数";case"minLength":return`字符串过短:${t.message}`;case"maxLength":return`字符串过长:${t.message}`;case"minimum":case"exclusiveMinimum":return`数值太小:${t.message}`;case"maximum":case"exclusiveMaximum":return`数值太大:${t.message}`;case"minItems":return`数组元素过少:${t.message}`;case"maxItems":return`数组元素过多:${t.message}`;case"format":return`格式错误:${t.message}`;case"enum":return`必须是枚举允许的值之一:${t.message}`;case"const":return`必须是指定的字面量值:${t.message}`;case"additionalProperties":case"unevaluatedProperties":return`包含未知参数:${t.message}`;case"anyOf":case"oneOf":return"不符合任何有效的类型定义";case"~refine":return t.message||"自定义验证失败";default:return t.message||`验证失败:${An(i)}`}}class Jt extends Error{issues;type;constructor(t,i,n="validation_error"){super(t);this.issues=i;this.type=n;this.name="ToolValidationError"}}function Vt(t,i){let n=X(t,i);if(n.success)return n.data;let s=n.error.issues.map((r)=>({field:r.path.length>0?r.path.join("."):"root",message:_n(r),value:r.value})),e=s.length===1?`参数验证失败 [${s[0].field}]: ${s[0].message}`:`参数验证失败 (${s.length} 个错误):
|
|
2
2
|
${s.map((r)=>` - ${r.field}: ${r.message}`).join(`
|
|
3
3
|
`)}`;throw new Jt(e,s)}function st(t){if(!t||typeof t!=="object")return;let i=t;if(i.type==="object"&&i.properties)i.required??=[],i.additionalProperties??=!1;for(let n of Object.values(i))if(Array.isArray(n))for(let s of n)st(s);else st(n)}function et(t){let i=JSON.parse(JSON.stringify(t,(n,s)=>n.startsWith("~")?void 0:s));return st(i),i}class rt{toolName;params;executeFn;descriptionFn;affectedPathsFn;constructor(t,i,n,s,e){this.toolName=t;this.params=i;this.executeFn=n;this.descriptionFn=s;this.affectedPathsFn=e}getDescription(){if(this.descriptionFn)return this.descriptionFn(this.params);return`执行工具: ${this.toolName}`}getAffectedPaths(){if(this.affectedPathsFn)return this.affectedPathsFn(this.params);return[]}async execute(t,i,n){let s={signal:t,updateOutput:i,...n};return this.executeFn(this.params,s)}}function Gt(t){return{name:t.name,displayName:t.displayName,kind:t.kind,isReadOnly:t.isReadOnly??jt(t.kind),isConcurrencySafe:t.isConcurrencySafe??!1,parallelism:t.parallelism??(t.isConcurrencySafe?"shared":"exclusive"),strict:t.strict??!1,description:t.description,version:t.version||"1.0.0",category:t.category,tags:t.tags||[],getFunctionDeclaration(){let i=et(t.schema),n=t.description.short;if(t.description.long)n+=`
|
|
4
4
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{sc as a,tc as b}from"./chunk-0hbvc51n.js";import"./chunk-se1tfys3.js";import"./chunk-g11hq0e5.js";export{a as globalOptions,b as cliConfig};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{m as R,n as I,o as C,p as v,q as S}from"./chunk-
|
|
1
|
+
import{m as R,n as I,o as C,p as v,q as S}from"./chunk-xk7svrdb.js";import{F as y,L as w}from"./chunk-rbph12qe.js";import"./chunk-8zr7h97n.js";import"./chunk-p4zt7ts9.js";import{Va as x,hb as U}from"./chunk-4rn3r12e.js";import"./chunk-095x2ykj.js";import{$b as b,Tb as k}from"./chunk-kesgbws4.js";import"./chunk-4hawehmd.js";import{sc as P}from"./chunk-0hbvc51n.js";import{uc as h,vc as O,wc as M}from"./chunk-snv4bpbv.js";import{xc as z}from"./chunk-632rgzcf.js";import"./chunk-ktf3bpmw.js";import{Uc as N}from"./chunk-xq403rac.js";import"./chunk-vmq248m7.js";import"./chunk-ybvdac8k.js";import"./chunk-g3w00xb7.js";import"./chunk-2mzcxq6c.js";import"./chunk-8j01ssaf.js";import"./chunk-2z6261pz.js";import"./chunk-j7k5x43d.js";import"./chunk-9tnaads5.js";import"./chunk-heqs3xan.js";import"./chunk-dpt56hah.js";import"./chunk-zvt8ngpt.js";import"./chunk-7wjy6kgt.js";import"./chunk-4dq9y7zn.js";import"./chunk-hrmfhv8k.js";import{Ue as D}from"./chunk-3aqdjrtm.js";import"./chunk-kvx3sb3z.js";import"./chunk-f4z3gkbs.js";import{if as E}from"./chunk-5s123nbs.js";import"./chunk-s5666ta0.js";import"./chunk-dsj62dcg.js";import"./chunk-se1tfys3.js";import"./chunk-gav4hxcv.js";import"./chunk-afkhzdfc.js";import"./chunk-363pgv1e.js";import"./chunk-g11hq0e5.js";import g from"yargs";import{hideBin as c}from"yargs/helpers";var m=new Set(Object.values(D));function d(j){if(j&&m.has(j))return j;return}function l(j){return j.command("* [message]","Print response and exit (useful for pipes)",(q)=>q.positional("message",{describe:"Message to process",type:"string"}).option("p",{alias:"print",describe:"Print response and exit (useful for pipes)",type:"boolean"}).option("output-format",{describe:'Output format: "text", "json", "stream-json"',type:"string",default:"text"}).option("include-partial-messages",{describe:"Include partial message chunks as they arrive",type:"boolean"}).option("input-format",{describe:'Input format: "text", "stream-json"',type:"string",default:"text"}).option("json-schema",{alias:["jsonSchema"],describe:"Inline JSON Schema for the structured final response",type:"string"}).option("output-schema",{alias:["outputSchema"],describe:"Path to a JSON Schema file for the structured final response",type:"string"}).option("model",{describe:"Model for the current session",type:"string"}).option("append-system-prompt",{describe:"Append a system prompt to the default system prompt",type:"string"}).option("system-prompt",{describe:"Replace the default system prompt",type:"string"}).option("max-turns",{alias:["maxTurns"],describe:"Maximum conversation turns (-1: unlimited, N>0: limit to N turns)",type:"number"}),async(q)=>{if(!q.p)return;let B=await u(q);process.exit(B)})}async function u(j,q=process){let B;try{await R();let T=await I({message:j.message,_:j._,defaultMessage:"Hello"}),J=await C(T);if(J.mode==="output"){if(J.content)q.stdout.write(`${J.content}
|
|
2
2
|
`);return J.exitCode??0}let K=J.content,X=await v(j),Y=K.trimStart().startsWith("!")?K.trimStart().slice(1).trim():void 0;if(Y!==void 0&&X)throw Error("Output schemas cannot be combined with user shell commands");let{sessionId:G,messages:F,metadata:V}=await S({sessionId:j.sessionId,continue:j.continue,resume:j.resume,forkSession:j.forkSession,fallbackSessionPrefix:"print"}),W=V?.projectPath??E(),Z=d(j.permissionMode)??V?.permissionMode??N()?.permissionMode??"default";await b.setSessionPermissionMode(G,W,Z);let _=await U.cancelPendingNonInteractive(W,G)?await b.loadSession(G,W):F;if(B=await y.create({sessionId:G,workspaceRoot:W,modelId:j.model,permissionMode:Z,mcpConfig:j.mcpConfig,strictMcpConfig:j.strictMcpConfig,agents:j.agents?z(j.agents):void 0,..._.length>0?{sessionStart:{isResume:!0,resumeSessionId:G}}:{}}),Y!==void 0){let H=await B.executeUserShellCommand(Y);if(j.outputFormat==="json")q.stdout.write(`${JSON.stringify(H,null,2)}
|
|
3
3
|
`);else if(j.outputFormat==="stream-json")q.stdout.write(`${JSON.stringify({type:"user_shell_completed",executionId:H.executionId,record:H.record})}
|
|
4
4
|
`);else q.stdout.write(`${k(H.record)}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{$a as i,Ma as a,Na as b,Pa as c,Ta as d,Ua as e,Va as f,Za as g,_a as h,ab as j,bb as k,ib as l,jb as m,kb as n,lb as o,mb as p,nb as q,ob as r}from"./chunk-
|
|
1
|
+
import{$a as i,Ma as a,Na as b,Pa as c,Ta as d,Ua as e,Va as f,Za as g,_a as h,ab as j,bb as k,ib as l,jb as m,kb as n,lb as o,mb as p,nb as q,ob as r}from"./chunk-4rn3r12e.js";import"./chunk-095x2ykj.js";import"./chunk-kesgbws4.js";import"./chunk-4hawehmd.js";import"./chunk-ybvdac8k.js";import"./chunk-g3w00xb7.js";import"./chunk-8j01ssaf.js";import"./chunk-9tnaads5.js";import"./chunk-heqs3xan.js";import"./chunk-zvt8ngpt.js";import"./chunk-7wjy6kgt.js";import"./chunk-4dq9y7zn.js";import"./chunk-3aqdjrtm.js";import"./chunk-kvx3sb3z.js";import"./chunk-f4z3gkbs.js";import"./chunk-5s123nbs.js";import"./chunk-s5666ta0.js";import"./chunk-dsj62dcg.js";import"./chunk-se1tfys3.js";import"./chunk-afkhzdfc.js";import"./chunk-363pgv1e.js";import"./chunk-g11hq0e5.js";export{g as saveUserMessage,i as saveToolUse,j as saveToolResult,k as saveCompaction,h as saveAssistantMessage,d as isRootSystemPrompt,m as handleTaskListUpdate,n as handleSkillActivation,o as extractModelSwitch,r as executeLoopGenerator,f as drainLoop,c as checkStopHook,a as checkOutputRecovery,b as checkIncompleteIntent,q as checkAndCompactInLoop,p as applyToolDomainEffects,l as StreamingToolExecutor,e as ConversationState};
|