deepseeker-code 1.0.48 → 1.0.49
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/cli.mjs +20 -7
- package/package.json +1 -1
package/dist/cli.mjs
CHANGED
|
@@ -666,7 +666,7 @@ ${body}`;
|
|
|
666
666
|
const oldBody = next?.index !== void 0 ? after.slice(0, next.index) : after;
|
|
667
667
|
if (oldBody === `
|
|
668
668
|
${body}`) return;
|
|
669
|
-
console.warn(`\u26A0\uFE0F ${fence} \u5DF2\u9501\u5B9A\
|
|
669
|
+
console.warn(`\u26A0\uFE0F ${fence} \u5DF2\u9501\u5B9A\uFF08run \u5185\u4E0D\u53D8\u4EE5\u4FDD\u524D\u7F00\u7F13\u5B58\uFF09\uFF0C\u5185\u5BB9\u53D8\u5316\u5C06\u4E8E\u4E0B\u8F6E\u91CD\u5EFA message[0] \u65F6\u751F\u6548\u3002`);
|
|
670
670
|
};
|
|
671
671
|
decodeProcessOutput = (buf) => {
|
|
672
672
|
const utf8 = buf.toString("utf8");
|
|
@@ -5068,7 +5068,7 @@ var init_workflow = __esm({
|
|
|
5068
5068
|
// ../core/src/tool/tsHost.ts
|
|
5069
5069
|
import fsSync3 from "fs";
|
|
5070
5070
|
import path15 from "path";
|
|
5071
|
-
var _ts, _tsTried, getTs, buildDefaultOptions, findTsConfigBounded, resolveTsConfig, createProjectHost, lsCache, getLanguageService, realpathNative, posToLineCol, lineColToPos;
|
|
5071
|
+
var _ts, _tsTried, getTs, buildDefaultOptions, findTsConfigBounded, resolveTsConfig, createProjectHost, lsCache, getLanguageService, realpathNative, posToLineCol, SUPPORTED_SOURCE_EXTS, checkSupportedSourceExt, lineColToPos;
|
|
5072
5072
|
var init_tsHost = __esm({
|
|
5073
5073
|
"../core/src/tool/tsHost.ts"() {
|
|
5074
5074
|
"use strict";
|
|
@@ -5214,6 +5214,12 @@ var init_tsHost = __esm({
|
|
|
5214
5214
|
const { line, character } = ts.getLineAndCharacterOfPosition(sf, pos);
|
|
5215
5215
|
return { line: line + 1, column: character + 1 };
|
|
5216
5216
|
};
|
|
5217
|
+
SUPPORTED_SOURCE_EXTS = /* @__PURE__ */ new Set([".ts", ".tsx", ".js", ".jsx", ".mjs", ".cjs"]);
|
|
5218
|
+
checkSupportedSourceExt = (displayPath) => {
|
|
5219
|
+
const ext = path15.extname(displayPath).toLowerCase();
|
|
5220
|
+
if (SUPPORTED_SOURCE_EXTS.has(ext)) return null;
|
|
5221
|
+
return `\u274C [\u6587\u4EF6\u7C7B\u578B\u4E0D\u652F\u6301]\uFF1A[${displayPath}] \u7684\u6269\u5C55\u540D ${ext || "(\u65E0)"} \u4E0D\u5728 TS \u5F15\u64CE\u652F\u6301\u8303\u56F4\uFF08\u4EC5 .ts/.tsx/.js/.jsx/.mjs/.cjs\uFF09\u3002\u8BF7\u6539\u7528 read_file/grep \u67E5\u770B\u5185\u5BB9\uFF1B\u7F16\u8BD1/\u7C7B\u578B\u7C7B\u9A8C\u8BC1\u7528 run_command \u8DD1\u5BF9\u5E94\u8BED\u8A00\u5DE5\u5177\u94FE\uFF08\u5982 mvn compile / tsc --noEmit\uFF09\u3002`;
|
|
5222
|
+
};
|
|
5217
5223
|
lineColToPos = (ts, sf, line1, col1) => ts.getPositionOfLineAndCharacter(sf, Math.max(0, line1 - 1), Math.max(0, col1 - 1));
|
|
5218
5224
|
}
|
|
5219
5225
|
});
|
|
@@ -5816,7 +5822,7 @@ ${summaries.join("\n")}`;
|
|
|
5816
5822
|
type: "function",
|
|
5817
5823
|
function: {
|
|
5818
5824
|
name: "view_symbol_outline",
|
|
5819
|
-
description: "\u901A\u8FC7\u62BD\u8C61\u8BED\u6CD5\u6811(AST)\u5FEB\u901F\u63D0\u53D6\u6307\u5B9A\u6587\u4EF6\u4E2D\u7684\u7B26\u53F7\u5927\u7EB2\uFF08\u7C7B\u3001\u63A5\u53E3\u3001\u51FD\u6570\u540D\u3001\u5BFC\u51FA\u9879\u3001\u5165\u53C2\u7B7E\u540D\u7B49\uFF09\u3002\u9002\u5408\u5728\u4E0D\u8BFB\u53D6\u51E0\u5343\u884C\u5177\u4F53\u4EE3\u7801\u7684\u524D\u63D0\u4E0B\uFF0C\u5B8F\u89C2\u4E86\u89E3\u6587\u4EF6\u67B6\u6784\u3002",
|
|
5825
|
+
description: "\u901A\u8FC7\u62BD\u8C61\u8BED\u6CD5\u6811(AST)\u5FEB\u901F\u63D0\u53D6\u6307\u5B9A TS/JS \u6E90\u6587\u4EF6\u4E2D\u7684\u7B26\u53F7\u5927\u7EB2\uFF08\u7C7B\u3001\u63A5\u53E3\u3001\u51FD\u6570\u540D\u3001\u5BFC\u51FA\u9879\u3001\u5165\u53C2\u7B7E\u540D\u7B49\uFF09\u3002\u9002\u5408\u5728\u4E0D\u8BFB\u53D6\u51E0\u5343\u884C\u5177\u4F53\u4EE3\u7801\u7684\u524D\u63D0\u4E0B\uFF0C\u5B8F\u89C2\u4E86\u89E3\u6587\u4EF6\u67B6\u6784\u3002\u4EC5\u652F\u6301 .ts/.tsx/.js/.jsx/.mjs/.cjs\uFF1B\u5176\u4ED6\u7C7B\u578B\u6587\u4EF6\uFF08.java/.vue/.py \u7B49\uFF09\u76F4\u63A5\u62D2\u7EDD\uFF0C\u8BF7\u6539\u7528 read_file\u3002",
|
|
5820
5826
|
parameters: {
|
|
5821
5827
|
type: "object",
|
|
5822
5828
|
properties: {
|
|
@@ -5832,6 +5838,8 @@ ${summaries.join("\n")}`;
|
|
|
5832
5838
|
const absPath = resolveReadablePath(args.path);
|
|
5833
5839
|
const readBlock = await assertReadable(absPath, args.path);
|
|
5834
5840
|
if (readBlock) return readBlock;
|
|
5841
|
+
const extBlock = checkSupportedSourceExt(args.path);
|
|
5842
|
+
if (extBlock) return extBlock;
|
|
5835
5843
|
const statForSize = await fs12.stat(absPath);
|
|
5836
5844
|
if (statForSize.size > 1024 * 1024) {
|
|
5837
5845
|
return `\u26A0\uFE0F [\u6587\u4EF6\u8FC7\u5927]\uFF1A[${args.path}] \u7EA6 ${Math.round(statForSize.size / 1024)}KB\uFF0C\u8D85\u8FC7\u7B26\u53F7\u5927\u7EB2\u5206\u6790\u7684 1MB \u4E0A\u9650\uFF08\u9632\u5168\u91CF readFile + AST \u9A7B\u7559\u5403\u5185\u5B58\uFF09\u3002\u8BF7\u6539\u7528 read_file \u5206\u7247\u67E5\u770B\uFF0C\u6216\u7F29\u5C0F\u76EE\u6807\u6587\u4EF6\u3002`;
|
|
@@ -7374,6 +7382,8 @@ var init_typescript = __esm({
|
|
|
7374
7382
|
precheck = async (displayPath, absPath) => {
|
|
7375
7383
|
const readBlock = await assertReadable(absPath, displayPath);
|
|
7376
7384
|
if (readBlock) return readBlock;
|
|
7385
|
+
const extBlock = checkSupportedSourceExt(displayPath);
|
|
7386
|
+
if (extBlock) return extBlock;
|
|
7377
7387
|
const stat = await fs16.stat(absPath);
|
|
7378
7388
|
if (stat.size > MAX_FILE_BYTES) {
|
|
7379
7389
|
return `\u26A0\uFE0F [\u6587\u4EF6\u8FC7\u5927]\uFF1A[${displayPath}] \u7EA6 ${Math.round(stat.size / 1024)}KB\uFF0C\u8D85\u8FC7 ${MAX_FILE_BYTES / 1024}KB \u4E0A\u9650\uFF08\u9632\u5168\u91CF type-check \u5403\u5185\u5B58\uFF09\u3002`;
|
|
@@ -7436,7 +7446,7 @@ ${body}${tail}` };
|
|
|
7436
7446
|
type: "function",
|
|
7437
7447
|
function: {
|
|
7438
7448
|
name: "get_diagnostics",
|
|
7439
|
-
description: "\u5BF9\u4E00\u4E2A\u6216\u591A\u4E2A TS/JS \u6587\u4EF6\u53D6 TypeScript \u8BED\u6CD5 + \u8BED\u4E49\u8BCA\u65AD\uFF08\u7C7B\u578B\u9519\u8BEF\u3001\u672A\u7528\u53D8\u91CF\u3001\u4E0D\u53EF\u8FBE\u4EE3\u7801\u7B49\uFF09\uFF0C\u8F93\u51FA\u5E26\u884C\u53F7/\u5217/\u4E25\u91CD\u5EA6/TS \u9519\u8BEF\u7801\uFF0C\u683C\u5F0F\u5BF9\u9F50 tsc\u3002\u7528\u4E8E\u7CBE\u51C6\u5B9A\u4F4D\u7F16\u8BD1/\u7C7B\u578B\u95EE\u9898\uFF0C\u66FF\u4EE3\u624B\u52A8\u8DD1 tsc \u518D\u89E3\u6790\u8F93\u51FA\u3002\u2605 \u6539\u5B8C\u591A\u4E2A\u6587\u4EF6\u540E\u9A8C\u8BC1\uFF1A\u4F20 paths \u6570\u7EC4\u4E00\u6B21\u8BCA\u65AD\u5168\u90E8\uFF08\u6700\u591A 20 \u4E2A\uFF09\uFF0C\u52FF\u9010\u6587\u4EF6\u591A\u6B21\u8C03\u7528\u3002\u652F\u6301 .ts/.tsx/.js/.jsx/.mjs/.cjs\uFF1B.vue SFC \u4E0D\u652F\u6301\uFF08\u9700 vue-tsc\uFF09\u3002\u9879\u76EE\u7EA7\u5168\u91CF\u8BCA\u65AD\u8BF7\u7528 run_command \u8DD1 `tsc --noEmit`\u3002\u4F9D\u8D56 typescript \u6A21\u5757\uFF08VSCode \u6269\u5C55\u5185\u53EF\u7528\uFF1B\u7F3A\u5931\u5219\u672C\u5DE5\u5177\u81EA\u52A8\u9690\u85CF\uFF09\u3002",
|
|
7449
|
+
description: "\u5BF9\u4E00\u4E2A\u6216\u591A\u4E2A TS/JS \u6587\u4EF6\u53D6 TypeScript \u8BED\u6CD5 + \u8BED\u4E49\u8BCA\u65AD\uFF08\u7C7B\u578B\u9519\u8BEF\u3001\u672A\u7528\u53D8\u91CF\u3001\u4E0D\u53EF\u8FBE\u4EE3\u7801\u7B49\uFF09\uFF0C\u8F93\u51FA\u5E26\u884C\u53F7/\u5217/\u4E25\u91CD\u5EA6/TS \u9519\u8BEF\u7801\uFF0C\u683C\u5F0F\u5BF9\u9F50 tsc\u3002\u7528\u4E8E\u7CBE\u51C6\u5B9A\u4F4D\u7F16\u8BD1/\u7C7B\u578B\u95EE\u9898\uFF0C\u66FF\u4EE3\u624B\u52A8\u8DD1 tsc \u518D\u89E3\u6790\u8F93\u51FA\u3002\u2605 \u6539\u5B8C\u591A\u4E2A\u6587\u4EF6\u540E\u9A8C\u8BC1\uFF1A\u4F20 paths \u6570\u7EC4\u4E00\u6B21\u8BCA\u65AD\u5168\u90E8\uFF08\u6700\u591A 20 \u4E2A\uFF09\uFF0C\u52FF\u9010\u6587\u4EF6\u591A\u6B21\u8C03\u7528\u3002\u652F\u6301 .ts/.tsx/.js/.jsx/.mjs/.cjs\uFF1B.vue SFC \u4E0D\u652F\u6301\uFF08\u9700 vue-tsc\uFF09\uFF0C\u5176\u4F59\u6269\u5C55\u540D\uFF08.java/.py/.go \u7B49\uFF09\u76F4\u63A5\u62D2\u7EDD\u3001\u52FF\u4F20\u5165\u3002\u9879\u76EE\u7EA7\u5168\u91CF\u8BCA\u65AD\u8BF7\u7528 run_command \u8DD1 `tsc --noEmit`\u3002\u4F9D\u8D56 typescript \u6A21\u5757\uFF08VSCode \u6269\u5C55\u5185\u53EF\u7528\uFF1B\u7F3A\u5931\u5219\u672C\u5DE5\u5177\u81EA\u52A8\u9690\u85CF\uFF09\u3002",
|
|
7440
7450
|
parameters: {
|
|
7441
7451
|
type: "object",
|
|
7442
7452
|
properties: {
|
|
@@ -7491,7 +7501,7 @@ ${sections.join("\n\n")}`;
|
|
|
7491
7501
|
type: "function",
|
|
7492
7502
|
function: {
|
|
7493
7503
|
name: "goto_definition",
|
|
7494
|
-
description: "\u8DF3\u8F6C\u5230\u6307\u5B9A TS/JS \u6587\u4EF6\u67D0\u884C\u67D0\u5217\u7B26\u53F7\u7684\u5B9A\u4E49\u4F4D\u7F6E\uFF0C\u8FD4\u56DE rel/path:line:col\uFF08\u53EF\u591A\u5904\uFF09\u3002\u7528\u4E8E\u8DE8\u6587\u4EF6\u8FFD\u8E2A\u51FD\u6570/\u7C7B\u578B/\u53D8\u91CF\u7684\u6765\u6E90\uFF0C\u66FF\u4EE3 grep \u731C\u6D4B\u3002\u652F\u6301 .ts/.tsx/.js/.jsx/.mjs/.cjs\uFF1B.vue SFC \u4E0D\u652F\u6301\u3002\u843D\u70B9\u5728 node_modules \u6216 .d.ts \u65F6\u6807\u6CE8 (declaration/library)\u3002\u884C/\u5217\u4E3A 1-based\uFF08\u4E0E\u7F16\u8F91\u5668\u4E00\u81F4\uFF09\u3002\u4F9D\u8D56 typescript \u6A21\u5757\uFF08VSCode \u6269\u5C55\u5185\u53EF\u7528\uFF1B\u7F3A\u5931\u5219\u672C\u5DE5\u5177\u81EA\u52A8\u9690\u85CF\uFF09\u3002",
|
|
7504
|
+
description: "\u8DF3\u8F6C\u5230\u6307\u5B9A TS/JS \u6587\u4EF6\u67D0\u884C\u67D0\u5217\u7B26\u53F7\u7684\u5B9A\u4E49\u4F4D\u7F6E\uFF0C\u8FD4\u56DE rel/path:line:col\uFF08\u53EF\u591A\u5904\uFF09\u3002\u7528\u4E8E\u8DE8\u6587\u4EF6\u8FFD\u8E2A\u51FD\u6570/\u7C7B\u578B/\u53D8\u91CF\u7684\u6765\u6E90\uFF0C\u66FF\u4EE3 grep \u731C\u6D4B\u3002\u652F\u6301 .ts/.tsx/.js/.jsx/.mjs/.cjs\uFF1B.vue SFC \u4E0D\u652F\u6301\uFF0C\u5176\u4F59\u6269\u5C55\u540D\uFF08.java/.py/.go \u7B49\uFF09\u76F4\u63A5\u62D2\u7EDD\u3001\u52FF\u4F20\u5165\u3002\u843D\u70B9\u5728 node_modules \u6216 .d.ts \u65F6\u6807\u6CE8 (declaration/library)\u3002\u884C/\u5217\u4E3A 1-based\uFF08\u4E0E\u7F16\u8F91\u5668\u4E00\u81F4\uFF09\u3002\u4F9D\u8D56 typescript \u6A21\u5757\uFF08VSCode \u6269\u5C55\u5185\u53EF\u7528\uFF1B\u7F3A\u5931\u5219\u672C\u5DE5\u5177\u81EA\u52A8\u9690\u85CF\uFF09\u3002",
|
|
7495
7505
|
parameters: {
|
|
7496
7506
|
type: "object",
|
|
7497
7507
|
properties: {
|
|
@@ -11374,9 +11384,12 @@ var init_loader4 = __esm({
|
|
|
11374
11384
|
};
|
|
11375
11385
|
parseStdoutDecision = (stdout) => {
|
|
11376
11386
|
const s = (stdout ?? "").trim();
|
|
11377
|
-
if (!s
|
|
11387
|
+
if (!s) return void 0;
|
|
11388
|
+
const match = s.match(/\{[\s\S]*\}$/);
|
|
11389
|
+
if (!match) return void 0;
|
|
11390
|
+
const jsonStr = match[0];
|
|
11378
11391
|
try {
|
|
11379
|
-
const parsed = JSON.parse(
|
|
11392
|
+
const parsed = JSON.parse(jsonStr);
|
|
11380
11393
|
if (!parsed || typeof parsed !== "object" || Array.isArray(parsed)) return void 0;
|
|
11381
11394
|
const out = {};
|
|
11382
11395
|
if (parsed.deny === true) {
|