jinzd-ai-cli 0.4.44 → 0.4.45
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/{chunk-5GC3IVW3.js → chunk-75A2WRR5.js} +2 -2
- package/dist/{chunk-ENOAIZ4K.js → chunk-KDHLCT4E.js} +1 -1
- package/dist/{chunk-L7R2LZMI.js → chunk-R5HKK7BP.js} +1 -1
- package/dist/{chunk-Q6SAWWSW.js → chunk-ZN2HRTJG.js} +1 -1
- package/dist/{hub-XLTDDEB6.js → hub-33C7NXGU.js} +1 -1
- package/dist/index.js +49 -36
- package/dist/{run-tests-I2EPN57R.js → run-tests-IALNS63E.js} +1 -1
- package/dist/{run-tests-BTF54JC2.js → run-tests-OI4BENZK.js} +1 -1
- package/dist/{server-QWABC7FF.js → server-J5OPGFOP.js} +4 -4
- package/dist/{task-orchestrator-ZO37ZGR2.js → task-orchestrator-QVEWIUUU.js} +2 -2
- package/package.json +1 -1
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
ProviderNotFoundError,
|
|
8
8
|
RateLimitError,
|
|
9
9
|
schemaToJsonSchema
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-ZN2HRTJG.js";
|
|
11
11
|
import {
|
|
12
12
|
APP_NAME,
|
|
13
13
|
CONFIG_DIR_NAME,
|
|
@@ -20,7 +20,7 @@ import {
|
|
|
20
20
|
MCP_TOOL_PREFIX,
|
|
21
21
|
PLUGINS_DIR_NAME,
|
|
22
22
|
VERSION
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-KDHLCT4E.js";
|
|
24
24
|
|
|
25
25
|
// src/config/config-manager.ts
|
|
26
26
|
import { readFileSync, writeFileSync, existsSync, mkdirSync } from "fs";
|
|
@@ -385,7 +385,7 @@ ${content}`);
|
|
|
385
385
|
}
|
|
386
386
|
}
|
|
387
387
|
async function runTaskMode(config, providers, configManager, topic) {
|
|
388
|
-
const { TaskOrchestrator } = await import("./task-orchestrator-
|
|
388
|
+
const { TaskOrchestrator } = await import("./task-orchestrator-QVEWIUUU.js");
|
|
389
389
|
const orchestrator = new TaskOrchestrator(config, providers, configManager);
|
|
390
390
|
let interrupted = false;
|
|
391
391
|
const onSigint = () => {
|
package/dist/index.js
CHANGED
|
@@ -24,7 +24,7 @@ import {
|
|
|
24
24
|
saveDevState,
|
|
25
25
|
sessionHasMeaningfulContent,
|
|
26
26
|
setupProxy
|
|
27
|
-
} from "./chunk-
|
|
27
|
+
} from "./chunk-75A2WRR5.js";
|
|
28
28
|
import {
|
|
29
29
|
ToolExecutor,
|
|
30
30
|
ToolRegistry,
|
|
@@ -37,7 +37,7 @@ import {
|
|
|
37
37
|
spawnAgentContext,
|
|
38
38
|
theme,
|
|
39
39
|
undoStack
|
|
40
|
-
} from "./chunk-
|
|
40
|
+
} from "./chunk-ZN2HRTJG.js";
|
|
41
41
|
import {
|
|
42
42
|
fileCheckpoints
|
|
43
43
|
} from "./chunk-4BKXL7SM.js";
|
|
@@ -61,7 +61,7 @@ import {
|
|
|
61
61
|
SKILLS_DIR_NAME,
|
|
62
62
|
VERSION,
|
|
63
63
|
buildUserIdentityPrompt
|
|
64
|
-
} from "./chunk-
|
|
64
|
+
} from "./chunk-KDHLCT4E.js";
|
|
65
65
|
|
|
66
66
|
// src/index.ts
|
|
67
67
|
import { program } from "commander";
|
|
@@ -2099,7 +2099,7 @@ ${hint}` : "")
|
|
|
2099
2099
|
usage: "/test [command|filter]",
|
|
2100
2100
|
async execute(args, ctx) {
|
|
2101
2101
|
try {
|
|
2102
|
-
const { executeTests } = await import("./run-tests-
|
|
2102
|
+
const { executeTests } = await import("./run-tests-IALNS63E.js");
|
|
2103
2103
|
const argStr = args.join(" ").trim();
|
|
2104
2104
|
let testArgs = {};
|
|
2105
2105
|
if (argStr) {
|
|
@@ -4190,45 +4190,56 @@ Session '${this.resumeSessionId}' not found.
|
|
|
4190
4190
|
}
|
|
4191
4191
|
async handleChat(userInput) {
|
|
4192
4192
|
const session = this.sessions.current;
|
|
4193
|
-
const
|
|
4194
|
-
|
|
4195
|
-
|
|
4196
|
-
|
|
4193
|
+
const readIntentKeywords = ["\u4E86\u89E3", "\u9605\u8BFB", "\u67E5\u770B", "\u5206\u6790", "\u6982\u62EC", "\u603B\u7ED3", "read", "understand", "analyze", "summarize", "review", "look at"];
|
|
4194
|
+
const writeIntentKeywords = ["\u521B\u5EFA", "\u751F\u6210", "\u7F16\u5199", "\u4FEE\u6539", "\u66F4\u65B0", "\u8FD0\u884C", "create", "generate", "write", "modify", "update", "run", "fix", "start"];
|
|
4195
|
+
const normalizedInput = userInput.toLowerCase();
|
|
4196
|
+
const isReadIntent = readIntentKeywords.some((k) => normalizedInput.includes(k));
|
|
4197
|
+
const isWriteIntent = writeIntentKeywords.some((k) => normalizedInput.includes(k));
|
|
4198
|
+
const originalBlockedTools = this.blockedTools;
|
|
4199
|
+
if (isReadIntent && !isWriteIntent) {
|
|
4200
|
+
const readOnlyBlocks = "write_file,edit_file,bash,run_interactive,task_create,task_stop,git_commit";
|
|
4201
|
+
this.blockedTools = this.blockedTools ? `${this.blockedTools},${readOnlyBlocks}` : readOnlyBlocks;
|
|
4202
|
+
process.stdout.write(theme.dim(" \u{1F6E1}\uFE0F Read-only intent detected: restricting write tools for this turn.\n"));
|
|
4203
|
+
}
|
|
4204
|
+
const t0 = Date.now();
|
|
4205
|
+
try {
|
|
4206
|
+
const { parts, hasImage, refs } = parseAtReferences(userInput, process.cwd());
|
|
4207
|
+
for (const ref of refs) {
|
|
4208
|
+
if (ref.type === "notfound") {
|
|
4209
|
+
process.stdout.write(theme.warning(` \u26A0 File not found: ${ref.path}
|
|
4197
4210
|
`));
|
|
4198
|
-
|
|
4199
|
-
|
|
4211
|
+
} else if (ref.type === "toolarge") {
|
|
4212
|
+
process.stdout.write(theme.warning(` \u26A0 Image too large (> 10 MB): ${ref.path}
|
|
4200
4213
|
`));
|
|
4201
|
-
|
|
4202
|
-
|
|
4214
|
+
} else if (ref.type === "image") {
|
|
4215
|
+
process.stdout.write(theme.dim(` \u{1F4CE} Image: ${ref.path}
|
|
4203
4216
|
`));
|
|
4204
|
-
|
|
4205
|
-
|
|
4217
|
+
} else {
|
|
4218
|
+
process.stdout.write(theme.dim(` \u{1F4C4} File: ${ref.path}
|
|
4206
4219
|
`));
|
|
4220
|
+
}
|
|
4207
4221
|
}
|
|
4208
|
-
|
|
4209
|
-
|
|
4210
|
-
|
|
4211
|
-
|
|
4212
|
-
|
|
4222
|
+
const messageContent = parts.length > 0 ? parts.length === 1 && parts[0].type === "text" ? parts[0].text : parts : userInput;
|
|
4223
|
+
if (hasImage) {
|
|
4224
|
+
const visionHint = this.getVisionModelHint();
|
|
4225
|
+
if (visionHint) {
|
|
4226
|
+
process.stdout.write(
|
|
4227
|
+
theme.warning(` \u2716 Vision not supported \u2013 ${visionHint}
|
|
4228
|
+
`)
|
|
4229
|
+
);
|
|
4230
|
+
return;
|
|
4231
|
+
}
|
|
4213
4232
|
process.stdout.write(
|
|
4214
|
-
theme.
|
|
4233
|
+
theme.dim(` \u{1F5BC} Vision request \u2013 sending image to ${this.currentProvider}
|
|
4215
4234
|
`)
|
|
4216
4235
|
);
|
|
4217
|
-
return;
|
|
4218
4236
|
}
|
|
4219
|
-
|
|
4220
|
-
|
|
4221
|
-
|
|
4222
|
-
|
|
4223
|
-
|
|
4224
|
-
|
|
4225
|
-
role: "user",
|
|
4226
|
-
content: messageContent,
|
|
4227
|
-
timestamp: /* @__PURE__ */ new Date()
|
|
4228
|
-
});
|
|
4229
|
-
this.events.emit("message.before", { input: userInput });
|
|
4230
|
-
const t0 = Date.now();
|
|
4231
|
-
try {
|
|
4237
|
+
session.addMessage({
|
|
4238
|
+
role: "user",
|
|
4239
|
+
content: messageContent,
|
|
4240
|
+
timestamp: /* @__PURE__ */ new Date()
|
|
4241
|
+
});
|
|
4242
|
+
this.events.emit("message.before", { input: userInput });
|
|
4232
4243
|
const provider = this.providers.get(this.currentProvider);
|
|
4233
4244
|
const supportsTools = "chatWithTools" in provider;
|
|
4234
4245
|
if (supportsTools) {
|
|
@@ -4249,6 +4260,8 @@ Session '${this.resumeSessionId}' not found.
|
|
|
4249
4260
|
}
|
|
4250
4261
|
} catch (err) {
|
|
4251
4262
|
this.renderer.renderError(err);
|
|
4263
|
+
} finally {
|
|
4264
|
+
this.blockedTools = originalBlockedTools;
|
|
4252
4265
|
}
|
|
4253
4266
|
}
|
|
4254
4267
|
/**
|
|
@@ -5469,7 +5482,7 @@ program.command("web").description("Start Web UI server with browser-based chat
|
|
|
5469
5482
|
console.error("Error: Invalid port number. Must be between 1 and 65535.");
|
|
5470
5483
|
process.exit(1);
|
|
5471
5484
|
}
|
|
5472
|
-
const { startWebServer } = await import("./server-
|
|
5485
|
+
const { startWebServer } = await import("./server-J5OPGFOP.js");
|
|
5473
5486
|
await startWebServer({ port, host: options.host });
|
|
5474
5487
|
});
|
|
5475
5488
|
program.command("user [action] [username]").description("Manage Web UI users (list | create <name> | delete <name> | reset-password <name> | migrate <name>)").action(async (action, username) => {
|
|
@@ -5702,7 +5715,7 @@ program.command("hub [topic]").description("Start multi-agent hub (discuss / bra
|
|
|
5702
5715
|
}),
|
|
5703
5716
|
config.get("customProviders")
|
|
5704
5717
|
);
|
|
5705
|
-
const { startHub } = await import("./hub-
|
|
5718
|
+
const { startHub } = await import("./hub-33C7NXGU.js");
|
|
5706
5719
|
await startHub(
|
|
5707
5720
|
{
|
|
5708
5721
|
topic: topic ?? "",
|
|
@@ -15,7 +15,7 @@ import {
|
|
|
15
15
|
hadPreviousWriteToolCalls,
|
|
16
16
|
loadDevState,
|
|
17
17
|
setupProxy
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-75A2WRR5.js";
|
|
19
19
|
import {
|
|
20
20
|
AuthManager
|
|
21
21
|
} from "./chunk-BYNY5JPB.js";
|
|
@@ -33,7 +33,7 @@ import {
|
|
|
33
33
|
spawnAgentContext,
|
|
34
34
|
truncateOutput,
|
|
35
35
|
undoStack
|
|
36
|
-
} from "./chunk-
|
|
36
|
+
} from "./chunk-ZN2HRTJG.js";
|
|
37
37
|
import "./chunk-4BKXL7SM.js";
|
|
38
38
|
import {
|
|
39
39
|
AGENTIC_BEHAVIOR_GUIDELINE,
|
|
@@ -52,7 +52,7 @@ import {
|
|
|
52
52
|
SKILLS_DIR_NAME,
|
|
53
53
|
VERSION,
|
|
54
54
|
buildUserIdentityPrompt
|
|
55
|
-
} from "./chunk-
|
|
55
|
+
} from "./chunk-KDHLCT4E.js";
|
|
56
56
|
|
|
57
57
|
// src/web/server.ts
|
|
58
58
|
import express from "express";
|
|
@@ -1606,7 +1606,7 @@ ${undoResults.map((r) => ` \u2022 ${r}`).join("\n")}` });
|
|
|
1606
1606
|
case "test": {
|
|
1607
1607
|
this.send({ type: "info", message: "\u{1F9EA} Running tests..." });
|
|
1608
1608
|
try {
|
|
1609
|
-
const { executeTests } = await import("./run-tests-
|
|
1609
|
+
const { executeTests } = await import("./run-tests-IALNS63E.js");
|
|
1610
1610
|
const argStr = args.join(" ").trim();
|
|
1611
1611
|
let testArgs = {};
|
|
1612
1612
|
if (argStr) {
|
|
@@ -4,11 +4,11 @@ import {
|
|
|
4
4
|
getDangerLevel,
|
|
5
5
|
googleSearchContext,
|
|
6
6
|
truncateOutput
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-ZN2HRTJG.js";
|
|
8
8
|
import "./chunk-4BKXL7SM.js";
|
|
9
9
|
import {
|
|
10
10
|
SUBAGENT_ALLOWED_TOOLS
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-KDHLCT4E.js";
|
|
12
12
|
|
|
13
13
|
// src/hub/task-orchestrator.ts
|
|
14
14
|
import { createInterface } from "readline";
|