reasonix 0.48.0 → 0.49.0
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 +9 -0
- package/dashboard/dist/app.js +123 -16
- package/dashboard/dist/app.js.map +1 -1
- package/dist/cli/{acp-4ROCGYNH.js → acp-WFQIC6SO.js} +52 -135
- package/dist/cli/acp-WFQIC6SO.js.map +1 -0
- package/dist/cli/chat-D32JGNVH.js +51 -0
- package/dist/cli/{chunk-S2RMQULY.js → chunk-23ZPCIPR.js} +12 -9
- package/dist/cli/chunk-23ZPCIPR.js.map +1 -0
- package/dist/cli/{chunk-TKVXTQ3T.js → chunk-3ZZXQ3CZ.js} +27 -27
- package/dist/cli/chunk-3ZZXQ3CZ.js.map +1 -0
- package/dist/cli/{chunk-5OHHAQ4W.js → chunk-7AST3QQ3.js} +2 -2
- package/dist/cli/{chunk-MRZG4GBF.js → chunk-7JTKBJ2G.js} +3 -3
- package/dist/cli/{chunk-X53B3JIX.js → chunk-7X4JJOO7.js} +2 -61
- package/dist/cli/{chunk-X53B3JIX.js.map → chunk-7X4JJOO7.js.map} +1 -1
- package/dist/cli/{chunk-MOJYKO2A.js → chunk-ASOLXV67.js} +3 -3
- package/dist/cli/{chunk-7M4YYMKW.js → chunk-AWEULQG6.js} +49 -56
- package/dist/cli/{chunk-7M4YYMKW.js.map → chunk-AWEULQG6.js.map} +1 -1
- package/dist/cli/{chunk-HR5NBKEM.js → chunk-DFX5ZH5L.js} +2 -2
- package/dist/cli/{chunk-3WGTGXO4.js → chunk-GNS7BAT2.js} +4 -4
- package/dist/cli/chunk-GNS7BAT2.js.map +1 -0
- package/dist/cli/{chunk-TE5UIIFL.js → chunk-J2IHQGPQ.js} +12 -6
- package/dist/cli/chunk-J2IHQGPQ.js.map +1 -0
- package/dist/cli/{chunk-I4M5QJNL.js → chunk-JGTX4RRQ.js} +3 -3
- package/dist/cli/{chunk-FY4S7TJZ.js → chunk-JNTMOX7G.js} +10 -2
- package/dist/cli/chunk-JNTMOX7G.js.map +1 -0
- package/dist/cli/{chunk-OB4BUJBL.js → chunk-MGTBP7GG.js} +5 -2
- package/dist/cli/chunk-MGTBP7GG.js.map +1 -0
- package/dist/cli/{chunk-OPYALNTT.js → chunk-MQWO32ZD.js} +387 -184
- package/dist/cli/chunk-MQWO32ZD.js.map +1 -0
- package/dist/cli/{chunk-2QSTA2QV.js → chunk-O5LIHAMP.js} +8 -4
- package/dist/cli/chunk-O5LIHAMP.js.map +1 -0
- package/dist/cli/{chunk-NMQSUNLB.js → chunk-PB3MAFEI.js} +6 -3
- package/dist/cli/chunk-PB3MAFEI.js.map +1 -0
- package/dist/cli/{chunk-H4CCXMDD.js → chunk-PEMG6CUB.js} +2 -2
- package/dist/cli/{chunk-RUDBUHO4.js → chunk-PXBQ6IZ7.js} +3 -3
- package/dist/cli/{chunk-J2TQAWOM.js → chunk-Q46B3Z7H.js} +25 -10
- package/dist/cli/{chunk-J2TQAWOM.js.map → chunk-Q46B3Z7H.js.map} +1 -1
- package/dist/cli/{chunk-6MZTZO7A.js → chunk-QF32ROX2.js} +2152 -2613
- package/dist/cli/chunk-QF32ROX2.js.map +1 -0
- package/dist/cli/{chunk-OG5JANQ4.js → chunk-QX5TWXRZ.js} +2 -2
- package/dist/cli/{chunk-V4Y732RQ.js → chunk-TAIKVL35.js} +2 -2
- package/dist/cli/{chunk-B5CZL2SE.js → chunk-TEDWJKEI.js} +4 -9
- package/dist/cli/chunk-TEDWJKEI.js.map +1 -0
- package/dist/cli/{chunk-EMMENC4O.js → chunk-U5XQDCK7.js} +5 -5
- package/dist/cli/{chunk-DOWEOA6E.js → chunk-W46ZMNKO.js} +3 -3
- package/dist/cli/{chunk-CDVSFSAK.js → chunk-WMTMMSXU.js} +184 -8
- package/dist/cli/chunk-WMTMMSXU.js.map +1 -0
- package/dist/cli/{chunk-YW63N3ZR.js → chunk-YEF7C4XI.js} +270 -96
- package/dist/cli/chunk-YEF7C4XI.js.map +1 -0
- package/dist/cli/{chunk-JMDE6IO3.js → chunk-ZAEJWKXB.js} +2 -2
- package/dist/cli/chunk-ZWHSHFDP.js +6173 -0
- package/dist/cli/chunk-ZWHSHFDP.js.map +1 -0
- package/dist/cli/{code-PMPJWXEO.js → code-R4IHI7SR.js} +30 -30
- package/dist/cli/{commands-QS6TG4G3.js → commands-DRHFCYMO.js} +4 -4
- package/dist/cli/{commit-XPRSKUBF.js → commit-AG5KB4YP.js} +3 -3
- package/dist/cli/{desktop-562OPWIU.js → desktop-JGL6GORA.js} +60 -23
- package/dist/cli/desktop-JGL6GORA.js.map +1 -0
- package/dist/cli/{diff-I6W4AUWJ.js → diff-4Z7ETWZO.js} +9 -9
- package/dist/cli/{doctor-6XVZKT4U.js → doctor-VA3RHQLB.js} +9 -9
- package/dist/cli/index.js +37 -36
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/{mcp-7W7ANO2Y.js → mcp-LZO4HXFA.js} +34 -23
- package/dist/cli/mcp-LZO4HXFA.js.map +1 -0
- package/dist/cli/{mcp-browse-LA4I4YIZ.js → mcp-browse-C3GXVMYZ.js} +3 -3
- package/dist/cli/{mcp-inspect-LWXXU7BY.js → mcp-inspect-ZMYUNFDS.js} +2 -2
- package/dist/cli/{prompt-RKZD4X6Y.js → prompt-MC3U5KRP.js} +5 -4
- package/dist/cli/{prune-sessions-SEWX7GP6.js → prune-sessions-OEPFH4N6.js} +11 -7
- package/dist/cli/prune-sessions-OEPFH4N6.js.map +1 -0
- package/dist/cli/{replay-2X7MVXOI.js → replay-4TP7ZUMZ.js} +10 -10
- package/dist/cli/{run-TPKXIJ27.js → run-6MXQYBOE.js} +16 -15
- package/dist/cli/run-6MXQYBOE.js.map +1 -0
- package/dist/cli/{server-NHQ3QXOZ.js → server-Z3IMJNNI.js} +65 -12
- package/dist/cli/server-Z3IMJNNI.js.map +1 -0
- package/dist/cli/{sessions-2A4DGSHA.js → sessions-NXQ5SAV7.js} +18 -18
- package/dist/cli/sessions-NXQ5SAV7.js.map +1 -0
- package/dist/cli/{setup-GOLP7J4C.js → setup-LHZELI6I.js} +6 -6
- package/dist/cli/{stats-CGDAFDKI.js → stats-SUIJ3QWY.js} +6 -6
- package/dist/cli/{version-FIL4ZFOS.js → version-BIFONEUB.js} +13 -13
- package/dist/index.d.ts +71 -17
- package/dist/index.js +1040 -391
- package/dist/index.js.map +1 -1
- package/package.json +6 -2
- package/dist/cli/acp-4ROCGYNH.js.map +0 -1
- package/dist/cli/chat-GZNB5625.js +0 -51
- package/dist/cli/chunk-2QSTA2QV.js.map +0 -1
- package/dist/cli/chunk-3WGTGXO4.js.map +0 -1
- package/dist/cli/chunk-6MZTZO7A.js.map +0 -1
- package/dist/cli/chunk-B5CZL2SE.js.map +0 -1
- package/dist/cli/chunk-CDVSFSAK.js.map +0 -1
- package/dist/cli/chunk-FY4S7TJZ.js.map +0 -1
- package/dist/cli/chunk-NMQSUNLB.js.map +0 -1
- package/dist/cli/chunk-OB4BUJBL.js.map +0 -1
- package/dist/cli/chunk-OPYALNTT.js.map +0 -1
- package/dist/cli/chunk-S2RMQULY.js.map +0 -1
- package/dist/cli/chunk-TE5UIIFL.js.map +0 -1
- package/dist/cli/chunk-TKVXTQ3T.js.map +0 -1
- package/dist/cli/chunk-WZGNXR6E.js +0 -2020
- package/dist/cli/chunk-WZGNXR6E.js.map +0 -1
- package/dist/cli/chunk-YW63N3ZR.js.map +0 -1
- package/dist/cli/desktop-562OPWIU.js.map +0 -1
- package/dist/cli/mcp-7W7ANO2Y.js.map +0 -1
- package/dist/cli/prune-sessions-SEWX7GP6.js.map +0 -1
- package/dist/cli/run-TPKXIJ27.js.map +0 -1
- package/dist/cli/server-NHQ3QXOZ.js.map +0 -1
- package/dist/cli/sessions-2A4DGSHA.js.map +0 -1
- /package/dist/cli/{chat-GZNB5625.js.map → chat-D32JGNVH.js.map} +0 -0
- /package/dist/cli/{chunk-5OHHAQ4W.js.map → chunk-7AST3QQ3.js.map} +0 -0
- /package/dist/cli/{chunk-MRZG4GBF.js.map → chunk-7JTKBJ2G.js.map} +0 -0
- /package/dist/cli/{chunk-MOJYKO2A.js.map → chunk-ASOLXV67.js.map} +0 -0
- /package/dist/cli/{chunk-HR5NBKEM.js.map → chunk-DFX5ZH5L.js.map} +0 -0
- /package/dist/cli/{chunk-I4M5QJNL.js.map → chunk-JGTX4RRQ.js.map} +0 -0
- /package/dist/cli/{chunk-H4CCXMDD.js.map → chunk-PEMG6CUB.js.map} +0 -0
- /package/dist/cli/{chunk-RUDBUHO4.js.map → chunk-PXBQ6IZ7.js.map} +0 -0
- /package/dist/cli/{chunk-OG5JANQ4.js.map → chunk-QX5TWXRZ.js.map} +0 -0
- /package/dist/cli/{chunk-V4Y732RQ.js.map → chunk-TAIKVL35.js.map} +0 -0
- /package/dist/cli/{chunk-EMMENC4O.js.map → chunk-U5XQDCK7.js.map} +0 -0
- /package/dist/cli/{chunk-DOWEOA6E.js.map → chunk-W46ZMNKO.js.map} +0 -0
- /package/dist/cli/{chunk-JMDE6IO3.js.map → chunk-ZAEJWKXB.js.map} +0 -0
- /package/dist/cli/{code-PMPJWXEO.js.map → code-R4IHI7SR.js.map} +0 -0
- /package/dist/cli/{commands-QS6TG4G3.js.map → commands-DRHFCYMO.js.map} +0 -0
- /package/dist/cli/{commit-XPRSKUBF.js.map → commit-AG5KB4YP.js.map} +0 -0
- /package/dist/cli/{diff-I6W4AUWJ.js.map → diff-4Z7ETWZO.js.map} +0 -0
- /package/dist/cli/{doctor-6XVZKT4U.js.map → doctor-VA3RHQLB.js.map} +0 -0
- /package/dist/cli/{mcp-browse-LA4I4YIZ.js.map → mcp-browse-C3GXVMYZ.js.map} +0 -0
- /package/dist/cli/{mcp-inspect-LWXXU7BY.js.map → mcp-inspect-ZMYUNFDS.js.map} +0 -0
- /package/dist/cli/{prompt-RKZD4X6Y.js.map → prompt-MC3U5KRP.js.map} +0 -0
- /package/dist/cli/{replay-2X7MVXOI.js.map → replay-4TP7ZUMZ.js.map} +0 -0
- /package/dist/cli/{setup-GOLP7J4C.js.map → setup-LHZELI6I.js.map} +0 -0
- /package/dist/cli/{stats-CGDAFDKI.js.map → stats-SUIJ3QWY.js.map} +0 -0
- /package/dist/cli/{version-FIL4ZFOS.js.map → version-BIFONEUB.js.map} +0 -0
|
@@ -7,10 +7,10 @@ import {
|
|
|
7
7
|
defaultUsageLogPath,
|
|
8
8
|
formatLogSize,
|
|
9
9
|
readUsageLog
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-ZAEJWKXB.js";
|
|
11
11
|
import {
|
|
12
12
|
t
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-YEF7C4XI.js";
|
|
14
14
|
|
|
15
15
|
// src/cli/commands/stats.ts
|
|
16
16
|
import { existsSync, readFileSync } from "fs";
|
|
@@ -150,4 +150,4 @@ export {
|
|
|
150
150
|
statsCommand,
|
|
151
151
|
renderDashboard
|
|
152
152
|
};
|
|
153
|
-
//# sourceMappingURL=chunk-
|
|
153
|
+
//# sourceMappingURL=chunk-ASOLXV67.js.map
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { createRequire as __cr } from 'node:module'; if (typeof globalThis.require === 'undefined') { globalThis.require = __cr(import.meta.url); }
|
|
3
3
|
import {
|
|
4
4
|
registerSkillTools
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-MGTBP7GG.js";
|
|
6
6
|
import {
|
|
7
7
|
preflightStdioSpec
|
|
8
8
|
} from "./chunk-EQATK2L2.js";
|
|
@@ -17,20 +17,20 @@ import {
|
|
|
17
17
|
registerTodoTool,
|
|
18
18
|
registerWebTools,
|
|
19
19
|
spawnSubagent
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-MQWO32ZD.js";
|
|
21
21
|
import {
|
|
22
22
|
DeepSeekClient
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-J2IHQGPQ.js";
|
|
24
24
|
import {
|
|
25
25
|
bootstrapSemanticSearchInCodeMode
|
|
26
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-TAIKVL35.js";
|
|
27
27
|
import {
|
|
28
28
|
JobRegistry,
|
|
29
29
|
registerShellTools
|
|
30
|
-
} from "./chunk-
|
|
30
|
+
} from "./chunk-ZWHSHFDP.js";
|
|
31
31
|
import {
|
|
32
32
|
SkillStore
|
|
33
|
-
} from "./chunk-
|
|
33
|
+
} from "./chunk-JNTMOX7G.js";
|
|
34
34
|
import {
|
|
35
35
|
MCP_CATALOG
|
|
36
36
|
} from "./chunk-PLHAZOLZ.js";
|
|
@@ -42,11 +42,12 @@ import {
|
|
|
42
42
|
loadJavaSourceEnabled,
|
|
43
43
|
loadProjectShellAllowed,
|
|
44
44
|
loadResolvedSkillPaths,
|
|
45
|
+
loadToolRateLimit,
|
|
45
46
|
parseMcpSpec,
|
|
46
47
|
readConfig,
|
|
47
48
|
searchEnabled,
|
|
48
49
|
writeConfig
|
|
49
|
-
} from "./chunk-
|
|
50
|
+
} from "./chunk-WMTMMSXU.js";
|
|
50
51
|
|
|
51
52
|
// src/tools/code-query.ts
|
|
52
53
|
import { readFile } from "fs/promises";
|
|
@@ -4645,13 +4646,30 @@ var ClassSourceFinder = class _ClassSourceFinder {
|
|
|
4645
4646
|
return null;
|
|
4646
4647
|
}
|
|
4647
4648
|
async searchRepositories(fqn, jarKeyword) {
|
|
4649
|
+
const javaEntry = `${fqn.replace(/\./g, "/")}.java`;
|
|
4648
4650
|
const classEntry = `${fqn.replace(/\./g, "/")}.class`;
|
|
4649
|
-
const
|
|
4651
|
+
const sourceJars = [];
|
|
4652
|
+
const regularJars = [];
|
|
4650
4653
|
for (const repoDir of this.repoPaths) {
|
|
4651
|
-
await this.walkForJars(repoDir,
|
|
4654
|
+
await this.walkForJars(repoDir, sourceJars, regularJars, jarKeyword);
|
|
4655
|
+
}
|
|
4656
|
+
for (const jarPath of sourceJars) {
|
|
4657
|
+
this.throwIfAborted();
|
|
4658
|
+
try {
|
|
4659
|
+
const content = readJarEntry(jarPath, javaEntry);
|
|
4660
|
+
if (content) {
|
|
4661
|
+
return {
|
|
4662
|
+
found: true,
|
|
4663
|
+
source: content.data.toString("utf-8"),
|
|
4664
|
+
method: "m2-source-jar",
|
|
4665
|
+
sourcePath: jarPath
|
|
4666
|
+
};
|
|
4667
|
+
}
|
|
4668
|
+
} catch {
|
|
4669
|
+
}
|
|
4652
4670
|
}
|
|
4653
4671
|
let scanned = 0;
|
|
4654
|
-
for (const jarPath of
|
|
4672
|
+
for (const jarPath of regularJars) {
|
|
4655
4673
|
this.throwIfAborted();
|
|
4656
4674
|
if (scanned >= this.maxJarScan) break;
|
|
4657
4675
|
scanned++;
|
|
@@ -4667,7 +4685,7 @@ var ClassSourceFinder = class _ClassSourceFinder {
|
|
|
4667
4685
|
return { found: false, method: "not-found" };
|
|
4668
4686
|
}
|
|
4669
4687
|
static MAX_WALK_DEPTH = 64;
|
|
4670
|
-
async walkForJars(dir,
|
|
4688
|
+
async walkForJars(dir, sourceJars, regularJars, keyword, depth = 0) {
|
|
4671
4689
|
if (depth >= _ClassSourceFinder.MAX_WALK_DEPTH) return;
|
|
4672
4690
|
let entries;
|
|
4673
4691
|
try {
|
|
@@ -4677,13 +4695,17 @@ var ClassSourceFinder = class _ClassSourceFinder {
|
|
|
4677
4695
|
}
|
|
4678
4696
|
for (const entry of entries) {
|
|
4679
4697
|
this.throwIfAborted();
|
|
4680
|
-
if (
|
|
4698
|
+
if (sourceJars.length + regularJars.length >= this.maxJarScan) return;
|
|
4681
4699
|
const fullPath = path.join(dir, entry.name);
|
|
4682
4700
|
if (entry.isDirectory()) {
|
|
4683
|
-
await this.walkForJars(fullPath,
|
|
4701
|
+
await this.walkForJars(fullPath, sourceJars, regularJars, keyword, depth + 1);
|
|
4684
4702
|
} else if (entry.isFile() && entry.name.endsWith(".jar")) {
|
|
4685
4703
|
if (!keyword || fullPath.toLowerCase().includes(keyword.toLowerCase())) {
|
|
4686
|
-
|
|
4704
|
+
if (entry.name.endsWith("-sources.jar") || entry.name.includes("-sources-")) {
|
|
4705
|
+
sourceJars.push(fullPath);
|
|
4706
|
+
} else {
|
|
4707
|
+
regularJars.push(fullPath);
|
|
4708
|
+
}
|
|
4687
4709
|
}
|
|
4688
4710
|
}
|
|
4689
4711
|
}
|
|
@@ -4768,10 +4790,7 @@ function registerJavaSourceTool(registry, opts = {}) {
|
|
|
4768
4790
|
description: [
|
|
4769
4791
|
"Find and return Java source code by fully-qualified class name.",
|
|
4770
4792
|
"",
|
|
4771
|
-
"
|
|
4772
|
-
"1. **Default** (className + jarKeyword): walk project tree for a `.java` file, then scan `~/.m2/repository` jars whose path/name contains the keyword.",
|
|
4773
|
-
"2. **Without keyword** (className only): same as default but scans ALL jars \u2014 much slower, use only when you don't know the library.",
|
|
4774
|
-
"3. **With jarPath** (className + jarPath): skip both project + .m2 scans, decompile directly from the specified jar file.",
|
|
4793
|
+
"Search mode: walk the project tree for a `.java` file, then scan `~/.m2/repository` jars whose filename or path contains `jarKeyword`.",
|
|
4775
4794
|
"",
|
|
4776
4795
|
"Returns the source text (or decompiled bytecode) on success, or a clear 'not found' message.",
|
|
4777
4796
|
"Only call this tool once per class name \u2014 it's I/O heavy."
|
|
@@ -4784,20 +4803,12 @@ function registerJavaSourceTool(registry, opts = {}) {
|
|
|
4784
4803
|
type: "string",
|
|
4785
4804
|
description: 'Fully qualified Java class name, e.g. "com.google.common.collect.Lists" or "org.springframework.web.servlet.DispatcherServlet".'
|
|
4786
4805
|
},
|
|
4787
|
-
projectRoot: {
|
|
4788
|
-
type: "string",
|
|
4789
|
-
description: "Optional. Override the project root directory for phase-1 file search. Defaults to the current session's workspace root."
|
|
4790
|
-
},
|
|
4791
|
-
jarPath: {
|
|
4792
|
-
type: "string",
|
|
4793
|
-
description: 'Optional. Exact path to a .jar file. When set, skips project file search and .m2 scan \u2014 reads the class directly from this jar and decompiles it. Useful when you know which dependency jar contains the class, e.g. "/home/user/.m2/repository/org/springframework/spring-core/6.1.0/spring-core-6.1.0.jar".'
|
|
4794
|
-
},
|
|
4795
4806
|
jarKeyword: {
|
|
4796
4807
|
type: "string",
|
|
4797
|
-
description: '
|
|
4808
|
+
description: 'Only search jars whose filename or path contains this keyword (case-insensitive). Keep it short \u2014 a narrow substring like "spring-core", "guava", or "mycompany-utils" scans faster and matches more precisely than a long fragment.'
|
|
4798
4809
|
}
|
|
4799
4810
|
},
|
|
4800
|
-
required: ["className"]
|
|
4811
|
+
required: ["className", "jarKeyword"]
|
|
4801
4812
|
},
|
|
4802
4813
|
parallelSafe: true,
|
|
4803
4814
|
fn: async (args2) => {
|
|
@@ -4810,34 +4821,16 @@ function registerJavaSourceTool(registry, opts = {}) {
|
|
|
4810
4821
|
`java_source: "${className}" is not a valid fully qualified Java class name. Expected format: \`com.example.MyClass\``
|
|
4811
4822
|
);
|
|
4812
4823
|
}
|
|
4813
|
-
const jarKeyword =
|
|
4814
|
-
|
|
4815
|
-
|
|
4816
|
-
const finder = new ClassSourceFinder({ projectRoot });
|
|
4817
|
-
if (jarPath) {
|
|
4818
|
-
const result2 = await finder.findSourceInJar(className, jarPath);
|
|
4819
|
-
if (!result2.found) {
|
|
4820
|
-
return JSON.stringify({
|
|
4821
|
-
status: "not-found",
|
|
4822
|
-
className,
|
|
4823
|
-
message: `Class "${className}" not found in jar:
|
|
4824
|
-
${jarPath}
|
|
4825
|
-
|
|
4826
|
-
Make sure the class name is correct and that the jar contains that entry.`
|
|
4827
|
-
});
|
|
4828
|
-
}
|
|
4829
|
-
return JSON.stringify({
|
|
4830
|
-
status: "found",
|
|
4831
|
-
className,
|
|
4832
|
-
method: result2.method,
|
|
4833
|
-
sourcePath: result2.sourcePath,
|
|
4834
|
-
source: result2.source
|
|
4835
|
-
});
|
|
4824
|
+
const jarKeyword = args2.jarKeyword.trim();
|
|
4825
|
+
if (!jarKeyword) {
|
|
4826
|
+
throw new Error("java_source: `jarKeyword` must not be empty");
|
|
4836
4827
|
}
|
|
4837
|
-
const
|
|
4828
|
+
const projectRoot = opts.projectRoot || process.cwd();
|
|
4829
|
+
const finder = new ClassSourceFinder({ projectRoot });
|
|
4830
|
+
const result = await finder.findSource(className, { jarKeyword });
|
|
4838
4831
|
if (!result.found) {
|
|
4839
|
-
const keywordLine =
|
|
4840
|
-
const tip =
|
|
4832
|
+
const keywordLine = ` \u2022 Maven .m2 / Gradle cache for jars containing keyword "${jarKeyword}"`;
|
|
4833
|
+
const tip = "Try a different keyword, or check if the class is in a different library.";
|
|
4841
4834
|
return JSON.stringify({
|
|
4842
4835
|
status: "not-found",
|
|
4843
4836
|
className,
|
|
@@ -5130,7 +5123,7 @@ function quoteIfNeeded(s) {
|
|
|
5130
5123
|
|
|
5131
5124
|
// src/code/setup.ts
|
|
5132
5125
|
async function buildCodeToolset(opts) {
|
|
5133
|
-
const tools = new ToolRegistry();
|
|
5126
|
+
const tools = new ToolRegistry({ rateLimit: loadToolRateLimit() });
|
|
5134
5127
|
const jobs = new JobRegistry();
|
|
5135
5128
|
const outlineThresholdBytes = loadFilesystemOutlineThresholdBytes();
|
|
5136
5129
|
const registerRooted = (root) => {
|
|
@@ -5195,4 +5188,4 @@ async function buildCodeToolset(opts) {
|
|
|
5195
5188
|
export {
|
|
5196
5189
|
buildCodeToolset
|
|
5197
5190
|
};
|
|
5198
|
-
//# sourceMappingURL=chunk-
|
|
5191
|
+
//# sourceMappingURL=chunk-AWEULQG6.js.map
|