blade-code 0.10.4 → 0.10.5
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-069zpw09.js +6 -0
- package/dist/{chunk-xq8vf15n.js → chunk-19kg7yvw.js} +1 -1
- package/dist/{chunk-9kwt0w46.js → chunk-1m5r6mp2.js} +1 -1
- package/dist/{chunk-jbnrscvz.js → chunk-1q21sxhx.js} +1 -1
- package/dist/{chunk-kkd7mm55.js → chunk-1r6szcrj.js} +1 -1
- package/dist/{chunk-nr53mq0k.js → chunk-1vx4sf1y.js} +1 -1
- package/dist/{chunk-d7xb0vp1.js → chunk-1x4fpe47.js} +1 -1
- package/dist/{chunk-d4zw0xxe.js → chunk-2nkd1kjx.js} +1 -1
- package/dist/chunk-417wefq7.js +99 -0
- package/dist/{chunk-5t0vs4hz.js → chunk-51wtvmzn.js} +2 -2
- package/dist/{chunk-a7a74pza.js → chunk-62881c2s.js} +93 -93
- package/dist/{chunk-ffp3ypbb.js → chunk-6eragc74.js} +1 -1
- package/dist/{chunk-n2s54h1r.js → chunk-7jy60gnx.js} +1 -1
- package/dist/{chunk-1ndryz4h.js → chunk-am8dtvff.js} +1 -1
- package/dist/chunk-c5tds5v0.js +9 -0
- package/dist/{chunk-f647z66n.js → chunk-f6mszdsd.js} +1 -1
- package/dist/{chunk-rv80ak15.js → chunk-fz1vyc15.js} +1 -1
- package/dist/chunk-hh85pk77.js +160 -0
- package/dist/{chunk-ve9cke2g.js → chunk-njyvrtje.js} +2 -2
- package/dist/{chunk-wdbmbk6h.js → chunk-nz78b5c5.js} +1 -1
- package/dist/chunk-r1764q6f.js +1 -0
- package/dist/chunk-r6mwyg3h.js +3 -0
- package/dist/{chunk-csr5vppa.js → chunk-rh7v814a.js} +1 -1
- package/dist/chunk-rzzt21ef.js +22 -0
- package/dist/{chunk-mxqpg4gy.js → chunk-s645azsm.js} +1 -1
- package/dist/{chunk-b9v7waxf.js → chunk-sanhjqpd.js} +1 -1
- package/dist/{chunk-tx8f345j.js → chunk-tjnfhm9v.js} +1 -1
- package/dist/{chunk-pehpndk9.js → chunk-v0ygsjry.js} +1 -1
- package/dist/{chunk-age5tc86.js → chunk-vntzy7bc.js} +1 -1
- package/dist/{chunk-vxymgh8e.js → chunk-vpj0sv73.js} +1 -1
- package/dist/{chunk-90fnvvcf.js → chunk-xv0maezy.js} +1 -1
- package/dist/{chunk-fx87s3mb.js → chunk-yc53wz4r.js} +1 -1
- package/dist/web/assets/{ChatView-iK7ff8qU.js → ChatView-Y-6k-ayR.js} +2 -2
- package/dist/web/assets/{CodeBlockHighlighter-BoJp_Xb0.js → CodeBlockHighlighter-CFW6qjnA.js} +1 -1
- package/dist/web/assets/{FilePreview-Bi1HWOvY.js → FilePreview-CR_XetY0.js} +1 -1
- package/dist/web/assets/{MarkdownRenderer-DMW1pg5N.js → MarkdownRenderer-CVrxJswQ.js} +3 -3
- package/dist/web/assets/{McpModal-CHUqitJ6.js → McpModal-BO-85gll.js} +1 -1
- package/dist/web/assets/{SettingsModal-zsS9O6SW.js → SettingsModal-CW87OnxI.js} +1 -1
- package/dist/web/assets/{SkillsModal-C2oTDXoy.js → SkillsModal-Q8ZFPhys.js} +1 -1
- package/dist/web/assets/{TaskSwitcher-CncVasNA.js → TaskSwitcher-BzH-0QXr.js} +1 -1
- package/dist/web/assets/{TerminalPanel-CBi2mUxx.js → TerminalPanel-DTqvx8yB.js} +1 -1
- package/dist/web/assets/index-ClOgGy-I.js +32 -0
- package/dist/web/index.html +1 -1
- package/package.json +1 -1
- package/dist/chunk-5ze48kg7.js +0 -22
- package/dist/chunk-d5a66cgn.js +0 -160
- package/dist/chunk-scq3ns6v.js +0 -99
- package/dist/chunk-v8kp3ep9.js +0 -6
- package/dist/chunk-xkzy5wbm.js +0 -9
- package/dist/chunk-ys8bp9jm.js +0 -1
- package/dist/chunk-zswrw5f9.js +0 -3
- package/dist/web/assets/index-DvDtvgA4.js +0 -32
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{Ee as d,Ge as h}from"./chunk-
|
|
1
|
+
import{Ee as d,Ge as h}from"./chunk-1vx4sf1y.js";var q={debug:{alias:"d",type:"string",describe:'Enable debug mode with optional category filtering (e.g., "agent,ui" or "!chat,!loop")',group:"Debug Options:"},model:{type:"string",describe:"Override the current run model using a model config ID (TUI / print / headless)",group:"AI Options:"},print:{alias:"p",type:"boolean",describe:"Print response and exit (useful for pipes)",group:"Output Options:"},headless:{type:"boolean",describe:"Run full agent loop without Ink UI and print all events to the terminal",group:"Output Options:"},"output-format":{alias:["outputFormat"],type:"string",choices:["text","json","stream-json","jsonl"],default:"text",describe:"Output format: --print supports text|json|stream-json; --headless supports text|jsonl",group:"Output Options:"},"include-partial-messages":{alias:["includePartialMessages"],type:"boolean",describe:"Include partial message chunks as they arrive",group:"Output Options:"},"input-format":{alias:["inputFormat"],type:"string",choices:["text","stream-json"],default:"text",describe:"Input format",group:"Input Options:"},"replay-user-messages":{alias:["replayUserMessages"],type:"boolean",describe:"Re-emit user messages from stdin",group:"Input Options:"},"allowed-tools":{alias:["allowedTools"],type:"array",string:!0,describe:"Comma or space-separated list of tool names to allow",group:"Security Options:"},"disallowed-tools":{alias:["disallowedTools"],type:"array",string:!0,describe:"Comma or space-separated list of tool names to deny",group:"Security Options:"},"mcp-config":{alias:["mcpConfig"],type:"array",string:!0,describe:"Load MCP servers from JSON files or strings",group:"MCP Options:"},"system-prompt":{alias:["systemPrompt"],type:"string",describe:"System prompt to use for the session (replaces default)",group:"AI Options:"},"append-system-prompt":{alias:["appendSystemPrompt"],type:"string",describe:"Append a system prompt to the default system prompt",group:"AI Options:"},"max-turns":{alias:["maxTurns"],type:"number",describe:"Maximum conversation turns (-1: unlimited, 0: disable chat, N>0: limit to N turns)",group:"AI Options:",default:void 0},"max-concurrent-tasks":{alias:["maxConcurrentTasks"],type:"number",describe:"Maximum top-level tasks running concurrently in this process",group:"AI Options:",default:void 0},"max-queued-tasks":{alias:["maxQueuedTasks"],type:"number",describe:"Maximum top-level tasks waiting for an admission slot",group:"AI Options:",default:void 0},"permission-mode":{alias:["permissionMode"],type:"string",choices:["default","autoEdit","yolo","plan"],describe:"Permission mode (default: ask for non-read tools, autoEdit: auto-approve edits, yolo: auto-approve all, plan: reserved)",group:"Security Options:"},yolo:{type:"boolean",describe:"Auto-approve all tools (shortcut for --permission-mode=yolo)",group:"Security Options:"},"trust-workspace":{alias:["trustWorkspace"],type:"boolean",describe:"Trust the current workspace before loading project models, MCP, LSP, permissions, or plugins",group:"Security Options:"},continue:{alias:"c",type:"boolean",describe:"Continue the most recent conversation",group:"Session Options:"},resume:{alias:"r",describe:"Resume a conversation - provide a session ID or interactively select a conversation to resume",group:"Session Options:",coerce:(b)=>{if(b===void 0||b===!0||b==="")return"true";return String(b)}},"fork-session":{alias:["forkSession"],type:"boolean",describe:"Create a new session ID when resuming",group:"Session Options:"},settings:{type:"string",describe:"Path to a settings JSON file or JSON string",group:"Configuration:"},"add-dir":{alias:["addDir"],type:"array",string:!0,describe:"Additional directories to allow tool access to",group:"Security Options:"},ide:{type:"boolean",describe:"Automatically connect to IDE on startup",group:"Integration:"},acp:{type:"boolean",describe:"Run in ACP (Agent Client Protocol) mode for IDE integration",group:"Integration:"},"strict-mcp-config":{alias:["strictMcpConfig"],type:"boolean",describe:"Only use MCP servers from --mcp-config",group:"MCP Options:"},"session-id":{alias:["sessionId"],type:"string",describe:"Use a specific session ID for the conversation",group:"Session Options:"},agents:{type:"string",describe:"JSON object defining custom agents",group:"AI Options:"},"setting-sources":{alias:["settingSources"],type:"string",describe:"Comma-separated list of setting sources to load",group:"Configuration:"},"plugin-dir":{alias:["pluginDir"],type:"array",string:!0,describe:"Load plugins from specified directories",group:"Plugin Options:"}},w={scriptName:"blade",usage:"$0 [command] [options]",description:h(),version:d(),locale:"en",showHelpOnFail:!0,demandCommand:!1,recommendCommands:!0,strict:!1};
|
|
2
2
|
export{q as Jb,w as Kb};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Aa as f,Ea as g,Fa as h,Ga as i,Ha as j,Ia as k,La as l,Ma as m,Na as n,Oa as o,Pa as p,Qa as q,Ra as r,ua as a,va as b,xa as c,ya as d,za as e}from"./chunk-
|
|
1
|
+
import{Aa as f,Ea as g,Fa as h,Ga as i,Ha as j,Ia as k,La as l,Ma as m,Na as n,Oa as o,Pa as p,Qa as q,Ra as r,ua as a,va as b,xa as c,ya as d,za as e}from"./chunk-1m5r6mp2.js";import"./chunk-jza1rsan.js";import"./chunk-417wefq7.js";import"./chunk-an96c54z.js";import"./chunk-fvhc1yj8.js";import"./chunk-dqvcgwhe.js";import"./chunk-gxmrakrk.js";import"./chunk-35yktzm1.js";import"./chunk-vpj0sv73.js";import"./chunk-qm11hjd3.js";import"./chunk-qda309d9.js";import"./chunk-tq52pbde.js";import"./chunk-79s052sw.js";import"./chunk-epj56s0n.js";import"./chunk-gxzbv67r.js";import"./chunk-bexgcc2d.js";import"./chunk-1vx4sf1y.js";import"./chunk-948qe2pp.js";import"./chunk-0n97186m.js";import"./chunk-9ffr01c3.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};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{bd as t1,cd as GO}from"./chunk-35yktzm1.js";import{fd as K1}from"./chunk-63ysxybd.js";import{gd as M0,id as B0}from"./chunk-
|
|
1
|
+
import{bd as t1,cd as GO}from"./chunk-35yktzm1.js";import{fd as K1}from"./chunk-63ysxybd.js";import{gd as M0,id as B0}from"./chunk-vpj0sv73.js";import{nd as h,od as M}from"./chunk-qda309d9.js";import{$d as S0,Rd as V0,Sd as u1}from"./chunk-rh7v814a.js";import{ce as u,ee as Y,he as T1}from"./chunk-tq52pbde.js";import{re as x}from"./chunk-epj56s0n.js";import{Ee as P0}from"./chunk-1vx4sf1y.js";import{Je as T}from"./chunk-z906d5tb.js";import Z1 from"node:path";import Q$ from"node:path";import w0 from"node:fs";import Z0 from"node:os";import R from"node:path";import LO from"yaml";var J1={name:"verification",description:"Independent verification agent that validates implementation by running builds, tests, linters, and adversarial"+" probes. Strictly read-only — cannot modify code. Use"+" after completing implementation to get an independent quality assessment.",tools:["Read","Glob","Grep","Bash"],systemPrompt:`# Verification Agent
|
|
2
2
|
|
|
3
3
|
You are an **independent verification engineer**. Your sole purpose is to find problems — not to praise or reassure. You are the last line of defense before code ships.
|
|
4
4
|
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import{m as k,n as w,o as O,p as R}from"./chunk-51wtvmzn.js";import{E as _,J as f}from"./chunk-62881c2s.js";import"./chunk-s645azsm.js";import{Aa as U}from"./chunk-1m5r6mp2.js";import"./chunk-jza1rsan.js";import{ib as F,qb as L}from"./chunk-417wefq7.js";import"./chunk-an96c54z.js";import{Jb as D}from"./chunk-6eragc74.js";import{Lb as E,Mb as N,Nb as h}from"./chunk-19kg7yvw.js";import{Ob as A}from"./chunk-6tx8k249.js";import"./chunk-drrdzmaa.js";import{jc as x}from"./chunk-sanhjqpd.js";import"./chunk-g6h6h8xr.js";import"./chunk-fvhc1yj8.js";import"./chunk-dqvcgwhe.js";import"./chunk-ea7wsges.js";import"./chunk-gxmrakrk.js";import"./chunk-yc53wz4r.js";import"./chunk-am8dtvff.js";import"./chunk-35yktzm1.js";import"./chunk-63ysxybd.js";import"./chunk-vpj0sv73.js";import"./chunk-qm11hjd3.js";import"./chunk-qda309d9.js";import"./chunk-rh7v814a.js";import{be as $}from"./chunk-tq52pbde.js";import"./chunk-79s052sw.js";import{re as b}from"./chunk-epj56s0n.js";import"./chunk-gxzbv67r.js";import"./chunk-bexgcc2d.js";import"./chunk-1vx4sf1y.js";import"./chunk-z906d5tb.js";import"./chunk-948qe2pp.js";import"./chunk-0n97186m.js";import"./chunk-9ffr01c3.js";import z from"yargs";import{hideBin as P}from"yargs/helpers";var c=new Set(Object.values($));function M(j){if(j&&c.has(j))return j;return}function S(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("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 I(q);process.exit(B)})}async function I(j,q=process){let B;try{await k();let Q=await w({message:j.message,_:j._,defaultMessage:"Hello"}),H=await O(Q);if(H.mode==="output"){if(H.content)q.stdout.write(`${H.content}
|
|
2
|
+
`);return H.exitCode??0}let T=H.content,X=T.trimStart().startsWith("!")?T.trimStart().slice(1).trim():void 0,{sessionId:J,messages:Y,metadata:V}=await R({sessionId:j.sessionId,continue:j.continue,resume:j.resume,forkSession:j.forkSession,fallbackSessionPrefix:"print"}),K=V?.projectPath??b(),W=M(j.permissionMode)??V?.permissionMode??x()?.permissionMode??"default";if(await L.setSessionPermissionMode(J,K,W),B=await _.create({sessionId:J,workspaceRoot:K,modelId:j.model,permissionMode:W,mcpConfig:j.mcpConfig,strictMcpConfig:j.strictMcpConfig,agents:j.agents?A(j.agents):void 0,...Y.length>0?{sessionStart:{isResume:!0,resumeSessionId:J}}:{}}),X!==void 0){let G=await B.executeUserShellCommand(X);if(j.outputFormat==="json")q.stdout.write(`${JSON.stringify(G,null,2)}
|
|
3
|
+
`);else if(j.outputFormat==="stream-json")q.stdout.write(`${JSON.stringify({type:"user_shell_completed",executionId:G.executionId,record:G.record})}
|
|
4
|
+
`);else q.stdout.write(`${F(G.record)}
|
|
5
|
+
`);return G.record.status==="completed"?0:G.record.status==="aborted"?130:G.record.exitCode??1}let y=await f.createWithRuntime(B,{sessionId:J,systemPrompt:j.systemPrompt,appendSystemPrompt:j.appendSystemPrompt,maxTurns:j.maxTurns,modelId:j.model,permissionMode:W,toolWhitelist:j.allowedTools,toolBlacklist:j.disallowedTools,mcpConfig:j.mcpConfig,strictMcpConfig:j.strictMcpConfig}),Z=(await U(y.chatStream(T,{messages:[...Y],userId:"cli-user",sessionId:J,workspaceRoot:K,permissionMode:W}))).finalMessage||"";if(j.outputFormat==="json")q.stdout.write(`${JSON.stringify({response:Z,input:T,model:j.model,timestamp:new Date().toISOString()},null,2)}
|
|
6
|
+
`);else if(j.outputFormat==="stream-json")q.stdout.write(`${JSON.stringify({type:"response",content:Z})}
|
|
7
|
+
`);else q.stdout.write(`${Z}
|
|
8
|
+
`);return 0}catch(Q){return q.stderr.write(`Error: ${Q instanceof Error?Q.message:"未知错误"}
|
|
9
|
+
`),1}finally{await B?.dispose()}}async function jj(){if(process.argv.slice(2).findIndex((B)=>B==="--print"||B==="-p")===-1)return!1;try{let{print:B,"output-format":Q,"include-partial-messages":H,"input-format":T,"system-prompt":X,"append-system-prompt":J,"max-turns":Y,...V}=D,K=z(P(process.argv)).scriptName("blade").strict(!1).options(V).middleware([N,E,h]);return S(K),await K.parse(),!0}catch(B){console.error(`Print mode error: ${B instanceof Error?B.message:"未知错误"}`),process.exit(1)}}export{I as runPrint,jj as handlePrintMode};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{ec as a,fc as b,gc as c,hc as d,ic as e,jc as f,kc as g,lc as h,mc as i,nc as j,oc as k,pc as l,qc as m,rc as n,sc as o,tc as p,uc as q}from"./chunk-
|
|
1
|
+
import{ec as a,fc as b,gc as c,hc as d,ic as e,jc as f,kc as g,lc as h,mc as i,nc as j,oc as k,pc as l,qc as m,rc as n,sc as o,tc as p,uc as q}from"./chunk-sanhjqpd.js";import"./chunk-g6h6h8xr.js";import"./chunk-fvhc1yj8.js";import"./chunk-qda309d9.js";import"./chunk-rh7v814a.js";import"./chunk-tq52pbde.js";import"./chunk-79s052sw.js";import"./chunk-epj56s0n.js";import"./chunk-gxzbv67r.js";import"./chunk-bexgcc2d.js";import"./chunk-1vx4sf1y.js";import"./chunk-z906d5tb.js";import"./chunk-948qe2pp.js";import"./chunk-0n97186m.js";import"./chunk-9ffr01c3.js";export{a as vanillaStore,c as sessionActions,l as getThinkingModeEnabled,b as getState,n as getServiceTier,o as getResponseVerbosity,m as getReasoningEffort,j as getModelById,e as getMessages,k as getMcpServers,i as getCurrentModel,f as getConfig,p as getCommunicationStyle,h as getAllModels,g as ensureStoreInitialized,q as configActions,d as appActions};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{ia as H}from"./chunk-
|
|
1
|
+
import{ia as H}from"./chunk-s645azsm.js";import"./chunk-jza1rsan.js";import{oc as $,uc as T}from"./chunk-sanhjqpd.js";import"./chunk-g6h6h8xr.js";import"./chunk-fvhc1yj8.js";import"./chunk-vpj0sv73.js";import"./chunk-qm11hjd3.js";import"./chunk-qda309d9.js";import"./chunk-rh7v814a.js";import"./chunk-tq52pbde.js";import"./chunk-79s052sw.js";import{re as k}from"./chunk-epj56s0n.js";import"./chunk-gxzbv67r.js";import"./chunk-bexgcc2d.js";import"./chunk-1vx4sf1y.js";import"./chunk-z906d5tb.js";import"./chunk-948qe2pp.js";import"./chunk-0n97186m.js";import"./chunk-9ffr01c3.js";import U from"os";import J from"path";function X(z){return typeof z==="string"?z:void 0}function N(z){if(!Array.isArray(z))return;let q=[];for(let K of z)if(typeof K==="string")q.push(K);else if(K!=null)q.push(String(K));return q}function b(){console.log(`
|
|
2
2
|
blade mcp
|
|
3
3
|
`),console.log(`管理 MCP 服务器
|
|
4
4
|
`),console.log("Commands:"),console.log(" blade mcp add <name> <commandOrUrl> [args...] 添加 MCP 服务器"),console.log(" blade mcp remove <name> 删除 MCP 服务器 [aliases: rm]"),console.log(" blade mcp list 列出所有 MCP 服务器并检查健康状态 [aliases: ls]"),console.log(" blade mcp get <name> 获取服务器详情"),console.log(" blade mcp login <name> 登录远程 MCP OAuth"),console.log(" blade mcp logout <name> 清除远程 MCP OAuth 凭证"),console.log(` blade mcp add-json <name> <json> 从 JSON 字符串添加服务器
|