blade-code 0.10.154 → 0.10.157
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-144c76m2.js → chunk-04vy4a4a.js} +1 -1
- package/dist/{chunk-9y8nc7rr.js → chunk-1qp826p9.js} +1 -1
- package/dist/{chunk-hbraqszv.js → chunk-2nnrrfte.js} +1 -1
- package/dist/{chunk-3659a95p.js → chunk-3jqvgxnc.js} +9 -9
- package/dist/{chunk-rqs5jhxy.js → chunk-46a6mzfg.js} +1 -1
- package/dist/chunk-4d6d5xtp.js +1 -0
- package/dist/{chunk-yz483dtj.js → chunk-5h9q6jjv.js} +1 -1
- package/dist/{chunk-gq5g8g9f.js → chunk-75n6cr3x.js} +61 -61
- package/dist/{chunk-qkhzq36q.js → chunk-7aysjqen.js} +1 -1
- package/dist/{chunk-0m3ty3gq.js → chunk-7mqmyhfe.js} +1 -1
- package/dist/{chunk-y6mg1388.js → chunk-7r26xgk4.js} +1 -1
- package/dist/{chunk-fh0x8k4q.js → chunk-8bm5bpa2.js} +1 -1
- package/dist/{chunk-t2y78e91.js → chunk-8brsyfkz.js} +2 -2
- package/dist/{chunk-3gnxsahn.js → chunk-96c1kd2j.js} +1 -1
- package/dist/{chunk-t6d1nar0.js → chunk-9cfh48md.js} +1 -1
- package/dist/{chunk-vadatgv1.js → chunk-9rx1axgj.js} +1 -1
- package/dist/{chunk-va83r9rt.js → chunk-9svd1x6q.js} +1 -1
- package/dist/chunk-bfd4yt7c.js +1 -0
- package/dist/{chunk-ddh5fhs3.js → chunk-d6x9aqqp.js} +1 -1
- package/dist/{chunk-wm4pvxjm.js → chunk-eass9t33.js} +1 -1
- package/dist/{chunk-v7wga64a.js → chunk-ha8w887r.js} +1 -1
- package/dist/{chunk-5gfeesjx.js → chunk-j5fwzfaj.js} +1 -1
- package/dist/{chunk-bzkxwkfg.js → chunk-m268099y.js} +1 -1
- package/dist/{chunk-28sw5wx1.js → chunk-nk1kfpz5.js} +3 -3
- package/dist/{chunk-6843kgys.js → chunk-nmymd2hf.js} +1 -1
- package/dist/{chunk-hy3yd7pb.js → chunk-p1d4ep58.js} +1 -1
- package/dist/{chunk-mc7bxkxq.js → chunk-pdfdj5rp.js} +1 -1
- package/dist/{chunk-c239v2a5.js → chunk-ra0y5drh.js} +1 -1
- package/dist/{chunk-3hma3h13.js → chunk-rdvadyyt.js} +1 -1
- package/dist/{chunk-5q46xs9r.js → chunk-s9ws4xsz.js} +1 -1
- package/dist/{chunk-kzgr6zxy.js → chunk-sr61gfha.js} +1 -1
- package/dist/{chunk-nzkp0b76.js → chunk-tbg7yrwp.js} +1 -1
- package/dist/{chunk-czgws642.js → chunk-tfsmykk5.js} +1 -1
- package/dist/{chunk-283cjrxa.js → chunk-v25d7gze.js} +1 -1
- package/dist/{chunk-7yaefjh4.js → chunk-w5awn40e.js} +1 -1
- package/dist/{chunk-26e0mbfr.js → chunk-wax2788t.js} +1 -1
- package/dist/{chunk-sbq1hr8r.js → chunk-xqzmm1bf.js} +1 -1
- package/dist/{chunk-0e4vp8pk.js → chunk-zqn8q1b6.js} +1 -1
- package/dist/web/assets/{ChatView-DhjLZ2OR.js → ChatView-D9Rgy4Xd.js} +17 -17
- package/dist/web/assets/{CodeBlockHighlighter-CYGqk6nC.js → CodeBlockHighlighter-D2xmVZ64.js} +1 -1
- package/dist/web/assets/{FilePreview-Cti4_C5N.js → FilePreview-DNvYgNjf.js} +1 -1
- package/dist/web/assets/{KanbanBoard-Ct16zVW3.js → KanbanBoard-DHsb2qNL.js} +1 -1
- package/dist/web/assets/{MarkdownRenderer-RfULWJEE.js → MarkdownRenderer-DaQIOCqh.js} +3 -3
- package/dist/web/assets/{ScrollArea-DzblNpCd.js → ScrollArea-CMTG2oYB.js} +1 -1
- package/dist/web/assets/{SessionHistorySurface-D3-0PA12.js → SessionHistorySurface-B5W8o5Ac.js} +1 -1
- package/dist/web/assets/SettingsModal-CoIGqfB8.js +20 -0
- package/dist/web/assets/{Sidebar-DgTGp3BO.js → Sidebar-Bp-rTtWG.js} +1 -1
- package/dist/web/assets/{TaskSwitcher-BVau39Em.js → TaskSwitcher-BHlCaj6w.js} +1 -1
- package/dist/web/assets/{TerminalPanel-N2fFhXPj.js → TerminalPanel-1SkToIB-.js} +1 -1
- package/dist/web/assets/{archive-DYlK7NlT.js → archive-VQ-zwIBp.js} +1 -1
- package/dist/web/assets/{arrow-left-DaRjPuTX.js → arrow-left-CNl5Vg6X.js} +1 -1
- package/dist/web/assets/{calendar-clock-UTpg6J58.js → calendar-clock-B_VagIW-.js} +1 -1
- package/dist/web/assets/{chevron-right-DW6hcYoH.js → chevron-right-rbUP1NBz.js} +1 -1
- package/dist/web/assets/{chevrons-up-down-D0BwYbw9.js → chevrons-up-down-DSWrXgFD.js} +1 -1
- package/dist/web/assets/{clock-3-DTmdPhfW.js → clock-3-B7G3JFdh.js} +1 -1
- package/dist/web/assets/{copy-3oxA5Cc-.js → copy-BSAC3Lqd.js} +1 -1
- package/dist/web/assets/{download-D1w7sCBV.js → download-Da_UuSK6.js} +1 -1
- package/dist/web/assets/{external-link-BHWE2Q9K.js → external-link-RaJbv6zJ.js} +1 -1
- package/dist/web/assets/{folder-y0Ib4FZ2.js → folder-BDc_dntN.js} +1 -1
- package/dist/web/assets/{index-D4bsP__r.js → index-Cqil5mhT.js} +4 -4
- package/dist/web/assets/{pause-dr9-0ZX_.js → pause-DcqIkSCj.js} +1 -1
- package/dist/web/assets/{pencil-BtXBcDA8.js → pencil-CuEcqcGd.js} +1 -1
- package/dist/web/assets/{play-CGxptupd.js → play-D-6oneXl.js} +1 -1
- package/dist/web/assets/{plus-DUJ7l4H3.js → plus-BszxRz9B.js} +1 -1
- package/dist/web/assets/{session-events-CGQa6VXb.js → session-events-Dwyp0AVI.js} +16 -14
- package/dist/web/assets/{settings-DFt3q7ma.js → settings-C2nXcRY-.js} +1 -1
- package/dist/web/assets/{team-C6IcokCI.js → team-CWZp-rb4.js} +1 -1
- package/dist/web/assets/{teamService-T8g5BXdN.js → teamService-Dyi2wFpb.js} +1 -1
- package/dist/web/assets/{terminal-DLip4ER9.js → terminal-ZQmTPaBq.js} +1 -1
- package/dist/web/index.html +1 -1
- package/package.json +1 -1
- package/dist/chunk-1x6vnqsv.js +0 -1
- package/dist/chunk-bsbwrp47.js +0 -1
- package/dist/web/assets/SettingsModal-j0PEfToT.js +0 -20
package/dist/blade.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import{yf as W}from"./chunk-
|
|
2
|
+
import{yf as W}from"./chunk-ha8w887r.js";import{Bf as F,Cf as M}from"./chunk-v1mamd1x.js";import"./chunk-8bm5bpa2.js";import"./chunk-v508x7cg.js";import"./chunk-7xhw74hk.js";import"./chunk-ra0y5drh.js";import"./chunk-28tzj187.js";import"./chunk-eass9t33.js";import"./chunk-sd9bze9x.js";import"./chunk-514va7ce.js";import{$i as N,aj as B}from"./chunk-jsv3e4k6.js";import"./chunk-n34qsnks.js";import{Bj as T}from"./chunk-5q4z0sfr.js";import"./chunk-0b67y4j1.js";import"./chunk-9kj19a8t.js";import"./chunk-7r26xgk4.js";import"./chunk-gm2yfq3r.js";import"./chunk-n9819k4p.js";import"./chunk-7xtxvrh8.js";import{Lk as J}from"./chunk-sdapqhj0.js";import p from"node:path";var E=process.argv.slice(2),I=c(E),u=I!==null;if(I!==null)T.setGlobalDebug(I);function c(Q){for(let Y=0;Y<Q.length;Y+=1){let U=Q[Y];if(U==="--debug"||U==="-d"){let X=Q[Y+1];return X&&!X.startsWith("-")?X:!0}if(U.startsWith("--debug="))return U.slice(8)||!0}return null}function m(Q){return Q.length===1&&(Q[0]==="--version"||Q[0]==="-V")}function q(Q,...Y){return Q.some((U)=>Y.some((X)=>U===X||U.startsWith(`${X}=`)))}function t(Q,...Y){let U=[];for(let X=0;X<Q.length;X+=1){let G=Q[X],z=Y.find(($)=>G.startsWith(`${$}=`));if(z){let $=G.slice(z.length+1);if($)U.push($);continue}if(Y.includes(G)){let $=Q[X+1];if($&&!$.startsWith("-"))U.push($),X+=1}}return U}async function l(){if(m(E)){let{getVersion:K}=await import("./chunk-2nnrrfte.js");console.log(K());return}let Q=process.cwd(),Y=F(Q);M(Y),N(B());let U=t(E,"--plugin-dir","--pluginDir");if(U.length>0){let{configureInvocationPluginDirs:K}=await import("./chunk-nmymd2hf.js");K(U.map((Z)=>p.resolve(Q,Z)))}if(q(E,"--trust-workspace","--trustWorkspace")){let{WorkspaceTrustService:K}=await import("./chunk-enf0egke.js");await K.getInstance().trust(B())}if(process.getuid&&process.getuid()===0){let K=!!process.env.SUDO_USER,Z=!!process.env.BLADE_ALLOW_ROOT;if(K&&!Z)console.error(""),console.error("Error: 请不要使用 sudo 运行 blade"),console.error(""),console.error("原因:"),console.error(" 使用 sudo 会创建属于 root 的配置文件,"),console.error(" 导致普通用户无法访问。"),console.error(""),console.error("正确用法:"),console.error(" blade # 直接运行,不要加 sudo"),console.error(""),console.error("如果遇到权限错误,请运行:"),console.error(" sudo chown -R $USER:$USER ~/.blade/"),console.error(""),console.error("如果你确实需要以 root 运行(容器/CI),设置环境变量:"),console.error(" BLADE_ALLOW_ROOT=1 blade"),console.error(""),process.exit(1)}if(q(E,"--headless")){let{handleHeadlessMode:K}=await import("./chunk-w5awn40e.js");if(await K())return}if(W(),q(E,"--print","-p")){let{handlePrintMode:K}=await import("./chunk-tbg7yrwp.js");if(await K())return}if(E.includes("--acp")){let{runAcpIntegration:K}=await import("./chunk-7mqmyhfe.js");await K();return}let[{default:X},{hideBin:G},{cliConfig:z,globalOptions:$},{loadConfiguration:_,validateOutput:D,validatePermissions:R},{browserCommands:S},{doctorCommands:k},{installCommands:O},{mcpCommands:y},{projectsCommands:V},{scheduleCommands:b},{serveCommand:P},{updateCommands:x},{webCommand:A}]=await Promise.all([import("yargs"),import("yargs/helpers"),import("./chunk-bfd4yt7c.js"),import("./chunk-d6x9aqqp.js"),import("./chunk-9tk6wq70.js"),import("./chunk-8brsyfkz.js"),import("./chunk-jbpasjg9.js"),import("./chunk-v25d7gze.js"),import("./chunk-tya95jej.js"),import("./chunk-mt26v0vg.js"),import("./chunk-zqn8q1b6.js"),import("./chunk-rdvadyyt.js"),import("./chunk-9svd1x6q.js")]),h=X(G(process.argv)).scriptName(z.scriptName).usage(z.usage).version(z.version).locale(z.locale).showHelpOnFail(z.showHelpOnFail).demandCommand(0,"").recommendCommands().strict(z.strict).parserConfiguration({"populate--":!0}).options($).middleware([_,R,D]).command(S).command(y).command(V).command(b).command(k).command(x).command(O).command(A).command(P).completion("completion",!1).help("help","Show help").alias("help","h").alias("version","V").fail((K,Z,L)=>{if(Z){if(console.error("An error occurred:"),console.error(Z.message),u&&Z.stack)console.error(`
|
|
3
3
|
Stack trace:`),console.error(Z.stack);else console.error(`
|
|
4
4
|
Run with --debug to show the stack trace.`);process.exit(1)}if(K)console.error("Error: Invalid arguments:"),console.error(K),console.error(`
|
|
5
|
-
Hint: Did you mean:`),L.showHelp(),process.exit(1)}).command("$0",!1,()=>{},async(K)=>{let Z=K._.slice(1),L=Z.length>0?Z.join(" "):void 0,f=import("./chunk-
|
|
5
|
+
Hint: Did you mean:`),L.showHelp(),process.exit(1)}).command("$0",!1,()=>{},async(K)=>{let Z=K._.slice(1),L=Z.length>0?Z.join(" "):void 0,f=import("./chunk-4d6d5xtp.js").then(({checkVersionOnStartup:v})=>v()),[{render:w},{createElement:j},{AppWrapper:C}]=await Promise.all([import("ink"),import("react"),import("./chunk-46a6mzfg.js")]),H={...K,initialMessage:L,debug:K.debug,print:Boolean(K.print),versionCheckPromise:f};delete H._,delete H.$0,delete H.message,w(j(C,H),{patchConsole:!0,exitOnCtrlC:!1,alternateBuffer:!1})});try{await h.parse()}catch(K){console.error("Error: Parse error:",K),process.exit(1)}}if(J.main==J.module)l().catch(console.error);export{l as main};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{vf as v}from"./chunk-v67st2xb.js";import{Of as e}from"./chunk-
|
|
1
|
+
import{vf as v}from"./chunk-v67st2xb.js";import{Of as e}from"./chunk-8bm5bpa2.js";import{Bi as S,Ci as m,Di as c,Ei as p,Gi as u,Hi as d,Li as l,Qi as i,Ri as t,di as y,fi as D,gi as h,ii as A,pi as P,qi as T,si as E,ui as _,vi as f,xi as C}from"./chunk-eass9t33.js";import{Si as Y}from"./chunk-sd9bze9x.js";import{_i as X}from"./chunk-jsv3e4k6.js";import{cj as U,dj as L,jj as M,kj as O,mj as $,nj as I,oj as G,qj as N,rj as j,tj as F,uj as R}from"./chunk-n34qsnks.js";import{Cj as s,Ej as x,Gj as k,Jj as Z}from"./chunk-5q4z0sfr.js";import{promises as a}from"node:fs";import g from"node:path";var r=["systemPrompt","appendSystemPrompt","initialMessage","resumeSessionId","forkSession","allowedTools","disallowedTools","mcpConfigPaths","strictMcpConfig","model","addDirs","outputFormat","inputFormat","print","includePartialMessages","replayUserMessages","agentsConfig","settingSources"],kk=new Set([...Object.keys(l),...r,"providerRequestConcurrency","providerGlobalConcurrency","providerOwnerConcurrency"]),W=k.Number({exclusiveMinimum:0}),z=k.String({minLength:1}),b=k.Array(k.String()),qk=k.Object({currentModelId:k.Optional(k.String()),modelProviders:k.Optional(k.Record(z,k.Object({name:z,baseUrl:z,wireApi:Z(["openai-completions","anthropic-messages"]),apiKeyEnv:k.Optional(z)}))),models:k.Optional(k.Array(k.Object({id:z,displayName:k.Optional(z),provider:z,model:z,overrides:k.Optional(k.Object({baseUrl:k.Optional(k.String()),temperature:k.Optional(k.Number()),maxOutputTokens:k.Optional(W),timeout:k.Optional(W),streamIdleTimeout:k.Optional(k.Number({minimum:1000})),apiVersion:k.Optional(k.String()),customHeaders:k.Optional(k.Record(k.String(),k.String())),maxRetries:k.Optional(k.Integer({minimum:0})),enablePromptCaching:k.Optional(k.Boolean())})),fallbackModels:k.Optional(k.Array(k.Object({provider:z,model:z,configId:k.Optional(z)})))}))),temperature:k.Optional(k.Number()),maxOutputTokens:k.Optional(W),stream:k.Optional(k.Boolean()),topP:k.Optional(k.Number()),topK:k.Optional(k.Number()),timeout:k.Optional(W),bashForegroundHandoffMs:k.Optional(k.Union([k.Literal(0),k.Integer({minimum:P,maximum:T})])),providerForegroundRecoveryMs:k.Optional(k.Union([k.Literal(0),k.Integer({minimum:U,maximum:L})])),providerCircuitBreakerOpenMs:k.Optional(k.Union([k.Literal(0),k.Integer({minimum:M,maximum:O})])),providerRequestConcurrency:k.Optional(k.Integer({minimum:$,maximum:I})),providerGlobalConcurrency:k.Optional(k.Integer({minimum:$,maximum:G})),providerOwnerConcurrency:k.Optional(k.Integer({minimum:$,maximum:G})),providerRequestAdmissionMs:k.Optional(k.Union([k.Literal(0),k.Integer({minimum:N,maximum:j})])),providerRequestPendingBytes:k.Optional(k.Integer({minimum:F,maximum:R})),agentTeamsEnabled:k.Optional(k.Boolean()),codeTheme:k.Optional(k.String()),uiTheme:k.Optional(Z(["light","dark","system"])),language:k.Optional(k.String()),fontSize:k.Optional(W),autoSaveSessions:k.Optional(k.Boolean()),notifyBuild:k.Optional(k.Boolean()),notifyErrors:k.Optional(k.Boolean()),notifySounds:k.Optional(k.Boolean()),privacyTelemetry:k.Optional(k.Boolean()),privacyCrash:k.Optional(k.Boolean()),debug:k.Optional(k.Union([k.Boolean(),k.String()])),mcpEnabled:k.Optional(k.Boolean()),mcpServers:k.Optional(k.Record(k.String(),k.Record(k.String(),k.Unknown()))),lspServers:k.Optional(k.Record(z,k.Object({command:z,args:k.Optional(k.Array(k.String())),extensionToLanguage:k.Record(z,z),env:k.Optional(k.Record(k.String(),k.String())),initializationOptions:k.Optional(k.Unknown()),settings:k.Optional(k.Unknown()),enabled:k.Optional(k.Boolean()),priority:k.Optional(k.Integer()),startupTimeout:k.Optional(k.Integer({minimum:100})),shutdownTimeout:k.Optional(k.Integer({minimum:100})),requestTimeout:k.Optional(k.Integer({minimum:100})),diagnosticWaitTimeout:k.Optional(k.Integer({minimum:0})),maxRestarts:k.Optional(k.Integer({minimum:0,maximum:10}))}))),permissionMode:k.Optional(k.Enum(Y)),maxTurns:k.Optional(k.Integer({minimum:-1})),maxConcurrentTasks:k.Optional(k.Integer({minimum:S,maximum:m})),maxQueuedTasks:k.Optional(k.Integer({minimum:c,maximum:p})),maxQueuedTaskBytes:k.Optional(k.Integer({minimum:u,maximum:d})),maxResidentSessionRuntimes:k.Optional(k.Integer({minimum:E,maximum:_})),sessionRuntimeIdleMs:k.Optional(k.Integer({minimum:f,maximum:C})),maxResidentSessionProjections:k.Optional(k.Integer({minimum:y,maximum:D})),sessionProjectionIdleMs:k.Optional(k.Integer({minimum:h,maximum:A})),systemPrompt:k.Optional(k.String()),appendSystemPrompt:k.Optional(k.String()),initialMessage:k.Optional(k.String()),resumeSessionId:k.Optional(k.String()),forkSession:k.Optional(k.Boolean()),allowedTools:k.Optional(k.Array(z)),disallowedTools:k.Optional(k.Array(z)),mcpConfigPaths:k.Optional(k.Array(z)),strictMcpConfig:k.Optional(k.Boolean()),model:k.Optional(z),addDirs:k.Optional(k.Array(z)),outputFormat:k.Optional(Z(["text","json","stream-json","jsonl"])),inputFormat:k.Optional(Z(["text","stream-json"])),print:k.Optional(k.Boolean()),includePartialMessages:k.Optional(k.Boolean()),replayUserMessages:k.Optional(k.Boolean()),agentsConfig:k.Optional(k.String()),settingSources:k.Optional(k.String()),permissions:k.Optional(k.Object({allow:k.Optional(b),ask:k.Optional(b),deny:k.Optional(b)})),env:k.Optional(k.Record(k.String(),k.String())),hooks:k.Optional(k.Record(k.String(),k.Unknown())),enabledPlugins:k.Optional(k.Record(z,k.Boolean())),pluginSourcePolicy:k.Optional(k.Object({restrictToAllowedSources:k.Optional(k.Boolean()),requireGitCommitSha:k.Optional(k.Boolean()),allowedGitHosts:k.Optional(k.Array(z)),allowedMarketplaces:k.Optional(k.Array(z)),allowedLocalRoots:k.Optional(k.Array(z))})),disableAllHooks:k.Optional(k.Boolean())}),wk=[["systemPrompt","systemPrompt"],["appendSystemPrompt","appendSystemPrompt"],["initialMessage","initialMessage"],["resumeSessionId","sessionId"],["forkSession","forkSession"],["allowedTools","allowedTools"],["disallowedTools","disallowedTools"],["mcpConfigPaths","mcpConfig"],["strictMcpConfig","strictMcpConfig"],["model","model"],["addDirs","addDir"],["outputFormat","outputFormat"],["inputFormat","inputFormat"],["print","print"],["includePartialMessages","includePartialMessages"],["replayUserMessages","replayUserMessages"],["agentsConfig","agents"],["settingSources","settingSources"],["permissionMode","permissionMode"],["maxTurns","maxTurns"],["maxConcurrentTasks","maxConcurrentTasks"],["maxQueuedTasks","maxQueuedTasks"],["maxQueuedTaskBytes","maxQueuedTaskBytes"],["maxResidentSessionRuntimes","maxResidentSessionRuntimes"],["sessionRuntimeIdleMs","sessionRuntimeIdleMs"],["maxResidentSessionProjections","maxResidentSessionProjections"],["sessionProjectionIdleMs","sessionProjectionIdleMs"]];function V(q,B){let w;try{w=JSON.parse(q)}catch(H){let K=H instanceof Error?`: ${H.message}`:"";throw Error(`Invalid JSON provided to --settings (${B})${K}`)}if(!w||typeof w!=="object"||Array.isArray(w))throw Error("--settings must contain a JSON object");for(let H of Object.keys(w))if(!kk.has(H))throw Error(`Unknown --settings field: ${H}`);let J=x(qk,w);if(!J.success){let H=J.error.issues.map((K)=>`${K.path.join(".")||"settings"}: ${K.message}`).join("; ");throw Error(`Invalid --settings value: ${H}`)}return J.data}async function n(q){if(q===void 0)return;let B=q.trim();if(!B)throw Error("--settings requires a JSON object or file path");if(B.startsWith("{"))return V(B,"inline JSON");let w=g.resolve(X(),B),J;try{J=await a.readFile(w,"utf8")}catch(H){let K=H instanceof Error?`: ${H.message}`:"";throw Error(`Unable to read --settings file ${w}${K}`)}return V(J,w)}function o(q,B){if(!B)return;let w=B;for(let[J,H]of wk){if(J==="permissionMode"&&q.yolo===!0)continue;if(q[H]===void 0&&w[J]!==void 0)q[H]=w[J]}}var Q=s("General"),Uk=(q)=>{if(q.yolo){if(q.permissionMode&&q.permissionMode!=="yolo")throw Error("Cannot use both --yolo and --permission-mode with different values");q.permissionMode="yolo"}if(Array.isArray(q.allowedTools))q.allowedTools=q.allowedTools.flatMap((B)=>B.split(",").map((w)=>w.trim()).filter((w)=>w.length>0));if(Array.isArray(q.disallowedTools))q.disallowedTools=q.disallowedTools.flatMap((B)=>B.split(",").map((w)=>w.trim()).filter((w)=>w.length>0));if(Array.isArray(q.allowedTools)&&Array.isArray(q.disallowedTools)){let B=q.allowedTools.filter((w)=>q.disallowedTools.includes(w));if(B.length>0)throw Error(`Tools cannot be both allowed and disallowed: ${B.join(", ")}`)}},Lk=async(q)=>{let B=await n(typeof q.settings==="string"?q.settings:void 0);if(o(q,B),typeof q.agents==="string")v(q.agents);zk(q);try{let J=await i.getInstance().initialize(B),H=t(J,q);if(e().config.actions.setConfig(H),q.debug)Q.info("[CLI] 配置已加载到 Store")}catch(w){Q.error("[CLI] [FAIL] 配置初始化失败",w instanceof Error?w.message:w),console.error(`
|
|
2
2
|
[FAIL] 配置初始化失败
|
|
3
3
|
`),console.error("原因:",w instanceof Error?w.message:"未知错误"),console.error(`
|
|
4
4
|
请检查:`),console.error(" 1. 配置文件格式是否正确 (~/.blade/config.json)"),console.error(" 2. 是否需要运行 blade 进行首次配置"),console.error(` 3. 配置文件权限是否正确
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{rc as Xt,sc as En,tc as yn,uc as bn}from"./chunk-wm896gnx.js";import{yh as Bt}from"./chunk-
|
|
1
|
+
import{rc as Xt,sc as En,tc as yn,uc as bn}from"./chunk-wm896gnx.js";import{yh as Bt}from"./chunk-ra0y5drh.js";import{$h as Gt,Dh as xt,Eh as vi,Fh as sn,Gh as zt,Hh as U,Ih as en,Jh as gt,Kh as mt,Mh as rn,Nh as Tn,Oh as B,Ph as dn,Qh as on,Rh as pn,Sh as lt,Th as un,Uh as cn,Vh as Mn,Xh as S,_h as wn,ai as Ut,bi as h,ci as Ht}from"./chunk-eass9t33.js";import{aj as It}from"./chunk-jsv3e4k6.js";import{Ej as X,Gj as x}from"./chunk-5q4z0sfr.js";import{Wj as tn,Xj as nn}from"./chunk-7r26xgk4.js";import{Lk as ns}from"./chunk-sdapqhj0.js";import{EventEmitter as fs}from"events";import Un from"node:path";function hn(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 An(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||`验证失败:${hn(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:An(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;isRetrySafe;constructor(t,i,n,s,e,r=!1){this.toolName=t;this.params=i;this.executeFn=n;this.descriptionFn=s;this.affectedPathsFn=e;this.isRetrySafe=r}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 jt(t){return{name:t.name,displayName:t.displayName,kind:t.kind,isConcurrencySafe:t.isConcurrencySafe??!1,isRetrySafe:t.isRetrySafe??!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
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Vj as a,Wj as b,Xj as c,Yj as d,Zj as e,_j as f}from"./chunk-
|
|
1
|
+
import{Vj as a,Wj as b,Xj as c,Yj as d,Zj as e,_j as f}from"./chunk-7r26xgk4.js";import"./chunk-sdapqhj0.js";export{b as getVersion,c as getPackageName,a as getPackageInfo,e as getFormattedVersion,d as getDescription,f as getCopyright};
|