jinzd-ai-cli 0.4.76 → 0.4.78
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/README.md +3 -1
- package/dist/batch-CDCTUTIQ.js +218 -0
- package/dist/{chunk-KR4FTJWB.js → chunk-EUE6VMGO.js} +73 -7
- package/dist/{chunk-H4DQNZZ6.js → chunk-FCVQ6OP5.js} +1 -1
- package/dist/{chunk-XTH7S3AM.js → chunk-GKDETNDH.js} +2 -2
- package/dist/{chunk-2Q77FT3F.js → chunk-HELGL4RH.js} +6 -3
- package/dist/chunk-HPDDAXFY.js +84 -0
- package/dist/{chunk-K3JJX2Z5.js → chunk-KHYHG2SO.js} +1 -1
- package/dist/chunk-PFYAAX2S.js +169 -0
- package/dist/{chunk-34NJTPWZ.js → chunk-TNAPORYF.js} +6 -3
- package/dist/chunk-UTCC3UMT.js +83 -0
- package/dist/chunk-XMA222FQ.js +167 -0
- package/dist/electron-server.js +12465 -0
- package/dist/file-checkpoint-CGH6OJVI.js +6 -0
- package/dist/file-checkpoint-NKBHGC7L.js +7 -0
- package/dist/{hub-YPNEYO3Z.js → hub-BIFM6NOM.js} +1 -1
- package/dist/index.js +64 -19
- package/dist/indexer-C7QYYHSZ.js +10 -0
- package/dist/indexer-O5FCGFBJ.js +9 -0
- package/dist/{run-tests-MKKCDUUV.js → run-tests-JBM4K5FO.js} +2 -2
- package/dist/{run-tests-2I5S24IH.js → run-tests-MONKXJBT.js} +1 -1
- package/dist/semantic-MD7HYPWZ.js +14 -0
- package/dist/semantic-RBWU76MD.js +15 -0
- package/dist/{server-6MPBAH4K.js → server-GCE5V4SL.js} +51 -16
- package/dist/store-247B3TAU.js +16 -0
- package/dist/store-S24SPPDZ.js +17 -0
- package/dist/{task-orchestrator-I5HPXTJY.js → task-orchestrator-YAWEIZE7.js} +6 -4
- package/dist/vector-store-UR7IARXB.js +14 -0
- package/dist/vector-store-YTVHACBV.js +15 -0
- package/package.json +3 -10
|
@@ -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-YAWEIZE7.js");
|
|
389
389
|
const orchestrator = new TaskOrchestrator(config, providers, configManager);
|
|
390
390
|
let interrupted = false;
|
|
391
391
|
const onSigint = () => {
|
package/dist/index.js
CHANGED
|
@@ -30,7 +30,10 @@ import {
|
|
|
30
30
|
saveDevState,
|
|
31
31
|
sessionHasMeaningfulContent,
|
|
32
32
|
setupProxy
|
|
33
|
-
} from "./chunk-
|
|
33
|
+
} from "./chunk-GKDETNDH.js";
|
|
34
|
+
import {
|
|
35
|
+
ConfigManager
|
|
36
|
+
} from "./chunk-FCVQ6OP5.js";
|
|
34
37
|
import {
|
|
35
38
|
ToolExecutor,
|
|
36
39
|
ToolRegistry,
|
|
@@ -46,17 +49,16 @@ import {
|
|
|
46
49
|
spawnAgentContext,
|
|
47
50
|
theme,
|
|
48
51
|
undoStack
|
|
49
|
-
} from "./chunk-
|
|
52
|
+
} from "./chunk-EUE6VMGO.js";
|
|
53
|
+
import "./chunk-2ZD3YTVM.js";
|
|
50
54
|
import {
|
|
51
55
|
fileCheckpoints
|
|
52
56
|
} from "./chunk-4BKXL7SM.js";
|
|
53
57
|
import "./chunk-NHNWUBXB.js";
|
|
58
|
+
import "./chunk-HPDDAXFY.js";
|
|
54
59
|
import "./chunk-6VRJGH25.js";
|
|
55
|
-
import "./chunk-
|
|
56
|
-
import
|
|
57
|
-
ConfigManager
|
|
58
|
-
} from "./chunk-H4DQNZZ6.js";
|
|
59
|
-
import "./chunk-2ZD3YTVM.js";
|
|
60
|
+
import "./chunk-PFYAAX2S.js";
|
|
61
|
+
import "./chunk-KHYHG2SO.js";
|
|
60
62
|
import {
|
|
61
63
|
AGENTIC_BEHAVIOR_GUIDELINE,
|
|
62
64
|
AUTHOR,
|
|
@@ -78,7 +80,7 @@ import {
|
|
|
78
80
|
SKILLS_DIR_NAME,
|
|
79
81
|
VERSION,
|
|
80
82
|
buildUserIdentityPrompt
|
|
81
|
-
} from "./chunk-
|
|
83
|
+
} from "./chunk-HELGL4RH.js";
|
|
82
84
|
|
|
83
85
|
// src/index.ts
|
|
84
86
|
import { program } from "commander";
|
|
@@ -216,7 +218,7 @@ var Renderer = class {
|
|
|
216
218
|
console.log(theme.dim(" Gemini (Google) \xB7 Zhipu (GLM) \xB7 OpenRouter \xB7 Ollama (Local, no API key)"));
|
|
217
219
|
console.log(HR);
|
|
218
220
|
const mcpToolCount = mcpInfo?.tools ?? 0;
|
|
219
|
-
const toolTotal =
|
|
221
|
+
const toolTotal = 28 + pluginCount + mcpToolCount;
|
|
220
222
|
const extras = [];
|
|
221
223
|
if (pluginCount > 0) extras.push(`${pluginCount} plugin(s)`);
|
|
222
224
|
if (mcpToolCount > 0) extras.push(`${mcpToolCount} MCP`);
|
|
@@ -249,6 +251,7 @@ var Renderer = class {
|
|
|
249
251
|
console.log(tool("find_symbol", "Locate symbol definitions via persistent tree-sitter index (TS/JS/TSX/Python)"));
|
|
250
252
|
console.log(tool("get_outline", "Enumerate all top-level declarations in one source file"));
|
|
251
253
|
console.log(tool("find_references", "Search indexed files for references to a symbol name"));
|
|
254
|
+
console.log(tool("search_code", 'Semantic (meaning-based) code search via local embeddings \u2014 "grep by meaning", bilingual'));
|
|
252
255
|
console.log(HR);
|
|
253
256
|
console.log(theme.dim(" REPL Commands (42):"));
|
|
254
257
|
console.log(theme.dim(" /help /about /provider /model /clear /compact /plan /session"));
|
|
@@ -976,7 +979,7 @@ function createDefaultCommands() {
|
|
|
976
979
|
" /diff [--stats] - Show all file modifications in this session",
|
|
977
980
|
" /fork [checkpoint] - Fork session from checkpoint or current position",
|
|
978
981
|
" /branch [list|new|switch|delete|rename] - Manage conversation branches (fork tree)",
|
|
979
|
-
" /index [status|rebuild|clear]
|
|
982
|
+
" /index [status|rebuild|clear|semantic-rebuild|semantic-clear] - Symbol + semantic index (find_symbol / search_code)",
|
|
980
983
|
" /yolo [on|off] - Toggle session auto-approve (skip confirmations)",
|
|
981
984
|
" /exit - Exit"
|
|
982
985
|
] : [];
|
|
@@ -2366,15 +2369,17 @@ ${hint}` : "")
|
|
|
2366
2369
|
// ── /index ────────────────────────────────────────────────────
|
|
2367
2370
|
{
|
|
2368
2371
|
name: "index",
|
|
2369
|
-
description: "Manage symbol index (status/rebuild/clear
|
|
2370
|
-
usage: "/index [status | rebuild | clear]",
|
|
2372
|
+
description: "Manage symbol + semantic index (status/rebuild/clear/semantic-rebuild/semantic-clear)",
|
|
2373
|
+
usage: "/index [status | rebuild | clear | semantic-rebuild | semantic-clear]",
|
|
2371
2374
|
async execute(args, ctx) {
|
|
2372
2375
|
const sub = (args[0] ?? "status").toLowerCase();
|
|
2373
2376
|
const root = process.cwd();
|
|
2374
2377
|
const { loadIndex, clearIndex } = await import("./store-S24SPPDZ.js");
|
|
2375
2378
|
const { indexProject } = await import("./indexer-C7QYYHSZ.js");
|
|
2379
|
+
const { loadVectorStore, clearVectorStore } = await import("./vector-store-YTVHACBV.js");
|
|
2376
2380
|
if (sub === "status") {
|
|
2377
2381
|
const idx = loadIndex(root);
|
|
2382
|
+
const vec = loadVectorStore(root);
|
|
2378
2383
|
if (!idx) {
|
|
2379
2384
|
console.log(theme.dim(` No index for ${root}.`));
|
|
2380
2385
|
console.log(theme.dim(" Run `/index rebuild` to build one."));
|
|
@@ -2385,12 +2390,16 @@ ${hint}` : "")
|
|
|
2385
2390
|
console.log(` Generated: ${idx.generated}`);
|
|
2386
2391
|
console.log(` Files: ${idx.fileCount}`);
|
|
2387
2392
|
console.log(` Symbols: ${idx.symbolCount}`);
|
|
2393
|
+
if (vec) {
|
|
2394
|
+
console.log(` Semantic: ${vec.count} vectors \xD7 ${vec.dim}-dim (run /index semantic-rebuild after major changes)`);
|
|
2395
|
+
} else {
|
|
2396
|
+
console.log(` Semantic: ${theme.dim("not built")} \u2014 run /index semantic-rebuild to enable search_code`);
|
|
2397
|
+
}
|
|
2388
2398
|
console.log();
|
|
2389
2399
|
return;
|
|
2390
2400
|
}
|
|
2391
2401
|
if (sub === "rebuild") {
|
|
2392
2402
|
console.log(theme.dim(` Indexing ${root}\u2026`));
|
|
2393
|
-
const start = Date.now();
|
|
2394
2403
|
const { stats } = await indexProject(root, {
|
|
2395
2404
|
force: true,
|
|
2396
2405
|
onProgress: (done, total) => {
|
|
@@ -2408,10 +2417,46 @@ ${hint}` : "")
|
|
|
2408
2417
|
}
|
|
2409
2418
|
if (sub === "clear") {
|
|
2410
2419
|
clearIndex(root);
|
|
2411
|
-
|
|
2420
|
+
clearVectorStore(root);
|
|
2421
|
+
console.log(theme.success(` \u2713 Cleared symbol + semantic index for ${root}`));
|
|
2422
|
+
return;
|
|
2423
|
+
}
|
|
2424
|
+
if (sub === "semantic-rebuild") {
|
|
2425
|
+
const idx = loadIndex(root);
|
|
2426
|
+
if (!idx) {
|
|
2427
|
+
ctx.renderer.renderError("No symbol index yet. Run `/index rebuild` first, then semantic-rebuild.");
|
|
2428
|
+
return;
|
|
2429
|
+
}
|
|
2430
|
+
console.log(theme.dim(` Building semantic index for ${idx.symbolCount} symbols\u2026`));
|
|
2431
|
+
console.log(theme.dim(" (First run downloads ~117 MB embedding model to ~/.aicli/models/)"));
|
|
2432
|
+
const { rebuildSemanticIndex } = await import("./semantic-RBWU76MD.js");
|
|
2433
|
+
try {
|
|
2434
|
+
const stats = await rebuildSemanticIndex(root, {
|
|
2435
|
+
onProgress: (done, total) => {
|
|
2436
|
+
const pct = total > 0 ? Math.floor(done / total * 100) : 0;
|
|
2437
|
+
process.stdout.write(theme.dim(`\r ${done}/${total} (${pct}%)\u2026`));
|
|
2438
|
+
}
|
|
2439
|
+
});
|
|
2440
|
+
process.stdout.write("\r\x1B[K");
|
|
2441
|
+
const first = stats.modelFirstLoadMs ? ` (model load+first batch ${stats.modelFirstLoadMs}ms)` : "";
|
|
2442
|
+
console.log(theme.success(
|
|
2443
|
+
` \u2713 Embedded ${stats.symbolsEmbedded} symbols in ${stats.durationMs}ms${first}`
|
|
2444
|
+
));
|
|
2445
|
+
} catch (err) {
|
|
2446
|
+
process.stdout.write("\r\x1B[K");
|
|
2447
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
2448
|
+
ctx.renderer.renderError(`Semantic rebuild failed: ${msg}`);
|
|
2449
|
+
}
|
|
2412
2450
|
return;
|
|
2413
2451
|
}
|
|
2414
|
-
|
|
2452
|
+
if (sub === "semantic-clear") {
|
|
2453
|
+
clearVectorStore(root);
|
|
2454
|
+
console.log(theme.success(` \u2713 Cleared semantic index (symbol index preserved)`));
|
|
2455
|
+
return;
|
|
2456
|
+
}
|
|
2457
|
+
ctx.renderer.renderError(
|
|
2458
|
+
`Unknown subcommand: ${sub}. Use status/rebuild/clear/semantic-rebuild/semantic-clear.`
|
|
2459
|
+
);
|
|
2415
2460
|
}
|
|
2416
2461
|
},
|
|
2417
2462
|
// ── /commands ─────────────────────────────────────────────────
|
|
@@ -2450,7 +2495,7 @@ ${hint}` : "")
|
|
|
2450
2495
|
usage: "/test [command|filter]",
|
|
2451
2496
|
async execute(args, ctx) {
|
|
2452
2497
|
try {
|
|
2453
|
-
const { executeTests } = await import("./run-tests-
|
|
2498
|
+
const { executeTests } = await import("./run-tests-JBM4K5FO.js");
|
|
2454
2499
|
const argStr = args.join(" ").trim();
|
|
2455
2500
|
let testArgs = {};
|
|
2456
2501
|
if (argStr) {
|
|
@@ -6343,7 +6388,7 @@ program.command("web").description("Start Web UI server with browser-based chat
|
|
|
6343
6388
|
console.error("Error: Invalid port number. Must be between 1 and 65535.");
|
|
6344
6389
|
process.exit(1);
|
|
6345
6390
|
}
|
|
6346
|
-
const { startWebServer } = await import("./server-
|
|
6391
|
+
const { startWebServer } = await import("./server-GCE5V4SL.js");
|
|
6347
6392
|
await startWebServer({ port, host: options.host });
|
|
6348
6393
|
});
|
|
6349
6394
|
program.command("user [action] [username]").description("Manage Web UI users (list | create <name> | delete <name> | reset-password <name> | migrate <name>)").action(async (action, username) => {
|
|
@@ -6466,7 +6511,7 @@ program.command("sessions").description("List recent conversation sessions").act
|
|
|
6466
6511
|
});
|
|
6467
6512
|
program.command("batch <action> [arg] [arg2]").description("Anthropic Message Batches: submit | list | status <id> | results <id> [out] | cancel <id>").option("--dry-run", "Parse and validate input without submitting (submit only)").action(async (action, arg, arg2, options) => {
|
|
6468
6513
|
try {
|
|
6469
|
-
const batch = await import("./batch-
|
|
6514
|
+
const batch = await import("./batch-CDCTUTIQ.js");
|
|
6470
6515
|
switch (action) {
|
|
6471
6516
|
case "submit":
|
|
6472
6517
|
if (!arg) {
|
|
@@ -6626,7 +6671,7 @@ program.command("hub [topic]").description("Start multi-agent hub (discuss / bra
|
|
|
6626
6671
|
}),
|
|
6627
6672
|
config.get("customProviders")
|
|
6628
6673
|
);
|
|
6629
|
-
const { startHub } = await import("./hub-
|
|
6674
|
+
const { startHub } = await import("./hub-BIFM6NOM.js");
|
|
6630
6675
|
await startHub(
|
|
6631
6676
|
{
|
|
6632
6677
|
topic: topic ?? "",
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import {
|
|
2
|
+
buildEmbeddingText,
|
|
3
|
+
hasSemanticIndex,
|
|
4
|
+
rebuildSemanticIndex,
|
|
5
|
+
semanticSearch
|
|
6
|
+
} from "./chunk-UTCC3UMT.js";
|
|
7
|
+
import "./chunk-BJAT4GNC.js";
|
|
8
|
+
import "./chunk-XMA222FQ.js";
|
|
9
|
+
export {
|
|
10
|
+
buildEmbeddingText,
|
|
11
|
+
hasSemanticIndex,
|
|
12
|
+
rebuildSemanticIndex,
|
|
13
|
+
semanticSearch
|
|
14
|
+
};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import {
|
|
3
|
+
buildEmbeddingText,
|
|
4
|
+
hasSemanticIndex,
|
|
5
|
+
rebuildSemanticIndex,
|
|
6
|
+
semanticSearch
|
|
7
|
+
} from "./chunk-HPDDAXFY.js";
|
|
8
|
+
import "./chunk-6VRJGH25.js";
|
|
9
|
+
import "./chunk-PFYAAX2S.js";
|
|
10
|
+
export {
|
|
11
|
+
buildEmbeddingText,
|
|
12
|
+
hasSemanticIndex,
|
|
13
|
+
rebuildSemanticIndex,
|
|
14
|
+
semanticSearch
|
|
15
|
+
};
|
|
@@ -20,7 +20,10 @@ import {
|
|
|
20
20
|
persistToolRound,
|
|
21
21
|
rebuildExtraMessages,
|
|
22
22
|
setupProxy
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-GKDETNDH.js";
|
|
24
|
+
import {
|
|
25
|
+
ConfigManager
|
|
26
|
+
} from "./chunk-FCVQ6OP5.js";
|
|
24
27
|
import {
|
|
25
28
|
ToolExecutor,
|
|
26
29
|
ToolRegistry,
|
|
@@ -38,18 +41,14 @@ import {
|
|
|
38
41
|
spawnAgentContext,
|
|
39
42
|
truncateOutput,
|
|
40
43
|
undoStack
|
|
41
|
-
} from "./chunk-
|
|
44
|
+
} from "./chunk-EUE6VMGO.js";
|
|
45
|
+
import "./chunk-2ZD3YTVM.js";
|
|
42
46
|
import "./chunk-4BKXL7SM.js";
|
|
43
47
|
import "./chunk-NHNWUBXB.js";
|
|
48
|
+
import "./chunk-HPDDAXFY.js";
|
|
44
49
|
import "./chunk-6VRJGH25.js";
|
|
45
|
-
import "./chunk-
|
|
46
|
-
import
|
|
47
|
-
AuthManager
|
|
48
|
-
} from "./chunk-BYNY5JPB.js";
|
|
49
|
-
import {
|
|
50
|
-
ConfigManager
|
|
51
|
-
} from "./chunk-H4DQNZZ6.js";
|
|
52
|
-
import "./chunk-2ZD3YTVM.js";
|
|
50
|
+
import "./chunk-PFYAAX2S.js";
|
|
51
|
+
import "./chunk-KHYHG2SO.js";
|
|
53
52
|
import {
|
|
54
53
|
AGENTIC_BEHAVIOR_GUIDELINE,
|
|
55
54
|
AUTHOR,
|
|
@@ -68,7 +67,10 @@ import {
|
|
|
68
67
|
SKILLS_DIR_NAME,
|
|
69
68
|
VERSION,
|
|
70
69
|
buildUserIdentityPrompt
|
|
71
|
-
} from "./chunk-
|
|
70
|
+
} from "./chunk-HELGL4RH.js";
|
|
71
|
+
import {
|
|
72
|
+
AuthManager
|
|
73
|
+
} from "./chunk-BYNY5JPB.js";
|
|
72
74
|
|
|
73
75
|
// src/web/server.ts
|
|
74
76
|
import express from "express";
|
|
@@ -1481,7 +1483,7 @@ Tokens: in=${this.sessionTokenUsage.inputTokens} out=${this.sessionTokenUsage.ou
|
|
|
1481
1483
|
" /checkpoint [save|restore|delete] <name> \u2014 Session checkpoints",
|
|
1482
1484
|
" /fork [checkpoint] \u2014 Fork session from checkpoint or current",
|
|
1483
1485
|
" /branch [list|new|switch|delete|rename] \u2014 Manage conversation branches",
|
|
1484
|
-
" /index [status|rebuild|clear] \u2014 Symbol index
|
|
1486
|
+
" /index [status|rebuild|clear|semantic-rebuild|semantic-clear] \u2014 Symbol + semantic index (find_symbol / search_code)",
|
|
1485
1487
|
" /review [--staged] \u2014 AI code review from git diff",
|
|
1486
1488
|
" /security-review \u2014 Security vulnerability scan on git diff",
|
|
1487
1489
|
" /rewind [list|<n>] \u2014 Rewind conversation & restore files to checkpoint",
|
|
@@ -1907,11 +1909,14 @@ ${undoResults.map((r) => ` \u2022 ${r}`).join("\n")}` });
|
|
|
1907
1909
|
const root = process.cwd();
|
|
1908
1910
|
const { loadIndex, clearIndex } = await import("./store-S24SPPDZ.js");
|
|
1909
1911
|
const { indexProject } = await import("./indexer-C7QYYHSZ.js");
|
|
1912
|
+
const { loadVectorStore, clearVectorStore } = await import("./vector-store-YTVHACBV.js");
|
|
1910
1913
|
if (sub === "status") {
|
|
1911
1914
|
const idx = loadIndex(root);
|
|
1915
|
+
const vec = loadVectorStore(root);
|
|
1912
1916
|
if (!idx) {
|
|
1913
1917
|
this.send({ type: "info", message: `No symbol index for ${root}. Run /index rebuild.` });
|
|
1914
1918
|
} else {
|
|
1919
|
+
const semantic = vec ? `${vec.count} vectors \xD7 ${vec.dim}-dim` : "not built \u2014 run /index semantic-rebuild to enable search_code";
|
|
1915
1920
|
this.send({
|
|
1916
1921
|
type: "info",
|
|
1917
1922
|
message: [
|
|
@@ -1919,7 +1924,8 @@ ${undoResults.map((r) => ` \u2022 ${r}`).join("\n")}` });
|
|
|
1919
1924
|
` Root: ${idx.root}`,
|
|
1920
1925
|
` Generated: ${idx.generated}`,
|
|
1921
1926
|
` Files: ${idx.fileCount}`,
|
|
1922
|
-
` Symbols: ${idx.symbolCount}
|
|
1927
|
+
` Symbols: ${idx.symbolCount}`,
|
|
1928
|
+
` Semantic: ${semantic}`
|
|
1923
1929
|
].join("\n")
|
|
1924
1930
|
});
|
|
1925
1931
|
}
|
|
@@ -1932,9 +1938,38 @@ ${undoResults.map((r) => ` \u2022 ${r}`).join("\n")}` });
|
|
|
1932
1938
|
});
|
|
1933
1939
|
} else if (sub === "clear") {
|
|
1934
1940
|
clearIndex(root);
|
|
1935
|
-
|
|
1941
|
+
clearVectorStore(root);
|
|
1942
|
+
this.send({ type: "info", message: `\u2713 Cleared symbol + semantic index for ${root}` });
|
|
1943
|
+
} else if (sub === "semantic-rebuild") {
|
|
1944
|
+
const idx = loadIndex(root);
|
|
1945
|
+
if (!idx) {
|
|
1946
|
+
this.send({ type: "error", message: "No symbol index yet. Run /index rebuild first." });
|
|
1947
|
+
break;
|
|
1948
|
+
}
|
|
1949
|
+
this.send({
|
|
1950
|
+
type: "info",
|
|
1951
|
+
message: `Building semantic index for ${idx.symbolCount} symbols\u2026 (first run downloads ~117 MB model)`
|
|
1952
|
+
});
|
|
1953
|
+
try {
|
|
1954
|
+
const { rebuildSemanticIndex } = await import("./semantic-RBWU76MD.js");
|
|
1955
|
+
const stats = await rebuildSemanticIndex(root);
|
|
1956
|
+
const first = stats.modelFirstLoadMs ? ` (model load+first batch ${stats.modelFirstLoadMs}ms)` : "";
|
|
1957
|
+
this.send({
|
|
1958
|
+
type: "info",
|
|
1959
|
+
message: `\u2713 Embedded ${stats.symbolsEmbedded} symbols in ${stats.durationMs}ms${first}`
|
|
1960
|
+
});
|
|
1961
|
+
} catch (err) {
|
|
1962
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
1963
|
+
this.send({ type: "error", message: `Semantic rebuild failed: ${msg}` });
|
|
1964
|
+
}
|
|
1965
|
+
} else if (sub === "semantic-clear") {
|
|
1966
|
+
clearVectorStore(root);
|
|
1967
|
+
this.send({ type: "info", message: "\u2713 Cleared semantic index (symbol index preserved)" });
|
|
1936
1968
|
} else {
|
|
1937
|
-
this.send({
|
|
1969
|
+
this.send({
|
|
1970
|
+
type: "error",
|
|
1971
|
+
message: `Unknown subcommand: ${sub}. Use status/rebuild/clear/semantic-rebuild/semantic-clear.`
|
|
1972
|
+
});
|
|
1938
1973
|
}
|
|
1939
1974
|
break;
|
|
1940
1975
|
}
|
|
@@ -2103,7 +2138,7 @@ ${undoResults.map((r) => ` \u2022 ${r}`).join("\n")}` });
|
|
|
2103
2138
|
case "test": {
|
|
2104
2139
|
this.send({ type: "info", message: "\u{1F9EA} Running tests..." });
|
|
2105
2140
|
try {
|
|
2106
|
-
const { executeTests } = await import("./run-tests-
|
|
2141
|
+
const { executeTests } = await import("./run-tests-JBM4K5FO.js");
|
|
2107
2142
|
const argStr = args.join(" ").trim();
|
|
2108
2143
|
let testArgs = {};
|
|
2109
2144
|
if (argStr) {
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import {
|
|
3
|
+
clearIndex,
|
|
4
|
+
emptyIndex,
|
|
5
|
+
loadIndex,
|
|
6
|
+
removeFile,
|
|
7
|
+
saveIndex,
|
|
8
|
+
upsertFileSymbols
|
|
9
|
+
} from "./chunk-6VRJGH25.js";
|
|
10
|
+
export {
|
|
11
|
+
clearIndex,
|
|
12
|
+
emptyIndex,
|
|
13
|
+
loadIndex,
|
|
14
|
+
removeFile,
|
|
15
|
+
saveIndex,
|
|
16
|
+
upsertFileSymbols
|
|
17
|
+
};
|
|
@@ -4,15 +4,17 @@ import {
|
|
|
4
4
|
getDangerLevel,
|
|
5
5
|
googleSearchContext,
|
|
6
6
|
truncateOutput
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-EUE6VMGO.js";
|
|
8
|
+
import "./chunk-2ZD3YTVM.js";
|
|
8
9
|
import "./chunk-4BKXL7SM.js";
|
|
9
10
|
import "./chunk-NHNWUBXB.js";
|
|
11
|
+
import "./chunk-HPDDAXFY.js";
|
|
10
12
|
import "./chunk-6VRJGH25.js";
|
|
11
|
-
import "./chunk-
|
|
12
|
-
import "./chunk-
|
|
13
|
+
import "./chunk-PFYAAX2S.js";
|
|
14
|
+
import "./chunk-KHYHG2SO.js";
|
|
13
15
|
import {
|
|
14
16
|
SUBAGENT_ALLOWED_TOOLS
|
|
15
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-HELGL4RH.js";
|
|
16
18
|
|
|
17
19
|
// src/hub/task-orchestrator.ts
|
|
18
20
|
import { createInterface } from "readline";
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import {
|
|
2
|
+
clearVectorStore,
|
|
3
|
+
emptyVectorStore,
|
|
4
|
+
loadVectorStore,
|
|
5
|
+
saveVectorStore,
|
|
6
|
+
searchVectorStore
|
|
7
|
+
} from "./chunk-XMA222FQ.js";
|
|
8
|
+
export {
|
|
9
|
+
clearVectorStore,
|
|
10
|
+
emptyVectorStore,
|
|
11
|
+
loadVectorStore,
|
|
12
|
+
saveVectorStore,
|
|
13
|
+
searchVectorStore
|
|
14
|
+
};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import {
|
|
3
|
+
clearVectorStore,
|
|
4
|
+
emptyVectorStore,
|
|
5
|
+
loadVectorStore,
|
|
6
|
+
saveVectorStore,
|
|
7
|
+
searchVectorStore
|
|
8
|
+
} from "./chunk-PFYAAX2S.js";
|
|
9
|
+
export {
|
|
10
|
+
clearVectorStore,
|
|
11
|
+
emptyVectorStore,
|
|
12
|
+
loadVectorStore,
|
|
13
|
+
saveVectorStore,
|
|
14
|
+
searchVectorStore
|
|
15
|
+
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "jinzd-ai-cli",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.78",
|
|
4
4
|
"description": "Cross-platform REPL-style AI CLI with multi-provider support",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -53,15 +53,7 @@
|
|
|
53
53
|
"node": ">=20.0.0"
|
|
54
54
|
},
|
|
55
55
|
"files": [
|
|
56
|
-
"dist
|
|
57
|
-
"dist/chunk-*.js",
|
|
58
|
-
"dist/server-*.js",
|
|
59
|
-
"dist/auth-*.js",
|
|
60
|
-
"dist/run-tests-*.js",
|
|
61
|
-
"dist/hub-*.js",
|
|
62
|
-
"dist/hub-server-*.js",
|
|
63
|
-
"dist/agent-client-*.js",
|
|
64
|
-
"dist/task-orchestrator-*.js",
|
|
56
|
+
"dist/*.js",
|
|
65
57
|
"dist/web/",
|
|
66
58
|
"dist/wasm/",
|
|
67
59
|
"README.md"
|
|
@@ -88,6 +80,7 @@
|
|
|
88
80
|
"dependencies": {
|
|
89
81
|
"@anthropic-ai/sdk": "^0.39.0",
|
|
90
82
|
"@google/generative-ai": "^0.24.0",
|
|
83
|
+
"@huggingface/transformers": "^4.1.0",
|
|
91
84
|
"@inquirer/prompts": "^7.0.0",
|
|
92
85
|
"chalk": "^5.4.1",
|
|
93
86
|
"commander": "^13.0.0",
|