nexus-agents 2.166.0 → 2.166.3
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/{child-mcp-config-LQ4IKFSN.js → child-mcp-config-AUA4TFBG.js} +2 -2
- package/dist/{chunk-3HVF4BG4.js → chunk-3LVB5OE2.js} +2 -2
- package/dist/{chunk-YPPYRLDF.js → chunk-6LXTT6AK.js} +2 -2
- package/dist/{chunk-YOFRUVPJ.js → chunk-76Q6GTPU.js} +2 -2
- package/dist/{chunk-3ACDP4E6.js → chunk-AO4X3BMP.js} +26 -9
- package/dist/chunk-AO4X3BMP.js.map +1 -0
- package/dist/{chunk-RXI5ONP7.js → chunk-AWPSFL5C.js} +2 -2
- package/dist/{chunk-NBPA4PQD.js → chunk-BFDVV3Q3.js} +2 -2
- package/dist/{chunk-MYNI3CYT.js → chunk-BZFF3YWU.js} +4 -4
- package/dist/{chunk-LQ2ABFLI.js → chunk-DMFMJFRY.js} +2 -2
- package/dist/{chunk-TZNJCTNQ.js → chunk-F2YZ3U6O.js} +2 -2
- package/dist/{chunk-2255SARF.js → chunk-FKHQWC2L.js} +2 -2
- package/dist/{chunk-55NRU7SV.js → chunk-FQNG6ZIW.js} +8 -8
- package/dist/{chunk-2UMMVKUW.js → chunk-FZV4YAYT.js} +3 -3
- package/dist/{chunk-33X5V4PL.js → chunk-GS3UPAUE.js} +2 -2
- package/dist/{chunk-U43BUJSN.js → chunk-HNAFWKJG.js} +7 -7
- package/dist/{chunk-MQUSJVER.js → chunk-I7OZP6FS.js} +4 -4
- package/dist/{chunk-RBN4WXOA.js → chunk-IF46G2LM.js} +2 -2
- package/dist/{chunk-RC5SCDGF.js → chunk-JBH4CU46.js} +180 -86
- package/dist/{chunk-RC5SCDGF.js.map → chunk-JBH4CU46.js.map} +1 -1
- package/dist/{chunk-CVLVWHXG.js → chunk-JYVPM37A.js} +5 -5
- package/dist/{chunk-LUP26FMZ.js → chunk-K2IX6BEK.js} +4 -4
- package/dist/{chunk-ZNY7MM2J.js → chunk-LRBEUBZ3.js} +3 -3
- package/dist/{chunk-FKOWIKR4.js → chunk-NEQJSYJH.js} +3 -3
- package/dist/{chunk-LKSG75LC.js → chunk-OI6H3DL6.js} +4 -4
- package/dist/{chunk-TFYQRAWT.js → chunk-ORRKK563.js} +3 -3
- package/dist/{chunk-6PYVTJZF.js → chunk-P54BDACX.js} +2 -2
- package/dist/{chunk-DUUMMELV.js → chunk-PRSGZQNB.js} +3 -3
- package/dist/{chunk-OUBDTDTC.js → chunk-PXTZ6RPP.js} +7 -7
- package/dist/{chunk-SF2AK3JB.js → chunk-THI3VWHO.js} +2 -2
- package/dist/{chunk-WOQCCQSE.js → chunk-UO6C5J5D.js} +5 -5
- package/dist/{chunk-JV64QX3Y.js → chunk-UWRDWX6L.js} +2 -2
- package/dist/{chunk-3SMFRAX5.js → chunk-V5RPW2ZX.js} +3 -3
- package/dist/{chunk-JBZMUKT4.js → chunk-WL4SGKAW.js} +2 -2
- package/dist/{chunk-3GYRM7D6.js → chunk-WOY6TQCH.js} +33 -9
- package/dist/{chunk-3GYRM7D6.js.map → chunk-WOY6TQCH.js.map} +1 -1
- package/dist/{chunk-NXJJZEUO.js → chunk-YKTVN2TF.js} +2 -2
- package/dist/{chunk-PZ3BB3PO.js → chunk-Z66EEQ4A.js} +3 -3
- package/dist/{chunk-IXZXG2MY.js → chunk-ZI4PO2A3.js} +7 -7
- package/dist/{cli-circuit-breaker-5IGBBD7R.js → cli-circuit-breaker-FSUDU7BV.js} +4 -4
- package/dist/cli.js +135 -108
- package/dist/cli.js.map +1 -1
- package/dist/codebase-search-DKLEA4PR.js +12 -0
- package/dist/{composite-router-62KI56W6.js → composite-router-HC4YLG5W.js} +2 -2
- package/dist/{consensus-vote-M4ZELBV4.js → consensus-vote-KWPS6WNH.js} +15 -15
- package/dist/{context-retriever-5UJC5KDZ.js → context-retriever-YCKTCDGM.js} +10 -8
- package/dist/{doctor-deep-7OR5MYMI.js → doctor-deep-4UARVVSD.js} +3 -3
- package/dist/{expert-bridge-BNMCDENK.js → expert-bridge-EAR6XZJA.js} +4 -4
- package/dist/{factory-QLW773DP.js → factory-7SVW7XMV.js} +5 -5
- package/dist/{factory-77GX5DG4.js → factory-JYAUOFEN.js} +8 -8
- package/dist/{improvement-review-KDM6OL25.js → improvement-review-AHSY5ZXD.js} +5 -5
- package/dist/index.d.ts +3 -0
- package/dist/index.js +31 -31
- package/dist/{init-opencode-FXKABSGS.js → init-opencode-5BKE7UEB.js} +6 -6
- package/dist/{issue-triage-OVX4VSUN.js → issue-triage-TNV4R33I.js} +6 -6
- package/dist/{pr-reviewer-helpers-VGIBNZBX.js → pr-reviewer-helpers-ZC2I5ZYD.js} +4 -4
- package/dist/{registry-command-CGMRLZQ2.js → registry-command-O2GLHG3G.js} +2 -2
- package/dist/{repo-security-plan-TBCMGL5Z.js → repo-security-plan-CFRLHIMY.js} +3 -3
- package/dist/{research-helpers-synthesize-76ZZYWJ5.js → research-helpers-synthesize-ONWBGXHO.js} +4 -4
- package/dist/{routing-memory-PZ4LTLXJ.js → routing-memory-XHZKEPUH.js} +2 -2
- package/dist/{session-memory-C55R7LGY.js → session-memory-5QVKDE4U.js} +3 -3
- package/dist/{setup-command-HMXY5UHN.js → setup-command-G7OB4QQG.js} +11 -11
- package/dist/{setup-config-SMRMMT6Z.js → setup-config-MMBOL5CW.js} +3 -3
- package/dist/{setup-custom-api-42JXTJHU.js → setup-custom-api-RQ3BUMJC.js} +3 -3
- package/dist/{tool-memory-LCDNVPFI.js → tool-memory-VK4IZLPN.js} +5 -5
- package/dist/{unified-registry-XEXWGKV5.js → unified-registry-ZOTGM4EY.js} +9 -9
- package/dist/{weather-report-DPADAXFN.js → weather-report-MPD66LKP.js} +2 -2
- package/package.json +5 -5
- package/dist/chunk-3ACDP4E6.js.map +0 -1
- package/dist/codebase-search-PWMWLU7O.js +0 -8
- /package/dist/{child-mcp-config-LQ4IKFSN.js.map → child-mcp-config-AUA4TFBG.js.map} +0 -0
- /package/dist/{chunk-3HVF4BG4.js.map → chunk-3LVB5OE2.js.map} +0 -0
- /package/dist/{chunk-YPPYRLDF.js.map → chunk-6LXTT6AK.js.map} +0 -0
- /package/dist/{chunk-YOFRUVPJ.js.map → chunk-76Q6GTPU.js.map} +0 -0
- /package/dist/{chunk-RXI5ONP7.js.map → chunk-AWPSFL5C.js.map} +0 -0
- /package/dist/{chunk-NBPA4PQD.js.map → chunk-BFDVV3Q3.js.map} +0 -0
- /package/dist/{chunk-MYNI3CYT.js.map → chunk-BZFF3YWU.js.map} +0 -0
- /package/dist/{chunk-LQ2ABFLI.js.map → chunk-DMFMJFRY.js.map} +0 -0
- /package/dist/{chunk-TZNJCTNQ.js.map → chunk-F2YZ3U6O.js.map} +0 -0
- /package/dist/{chunk-2255SARF.js.map → chunk-FKHQWC2L.js.map} +0 -0
- /package/dist/{chunk-55NRU7SV.js.map → chunk-FQNG6ZIW.js.map} +0 -0
- /package/dist/{chunk-2UMMVKUW.js.map → chunk-FZV4YAYT.js.map} +0 -0
- /package/dist/{chunk-33X5V4PL.js.map → chunk-GS3UPAUE.js.map} +0 -0
- /package/dist/{chunk-U43BUJSN.js.map → chunk-HNAFWKJG.js.map} +0 -0
- /package/dist/{chunk-MQUSJVER.js.map → chunk-I7OZP6FS.js.map} +0 -0
- /package/dist/{chunk-RBN4WXOA.js.map → chunk-IF46G2LM.js.map} +0 -0
- /package/dist/{chunk-CVLVWHXG.js.map → chunk-JYVPM37A.js.map} +0 -0
- /package/dist/{chunk-LUP26FMZ.js.map → chunk-K2IX6BEK.js.map} +0 -0
- /package/dist/{chunk-ZNY7MM2J.js.map → chunk-LRBEUBZ3.js.map} +0 -0
- /package/dist/{chunk-FKOWIKR4.js.map → chunk-NEQJSYJH.js.map} +0 -0
- /package/dist/{chunk-LKSG75LC.js.map → chunk-OI6H3DL6.js.map} +0 -0
- /package/dist/{chunk-TFYQRAWT.js.map → chunk-ORRKK563.js.map} +0 -0
- /package/dist/{chunk-6PYVTJZF.js.map → chunk-P54BDACX.js.map} +0 -0
- /package/dist/{chunk-DUUMMELV.js.map → chunk-PRSGZQNB.js.map} +0 -0
- /package/dist/{chunk-OUBDTDTC.js.map → chunk-PXTZ6RPP.js.map} +0 -0
- /package/dist/{chunk-SF2AK3JB.js.map → chunk-THI3VWHO.js.map} +0 -0
- /package/dist/{chunk-WOQCCQSE.js.map → chunk-UO6C5J5D.js.map} +0 -0
- /package/dist/{chunk-JV64QX3Y.js.map → chunk-UWRDWX6L.js.map} +0 -0
- /package/dist/{chunk-3SMFRAX5.js.map → chunk-V5RPW2ZX.js.map} +0 -0
- /package/dist/{chunk-JBZMUKT4.js.map → chunk-WL4SGKAW.js.map} +0 -0
- /package/dist/{chunk-NXJJZEUO.js.map → chunk-YKTVN2TF.js.map} +0 -0
- /package/dist/{chunk-PZ3BB3PO.js.map → chunk-Z66EEQ4A.js.map} +0 -0
- /package/dist/{chunk-IXZXG2MY.js.map → chunk-ZI4PO2A3.js.map} +0 -0
- /package/dist/{cli-circuit-breaker-5IGBBD7R.js.map → cli-circuit-breaker-FSUDU7BV.js.map} +0 -0
- /package/dist/{codebase-search-PWMWLU7O.js.map → codebase-search-DKLEA4PR.js.map} +0 -0
- /package/dist/{composite-router-62KI56W6.js.map → composite-router-HC4YLG5W.js.map} +0 -0
- /package/dist/{consensus-vote-M4ZELBV4.js.map → consensus-vote-KWPS6WNH.js.map} +0 -0
- /package/dist/{context-retriever-5UJC5KDZ.js.map → context-retriever-YCKTCDGM.js.map} +0 -0
- /package/dist/{doctor-deep-7OR5MYMI.js.map → doctor-deep-4UARVVSD.js.map} +0 -0
- /package/dist/{expert-bridge-BNMCDENK.js.map → expert-bridge-EAR6XZJA.js.map} +0 -0
- /package/dist/{factory-77GX5DG4.js.map → factory-7SVW7XMV.js.map} +0 -0
- /package/dist/{factory-QLW773DP.js.map → factory-JYAUOFEN.js.map} +0 -0
- /package/dist/{improvement-review-KDM6OL25.js.map → improvement-review-AHSY5ZXD.js.map} +0 -0
- /package/dist/{init-opencode-FXKABSGS.js.map → init-opencode-5BKE7UEB.js.map} +0 -0
- /package/dist/{issue-triage-OVX4VSUN.js.map → issue-triage-TNV4R33I.js.map} +0 -0
- /package/dist/{pr-reviewer-helpers-VGIBNZBX.js.map → pr-reviewer-helpers-ZC2I5ZYD.js.map} +0 -0
- /package/dist/{registry-command-CGMRLZQ2.js.map → registry-command-O2GLHG3G.js.map} +0 -0
- /package/dist/{repo-security-plan-TBCMGL5Z.js.map → repo-security-plan-CFRLHIMY.js.map} +0 -0
- /package/dist/{research-helpers-synthesize-76ZZYWJ5.js.map → research-helpers-synthesize-ONWBGXHO.js.map} +0 -0
- /package/dist/{routing-memory-PZ4LTLXJ.js.map → routing-memory-XHZKEPUH.js.map} +0 -0
- /package/dist/{session-memory-C55R7LGY.js.map → session-memory-5QVKDE4U.js.map} +0 -0
- /package/dist/{setup-command-HMXY5UHN.js.map → setup-command-G7OB4QQG.js.map} +0 -0
- /package/dist/{setup-config-SMRMMT6Z.js.map → setup-config-MMBOL5CW.js.map} +0 -0
- /package/dist/{setup-custom-api-42JXTJHU.js.map → setup-custom-api-RQ3BUMJC.js.map} +0 -0
- /package/dist/{tool-memory-LCDNVPFI.js.map → tool-memory-VK4IZLPN.js.map} +0 -0
- /package/dist/{unified-registry-XEXWGKV5.js.map → unified-registry-ZOTGM4EY.js.map} +0 -0
- /package/dist/{weather-report-DPADAXFN.js.map → weather-report-MPD66LKP.js.map} +0 -0
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
import {
|
|
2
2
|
generateSecurityPlan
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-76Q6GTPU.js";
|
|
4
4
|
import {
|
|
5
5
|
analyzeGitHubRepo
|
|
6
6
|
} from "./chunk-HFOQKCD2.js";
|
|
7
7
|
import {
|
|
8
8
|
CodebaseIndex,
|
|
9
|
+
DEFAULT_INDEX_MAX_DEPTH,
|
|
10
|
+
MAX_INDEX_MAX_DEPTH,
|
|
9
11
|
extractSymbolIndex,
|
|
10
12
|
extractSymbols
|
|
11
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-AO4X3BMP.js";
|
|
12
14
|
import {
|
|
13
15
|
FINDING_SEVERITY_LEVELS,
|
|
14
16
|
SARIF_LEVEL_MAP,
|
|
@@ -18,10 +20,10 @@ import {
|
|
|
18
20
|
DEFAULT_TASK_TTL_MS,
|
|
19
21
|
DEFAULT_TOOL_RATE_LIMITS,
|
|
20
22
|
clampTaskTtl
|
|
21
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-PXTZ6RPP.js";
|
|
22
24
|
import {
|
|
23
25
|
executeExpert
|
|
24
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-HNAFWKJG.js";
|
|
25
27
|
import {
|
|
26
28
|
JobStatusSchema,
|
|
27
29
|
abortJob,
|
|
@@ -42,21 +44,21 @@ import {
|
|
|
42
44
|
simulationDeniedResult,
|
|
43
45
|
toJobSummary,
|
|
44
46
|
writeJobCancelled
|
|
45
|
-
} from "./chunk-
|
|
47
|
+
} from "./chunk-FQNG6ZIW.js";
|
|
46
48
|
import {
|
|
47
49
|
normalizeTopicToCanonical,
|
|
48
50
|
synthesizeResearch
|
|
49
|
-
} from "./chunk-
|
|
51
|
+
} from "./chunk-ORRKK563.js";
|
|
50
52
|
import {
|
|
51
53
|
IssueTriage
|
|
52
|
-
} from "./chunk-
|
|
54
|
+
} from "./chunk-JYVPM37A.js";
|
|
53
55
|
import {
|
|
54
56
|
resolveEnvMode,
|
|
55
57
|
sanitizeInput
|
|
56
|
-
} from "./chunk-
|
|
58
|
+
} from "./chunk-F2YZ3U6O.js";
|
|
57
59
|
import {
|
|
58
60
|
withPrerequisite
|
|
59
|
-
} from "./chunk-
|
|
61
|
+
} from "./chunk-PRSGZQNB.js";
|
|
60
62
|
import {
|
|
61
63
|
NOOP_NOTIFIER,
|
|
62
64
|
RateLimiter,
|
|
@@ -79,12 +81,12 @@ import {
|
|
|
79
81
|
withAuditTrail,
|
|
80
82
|
withProgressHeartbeat,
|
|
81
83
|
wrapToolWithTimeout
|
|
82
|
-
} from "./chunk-
|
|
84
|
+
} from "./chunk-V5RPW2ZX.js";
|
|
83
85
|
import {
|
|
84
86
|
createAuditTrail,
|
|
85
87
|
createGraphAuditBridge,
|
|
86
88
|
emitPipelinePolicyEvent
|
|
87
|
-
} from "./chunk-
|
|
89
|
+
} from "./chunk-BFDVV3Q3.js";
|
|
88
90
|
import {
|
|
89
91
|
addResearchPaper,
|
|
90
92
|
addSourceToRegistry,
|
|
@@ -112,15 +114,15 @@ import {
|
|
|
112
114
|
parseRegistry,
|
|
113
115
|
sourceExistsInRegistry,
|
|
114
116
|
summarizeContextForPrompt
|
|
115
|
-
} from "./chunk-
|
|
117
|
+
} from "./chunk-WOY6TQCH.js";
|
|
116
118
|
import {
|
|
117
119
|
getTokenEnvVars,
|
|
118
120
|
resolveToken
|
|
119
|
-
} from "./chunk-
|
|
121
|
+
} from "./chunk-UWRDWX6L.js";
|
|
120
122
|
import {
|
|
121
123
|
loadPapersRegistry,
|
|
122
124
|
loadTechniquesRegistry
|
|
123
|
-
} from "./chunk-
|
|
125
|
+
} from "./chunk-6LXTT6AK.js";
|
|
124
126
|
import {
|
|
125
127
|
resolveInsideRoot
|
|
126
128
|
} from "./chunk-NUBSJGQZ.js";
|
|
@@ -129,14 +131,14 @@ import {
|
|
|
129
131
|
MemoryImportance,
|
|
130
132
|
calculateTextJaccardSimilarity,
|
|
131
133
|
getToolMemory
|
|
132
|
-
} from "./chunk-
|
|
134
|
+
} from "./chunk-I7OZP6FS.js";
|
|
133
135
|
import {
|
|
134
136
|
STOPWORDS,
|
|
135
137
|
truncateWithInfo
|
|
136
138
|
} from "./chunk-6T3EPABN.js";
|
|
137
139
|
import {
|
|
138
140
|
createSessionMemory
|
|
139
|
-
} from "./chunk-
|
|
141
|
+
} from "./chunk-DMFMJFRY.js";
|
|
140
142
|
import {
|
|
141
143
|
BUILT_IN_EXPERTS,
|
|
142
144
|
BuiltInExpertTypeSchema,
|
|
@@ -151,7 +153,7 @@ import {
|
|
|
151
153
|
createEvent,
|
|
152
154
|
getGlobalEventBus,
|
|
153
155
|
getGlobalRegistry
|
|
154
|
-
} from "./chunk-
|
|
156
|
+
} from "./chunk-BZFF3YWU.js";
|
|
155
157
|
import {
|
|
156
158
|
CliDetectionCache,
|
|
157
159
|
asRecord,
|
|
@@ -159,19 +161,19 @@ import {
|
|
|
159
161
|
getAvailableClis,
|
|
160
162
|
sleep,
|
|
161
163
|
withTimeout
|
|
162
|
-
} from "./chunk-
|
|
164
|
+
} from "./chunk-ZI4PO2A3.js";
|
|
163
165
|
import {
|
|
164
166
|
DEFAULTS
|
|
165
|
-
} from "./chunk-
|
|
167
|
+
} from "./chunk-P54BDACX.js";
|
|
166
168
|
import {
|
|
167
169
|
getAvailabilityCache,
|
|
168
170
|
getCliForModelId,
|
|
169
171
|
resolveFallback
|
|
170
|
-
} from "./chunk-
|
|
172
|
+
} from "./chunk-3LVB5OE2.js";
|
|
171
173
|
import {
|
|
172
174
|
generateHyphenId,
|
|
173
175
|
generateUUID
|
|
174
|
-
} from "./chunk-
|
|
176
|
+
} from "./chunk-GS3UPAUE.js";
|
|
175
177
|
import {
|
|
176
178
|
AGENT_ROUTER_TIMEOUTS,
|
|
177
179
|
API_TIMEOUTS,
|
|
@@ -263,7 +265,7 @@ import {
|
|
|
263
265
|
selectStrategyByManifest,
|
|
264
266
|
toExpertTaskAnalysisResult,
|
|
265
267
|
withStep
|
|
266
|
-
} from "./chunk-
|
|
268
|
+
} from "./chunk-Z66EEQ4A.js";
|
|
267
269
|
import {
|
|
268
270
|
ensureLearningDir,
|
|
269
271
|
getMetaOutcomesFile,
|
|
@@ -26298,7 +26300,7 @@ function execIdFields(executionId) {
|
|
|
26298
26300
|
async function populateUnifiedContextOnState(state, options) {
|
|
26299
26301
|
const taskCandidate = state["task"];
|
|
26300
26302
|
if (typeof taskCandidate !== "string" || taskCandidate === "") return;
|
|
26301
|
-
const { getContextForTask: getContextForTask2, inferTaskCategory: inferTaskCategory2 } = await import("./context-retriever-
|
|
26303
|
+
const { getContextForTask: getContextForTask2, inferTaskCategory: inferTaskCategory2 } = await import("./context-retriever-YCKTCDGM.js");
|
|
26302
26304
|
const category = inferTaskCategory2(taskCandidate);
|
|
26303
26305
|
const executionId = options?.executionId;
|
|
26304
26306
|
const execFields = execIdFields(executionId);
|
|
@@ -39537,40 +39539,47 @@ var SearchCodebaseInputSchema = z79.object({
|
|
|
39537
39539
|
query: z79.string().min(1).max(200).describe("Search query (symbol name, keyword, or pattern)"),
|
|
39538
39540
|
directory: z79.string().min(1).max(500).optional().describe("Directory to search (default: current working directory)"),
|
|
39539
39541
|
limit: z79.number().min(1).max(50).optional().describe("Max results (default: 20)"),
|
|
39540
|
-
mode: z79.enum(["search", "summary", "list"]).optional().describe("search: find symbols. summary: file overview. list: list indexed files.")
|
|
39542
|
+
mode: z79.enum(["search", "summary", "list"]).optional().describe("search: find symbols. summary: file overview. list: list indexed files."),
|
|
39543
|
+
maxDepth: z79.number().int().min(1).max(MAX_INDEX_MAX_DEPTH).optional().describe(
|
|
39544
|
+
`Max directory depth to index below "directory" (default: ${String(DEFAULT_INDEX_MAX_DEPTH)}, clamped to ${String(MAX_INDEX_MAX_DEPTH)}). Raise this if results seem incomplete for a deeply nested tree.`
|
|
39545
|
+
)
|
|
39541
39546
|
});
|
|
39542
39547
|
var MAX_CACHED_DIRS = 3;
|
|
39543
39548
|
var INDEX_TTL_MS = 15 * 60 * 1e3;
|
|
39544
39549
|
var indexCache = /* @__PURE__ */ new Map();
|
|
39545
39550
|
var inflightIndex = /* @__PURE__ */ new Map();
|
|
39546
|
-
function getFromCache(dir) {
|
|
39551
|
+
function getFromCache(dir, maxDepth) {
|
|
39547
39552
|
const entry = indexCache.get(dir);
|
|
39548
39553
|
if (entry === void 0) return void 0;
|
|
39549
39554
|
if (entry.expiresAt <= getTimeProvider().now()) {
|
|
39550
39555
|
indexCache.delete(dir);
|
|
39551
39556
|
return void 0;
|
|
39552
39557
|
}
|
|
39558
|
+
if (entry.maxDepth < maxDepth) {
|
|
39559
|
+
indexCache.delete(dir);
|
|
39560
|
+
return void 0;
|
|
39561
|
+
}
|
|
39553
39562
|
indexCache.delete(dir);
|
|
39554
39563
|
indexCache.set(dir, entry);
|
|
39555
39564
|
return entry.index;
|
|
39556
39565
|
}
|
|
39557
|
-
function putInCache(dir, index) {
|
|
39558
|
-
indexCache.set(dir, { index, expiresAt: getTimeProvider().now() + INDEX_TTL_MS });
|
|
39566
|
+
function putInCache(dir, index, maxDepth) {
|
|
39567
|
+
indexCache.set(dir, { index, expiresAt: getTimeProvider().now() + INDEX_TTL_MS, maxDepth });
|
|
39559
39568
|
while (indexCache.size > MAX_CACHED_DIRS) {
|
|
39560
39569
|
const lruKey = indexCache.keys().next().value;
|
|
39561
39570
|
if (lruKey === void 0) break;
|
|
39562
39571
|
indexCache.delete(lruKey);
|
|
39563
39572
|
}
|
|
39564
39573
|
}
|
|
39565
|
-
async function getIndex(dir) {
|
|
39566
|
-
const cached = getFromCache(dir);
|
|
39574
|
+
async function getIndex(dir, maxDepth) {
|
|
39575
|
+
const cached = getFromCache(dir, maxDepth);
|
|
39567
39576
|
if (cached !== void 0) return cached;
|
|
39568
39577
|
const inflight = inflightIndex.get(dir);
|
|
39569
39578
|
if (inflight !== void 0) return inflight;
|
|
39570
39579
|
const promise = (async () => {
|
|
39571
39580
|
const index = new CodebaseIndex(dir);
|
|
39572
|
-
await index.index(
|
|
39573
|
-
putInCache(dir, index);
|
|
39581
|
+
await index.index(maxDepth);
|
|
39582
|
+
putInCache(dir, index, maxDepth);
|
|
39574
39583
|
return index;
|
|
39575
39584
|
})().finally(() => {
|
|
39576
39585
|
inflightIndex.delete(dir);
|
|
@@ -39586,6 +39595,25 @@ function resolveSearchDir(directory) {
|
|
|
39586
39595
|
}
|
|
39587
39596
|
return { dir };
|
|
39588
39597
|
}
|
|
39598
|
+
function skippedDirsNote(index) {
|
|
39599
|
+
const { skippedDirs } = index.stats;
|
|
39600
|
+
if (skippedDirs === 0) return "";
|
|
39601
|
+
return `
|
|
39602
|
+
|
|
39603
|
+
Note: ${String(skippedDirs)} subdirector${skippedDirs === 1 ? "y was" : "ies were"} not indexed because maxDepth was exhausted. Pass a larger maxDepth (up to ${String(MAX_INDEX_MAX_DEPTH)}) to include them.`;
|
|
39604
|
+
}
|
|
39605
|
+
function formatSearchOutput(index, query, results) {
|
|
39606
|
+
if (results.length === 0) {
|
|
39607
|
+
return `No symbols matching "${query}" found in ${String(index.stats.files)} indexed files.${skippedDirsNote(index)}`;
|
|
39608
|
+
}
|
|
39609
|
+
const output2 = results.map((r) => {
|
|
39610
|
+
const exp = r.symbol.exported ? "export " : "";
|
|
39611
|
+
return `[${r.matchType}] ${exp}${r.symbol.kind} ${r.symbol.name} (${r.symbol.filePath}:${String(r.symbol.startLine)})`;
|
|
39612
|
+
}).join("\n");
|
|
39613
|
+
return `${String(results.length)} results for "${query}":
|
|
39614
|
+
|
|
39615
|
+
${output2}${skippedDirsNote(index)}`;
|
|
39616
|
+
}
|
|
39589
39617
|
function formatListOutput(index) {
|
|
39590
39618
|
const files = index.listFiles();
|
|
39591
39619
|
const output2 = files.sort((a, b) => b.symbols - a.symbols).map(
|
|
@@ -39593,7 +39621,7 @@ function formatListOutput(index) {
|
|
|
39593
39621
|
).join("\n");
|
|
39594
39622
|
return `${String(index.stats.files)} files, ${String(index.stats.symbols)} symbols indexed
|
|
39595
39623
|
|
|
39596
|
-
${output2}`;
|
|
39624
|
+
${output2}${skippedDirsNote(index)}`;
|
|
39597
39625
|
}
|
|
39598
39626
|
async function searchCodebaseHandler(args, ctx) {
|
|
39599
39627
|
const parsed = SearchCodebaseInputSchema.safeParse(args);
|
|
@@ -39603,13 +39631,13 @@ async function searchCodebaseHandler(args, ctx) {
|
|
|
39603
39631
|
message: `Validation error: ${formatZodError(parsed.error)}`
|
|
39604
39632
|
});
|
|
39605
39633
|
}
|
|
39606
|
-
const { query, directory, limit, mode } = parsed.data;
|
|
39634
|
+
const { query, directory, limit, mode, maxDepth } = parsed.data;
|
|
39607
39635
|
const dirResult = resolveSearchDir(directory);
|
|
39608
39636
|
if ("error" in dirResult) {
|
|
39609
39637
|
return toolStructuredError({ errorCategory: "permission", message: dirResult.error });
|
|
39610
39638
|
}
|
|
39611
39639
|
try {
|
|
39612
|
-
const index = await getIndex(dirResult.dir);
|
|
39640
|
+
const index = await getIndex(dirResult.dir, maxDepth ?? DEFAULT_INDEX_MAX_DEPTH);
|
|
39613
39641
|
if (mode === "list") return toolSuccess(formatListOutput(index));
|
|
39614
39642
|
if (mode === "summary") {
|
|
39615
39643
|
const summary = index.getFileSummary(query);
|
|
@@ -39621,18 +39649,7 @@ async function searchCodebaseHandler(args, ctx) {
|
|
|
39621
39649
|
return toolSuccess(JSON.stringify(summary, null, 2));
|
|
39622
39650
|
}
|
|
39623
39651
|
const results = index.search(query, limit ?? 20);
|
|
39624
|
-
|
|
39625
|
-
return toolSuccess(
|
|
39626
|
-
`No symbols matching "${query}" found in ${String(index.stats.files)} indexed files.`
|
|
39627
|
-
);
|
|
39628
|
-
}
|
|
39629
|
-
const output2 = results.map((r) => {
|
|
39630
|
-
const exp = r.symbol.exported ? "export " : "";
|
|
39631
|
-
return `[${r.matchType}] ${exp}${r.symbol.kind} ${r.symbol.name} (${r.symbol.filePath}:${String(r.symbol.startLine)})`;
|
|
39632
|
-
}).join("\n");
|
|
39633
|
-
return toolSuccess(`${String(results.length)} results for "${query}":
|
|
39634
|
-
|
|
39635
|
-
${output2}`);
|
|
39652
|
+
return toolSuccess(formatSearchOutput(index, query, results));
|
|
39636
39653
|
} catch (caught) {
|
|
39637
39654
|
const e = caught instanceof Error ? caught : new Error(String(caught));
|
|
39638
39655
|
ctx.logger.error("Codebase search failed", e);
|
|
@@ -39648,9 +39665,12 @@ function registerSearchCodebaseTool(server, deps) {
|
|
|
39648
39665
|
query: z79.string().min(1).max(200).describe("Search query or file path"),
|
|
39649
39666
|
directory: z79.string().max(500).optional().describe("Directory to index"),
|
|
39650
39667
|
limit: z79.number().min(1).max(50).optional().describe("Max results"),
|
|
39651
|
-
mode: z79.enum(["search", "summary", "list"]).optional().describe("search/summary/list")
|
|
39668
|
+
mode: z79.enum(["search", "summary", "list"]).optional().describe("search/summary/list"),
|
|
39669
|
+
maxDepth: z79.number().int().min(1).max(MAX_INDEX_MAX_DEPTH).optional().describe(
|
|
39670
|
+
`Max directory depth to index (default: ${String(DEFAULT_INDEX_MAX_DEPTH)}, clamped to ${String(MAX_INDEX_MAX_DEPTH)})`
|
|
39671
|
+
)
|
|
39652
39672
|
};
|
|
39653
|
-
const description = "Cross-file
|
|
39673
|
+
const description = "Cross-file search across an index of declared symbol NAMES in the working directory \u2014 declarations only (functions, classes, methods, interfaces, types); NOT usages, call-sites, comments, or string/text content. Builds an in-memory symbol index and ranks matches with relevance scoring. Use when you need to find where a symbol is DECLARED across MANY files. For the AST of a single file, use `extract_symbols` instead. Modes: search (find by keyword), summary (per-file overview), list (all indexed files).";
|
|
39654
39674
|
const secureHandler = createSecureHandler(searchCodebaseHandler, {
|
|
39655
39675
|
toolName: "search_codebase",
|
|
39656
39676
|
rateLimiter: deps.rateLimiter,
|
|
@@ -39669,30 +39689,93 @@ function registerSearchCodebaseTool(server, deps) {
|
|
|
39669
39689
|
// src/mcp/tools/extract-symbols-tool.ts
|
|
39670
39690
|
import { resolve as resolve8, sep as sep4 } from "path";
|
|
39671
39691
|
import { z as z80 } from "zod";
|
|
39692
|
+
var DEFAULT_EXTRACT_MAX_CHARS = 2e4;
|
|
39693
|
+
var DEFAULT_EXTRACT_MAX_SYMBOLS = 200;
|
|
39672
39694
|
var ExtractSymbolsInputSchema = z80.object({
|
|
39673
39695
|
filePath: z80.string().min(1).max(500).describe("Path to TypeScript/JavaScript file to extract symbols from"),
|
|
39674
|
-
mode: z80.enum(["index", "full"]).optional().describe("index: names+lines only (minimal tokens). full: includes source text.")
|
|
39696
|
+
mode: z80.enum(["index", "full"]).optional().describe("index: names+lines only (minimal tokens). full: includes source text."),
|
|
39697
|
+
maxChars: z80.number().int().positive().max(1e6).optional().describe(
|
|
39698
|
+
`full mode only: cap on total emitted symbol source chars (default ${String(DEFAULT_EXTRACT_MAX_CHARS)}). Excess is truncated and reported, never silently dropped.`
|
|
39699
|
+
),
|
|
39700
|
+
maxSymbols: z80.number().int().positive().max(1e4).optional().describe(
|
|
39701
|
+
`full mode only: cap on number of symbols emitted (default ${String(DEFAULT_EXTRACT_MAX_SYMBOLS)}).`
|
|
39702
|
+
)
|
|
39675
39703
|
});
|
|
39676
|
-
function
|
|
39677
|
-
return
|
|
39678
|
-
|
|
39679
|
-
|
|
39680
|
-
|
|
39681
|
-
|
|
39682
|
-
|
|
39683
|
-
|
|
39684
|
-
|
|
39685
|
-
|
|
39686
|
-
|
|
39687
|
-
|
|
39688
|
-
|
|
39689
|
-
|
|
39690
|
-
|
|
39691
|
-
|
|
39692
|
-
|
|
39693
|
-
|
|
39694
|
-
|
|
39695
|
-
|
|
39704
|
+
function toOutputSymbol(s, text) {
|
|
39705
|
+
return {
|
|
39706
|
+
name: s.name,
|
|
39707
|
+
kind: s.kind,
|
|
39708
|
+
startLine: s.startLine,
|
|
39709
|
+
endLine: s.endLine,
|
|
39710
|
+
exported: s.exported,
|
|
39711
|
+
text: text ?? s.text
|
|
39712
|
+
};
|
|
39713
|
+
}
|
|
39714
|
+
function sumChars(symbols) {
|
|
39715
|
+
return symbols.reduce((sum, s) => sum + s.text.length, 0);
|
|
39716
|
+
}
|
|
39717
|
+
function truncateSymbolText(s, remaining) {
|
|
39718
|
+
const kept = s.text.slice(0, Math.max(0, remaining));
|
|
39719
|
+
const omittedChars = s.text.length - kept.length;
|
|
39720
|
+
return toOutputSymbol(s, `${kept}
|
|
39721
|
+
\u2026 [truncated: ${String(omittedChars)} more chars omitted]`);
|
|
39722
|
+
}
|
|
39723
|
+
function applyCharBudget(symbols, maxChars) {
|
|
39724
|
+
const out = [];
|
|
39725
|
+
let used = 0;
|
|
39726
|
+
for (let i = 0; i < symbols.length; i++) {
|
|
39727
|
+
const s = symbols[i];
|
|
39728
|
+
if (s === void 0) break;
|
|
39729
|
+
const remaining = maxChars - used;
|
|
39730
|
+
if (remaining <= 0) {
|
|
39731
|
+
const rest = symbols.slice(i);
|
|
39732
|
+
return { symbols: out, omittedCount: rest.length, omittedChars: sumChars(rest) };
|
|
39733
|
+
}
|
|
39734
|
+
if (s.text.length > remaining) {
|
|
39735
|
+
out.push(truncateSymbolText(s, remaining));
|
|
39736
|
+
const rest = symbols.slice(i + 1);
|
|
39737
|
+
return {
|
|
39738
|
+
symbols: out,
|
|
39739
|
+
omittedCount: rest.length,
|
|
39740
|
+
omittedChars: s.text.length - remaining + sumChars(rest)
|
|
39741
|
+
};
|
|
39742
|
+
}
|
|
39743
|
+
out.push(toOutputSymbol(s));
|
|
39744
|
+
used += s.text.length;
|
|
39745
|
+
}
|
|
39746
|
+
return { symbols: out, omittedCount: 0, omittedChars: 0 };
|
|
39747
|
+
}
|
|
39748
|
+
function capSymbols(all, maxChars, maxSymbols) {
|
|
39749
|
+
const kept = all.slice(0, Math.max(0, maxSymbols));
|
|
39750
|
+
const countOmitted = all.slice(kept.length);
|
|
39751
|
+
const budgeted = applyCharBudget(kept, maxChars);
|
|
39752
|
+
const omittedSymbols = countOmitted.length + budgeted.omittedCount;
|
|
39753
|
+
const omittedChars = sumChars(countOmitted) + budgeted.omittedChars;
|
|
39754
|
+
return {
|
|
39755
|
+
symbols: budgeted.symbols,
|
|
39756
|
+
omittedSymbols,
|
|
39757
|
+
omittedChars,
|
|
39758
|
+
truncated: omittedSymbols > 0
|
|
39759
|
+
};
|
|
39760
|
+
}
|
|
39761
|
+
function buildFullSymbolOutput(result, maxChars, maxSymbols) {
|
|
39762
|
+
const capped = capSymbols(result.symbols, maxChars, maxSymbols);
|
|
39763
|
+
const payload = {
|
|
39764
|
+
filePath: result.filePath,
|
|
39765
|
+
totalLines: result.totalLines,
|
|
39766
|
+
totalChars: result.totalChars,
|
|
39767
|
+
symbolChars: result.symbolChars,
|
|
39768
|
+
savingsPercent: result.savingsPercent,
|
|
39769
|
+
symbols: capped.symbols
|
|
39770
|
+
};
|
|
39771
|
+
if (capped.truncated) {
|
|
39772
|
+
payload["truncated"] = true;
|
|
39773
|
+
payload["omittedSymbols"] = capped.omittedSymbols;
|
|
39774
|
+
payload["omittedChars"] = capped.omittedChars;
|
|
39775
|
+
payload["maxChars"] = maxChars;
|
|
39776
|
+
payload["maxSymbols"] = maxSymbols;
|
|
39777
|
+
}
|
|
39778
|
+
return JSON.stringify(payload, null, 2);
|
|
39696
39779
|
}
|
|
39697
39780
|
async function extractSymbolsHandler(args, ctx) {
|
|
39698
39781
|
const parsed = ExtractSymbolsInputSchema.safeParse(args);
|
|
@@ -39702,7 +39785,7 @@ async function extractSymbolsHandler(args, ctx) {
|
|
|
39702
39785
|
message: `Validation error: ${formatZodError(parsed.error)}`
|
|
39703
39786
|
});
|
|
39704
39787
|
}
|
|
39705
|
-
const { filePath, mode } = parsed.data;
|
|
39788
|
+
const { filePath, mode, maxChars, maxSymbols } = parsed.data;
|
|
39706
39789
|
const resolvedPath = resolve8(filePath);
|
|
39707
39790
|
const cwdRoot = resolve8(".");
|
|
39708
39791
|
if (resolvedPath !== cwdRoot && !resolvedPath.startsWith(cwdRoot + sep4)) {
|
|
@@ -39713,7 +39796,12 @@ async function extractSymbolsHandler(args, ctx) {
|
|
|
39713
39796
|
}
|
|
39714
39797
|
try {
|
|
39715
39798
|
if (mode === "full") {
|
|
39716
|
-
|
|
39799
|
+
const output2 = buildFullSymbolOutput(
|
|
39800
|
+
await extractSymbols(resolvedPath),
|
|
39801
|
+
maxChars ?? DEFAULT_EXTRACT_MAX_CHARS,
|
|
39802
|
+
maxSymbols ?? DEFAULT_EXTRACT_MAX_SYMBOLS
|
|
39803
|
+
);
|
|
39804
|
+
return toolSuccess(output2);
|
|
39717
39805
|
}
|
|
39718
39806
|
const index = await extractSymbolIndex(resolvedPath);
|
|
39719
39807
|
if (index === "") {
|
|
@@ -39733,9 +39821,15 @@ function registerExtractSymbolsTool(server, deps) {
|
|
|
39733
39821
|
const logger58 = deps.logger ?? createLogger({ tool: "extract_symbols" });
|
|
39734
39822
|
const toolSchema = {
|
|
39735
39823
|
filePath: z80.string().min(1).max(500).describe("Path to TypeScript/JavaScript file"),
|
|
39736
|
-
mode: z80.enum(["index", "full"]).optional().describe("index (default): names+lines. full: includes source text")
|
|
39824
|
+
mode: z80.enum(["index", "full"]).optional().describe("index (default): names+lines. full: includes source text"),
|
|
39825
|
+
maxChars: z80.number().int().positive().max(1e6).optional().describe(
|
|
39826
|
+
`full mode only: cap on total emitted symbol source chars (default ${String(DEFAULT_EXTRACT_MAX_CHARS)})`
|
|
39827
|
+
),
|
|
39828
|
+
maxSymbols: z80.number().int().positive().max(1e4).optional().describe(
|
|
39829
|
+
`full mode only: cap on number of symbols emitted (default ${String(DEFAULT_EXTRACT_MAX_SYMBOLS)})`
|
|
39830
|
+
)
|
|
39737
39831
|
};
|
|
39738
|
-
const description =
|
|
39832
|
+
const description = `Parse a SINGLE TypeScript/JavaScript file with the TypeScript compiler API and return its structural AST symbols. Use when you need the structure of one file \u2014 function/class/method/interface/type definitions. Not a cross-file search; for that use \`search_codebase\`. Output is 80%+ smaller than reading the full file. Full mode caps total emitted source at ${String(DEFAULT_EXTRACT_MAX_CHARS)} chars / ${String(DEFAULT_EXTRACT_MAX_SYMBOLS)} symbols by default (override via maxChars/maxSymbols); truncation is reported, never silent.`;
|
|
39739
39833
|
const secureHandler = createSecureHandler(extractSymbolsHandler, {
|
|
39740
39834
|
toolName: "extract_symbols",
|
|
39741
39835
|
rateLimiter: deps.rateLimiter,
|
|
@@ -41580,7 +41674,7 @@ async function tryIssueTriage(task) {
|
|
|
41580
41674
|
try {
|
|
41581
41675
|
const issueMatch = task.match(/github\.com\/([^/]+\/[^/]+)\/issues\/(\d+)/);
|
|
41582
41676
|
if (issueMatch === null) return null;
|
|
41583
|
-
const { createIssueTriage } = await import("./issue-triage-
|
|
41677
|
+
const { createIssueTriage } = await import("./issue-triage-TNV4R33I.js");
|
|
41584
41678
|
const triage = createIssueTriage();
|
|
41585
41679
|
const owner = issueMatch[1] ?? "";
|
|
41586
41680
|
const num = issueMatch[2] ?? "";
|
|
@@ -41608,7 +41702,7 @@ var VALID_TEMPLATES = /* @__PURE__ */ new Set([
|
|
|
41608
41702
|
]);
|
|
41609
41703
|
async function classifyWithLLM(task) {
|
|
41610
41704
|
try {
|
|
41611
|
-
const { executeExpert: executeExpert2 } = await import("./expert-bridge-
|
|
41705
|
+
const { executeExpert: executeExpert2 } = await import("./expert-bridge-EAR6XZJA.js");
|
|
41612
41706
|
const prompt = [
|
|
41613
41707
|
"Classify this task into exactly one pipeline template.",
|
|
41614
41708
|
"Templates: dev (implementation/bug fix/refactor), research (investigate/evaluate/compare),",
|
|
@@ -43249,7 +43343,7 @@ var memoryInitPromise = null;
|
|
|
43249
43343
|
async function initPipelineMemory() {
|
|
43250
43344
|
if (cachedMemory !== null) return cachedMemory;
|
|
43251
43345
|
try {
|
|
43252
|
-
const { createSessionMemory: createSessionMemory2 } = await import("./session-memory-
|
|
43346
|
+
const { createSessionMemory: createSessionMemory2 } = await import("./session-memory-5QVKDE4U.js");
|
|
43253
43347
|
const { getLearningDir } = await import("./learning-persistence-6D5GGT7D.js");
|
|
43254
43348
|
const mem = createSessionMemory2(getLearningDir());
|
|
43255
43349
|
mem.startSession(`pipeline-${String(getTimeProvider().now())}`);
|
|
@@ -43311,7 +43405,7 @@ function recordRoutingExperience(category, success, durationMs, tokensUsed = 0,
|
|
|
43311
43405
|
callRecord(routingMemoryCache);
|
|
43312
43406
|
return;
|
|
43313
43407
|
}
|
|
43314
|
-
routingMemoryInitPromise ??= import("./routing-memory-
|
|
43408
|
+
routingMemoryInitPromise ??= import("./routing-memory-XHZKEPUH.js").then(({ createRoutingMemory }) => {
|
|
43315
43409
|
routingMemoryCache ??= createRoutingMemory();
|
|
43316
43410
|
return routingMemoryCache;
|
|
43317
43411
|
}).catch((error) => {
|
|
@@ -43345,7 +43439,7 @@ ${text}` : "";
|
|
|
43345
43439
|
}
|
|
43346
43440
|
async function getWeatherContext() {
|
|
43347
43441
|
try {
|
|
43348
|
-
const { generateWeatherReport: generateWeatherReport2 } = await import("./weather-report-
|
|
43442
|
+
const { generateWeatherReport: generateWeatherReport2 } = await import("./weather-report-MPD66LKP.js");
|
|
43349
43443
|
const report = generateWeatherReport2({ includeAdaptive: true });
|
|
43350
43444
|
const mappings = "recommendedMappings" in report ? report.recommendedMappings : [];
|
|
43351
43445
|
if (!Array.isArray(mappings) || mappings.length === 0) return "";
|
|
@@ -43363,7 +43457,7 @@ ${lines}
|
|
|
43363
43457
|
}
|
|
43364
43458
|
async function getMemoryContext(task) {
|
|
43365
43459
|
try {
|
|
43366
|
-
const { createSessionMemory: createSessionMemory2 } = await import("./session-memory-
|
|
43460
|
+
const { createSessionMemory: createSessionMemory2 } = await import("./session-memory-5QVKDE4U.js");
|
|
43367
43461
|
const { getLearningDir } = await import("./learning-persistence-6D5GGT7D.js");
|
|
43368
43462
|
const memory = createSessionMemory2(getLearningDir(), { maxLearningsInContext: 10 });
|
|
43369
43463
|
const learnings = memory.searchLearnings(task.slice(0, 200));
|
|
@@ -43478,7 +43572,7 @@ ${contextBlock}`;
|
|
|
43478
43572
|
const strategy = config.votingStrategy ?? "higher_order";
|
|
43479
43573
|
await postProgress(config, "Vote", `Running consensus with ${strategy} strategy...`);
|
|
43480
43574
|
try {
|
|
43481
|
-
const { executeVoting } = await import("./consensus-vote-
|
|
43575
|
+
const { executeVoting } = await import("./consensus-vote-KWPS6WNH.js");
|
|
43482
43576
|
const votingResult = await executeVoting(
|
|
43483
43577
|
{
|
|
43484
43578
|
proposal: buildVoteProposal(plan, research),
|
|
@@ -43904,7 +43998,7 @@ function createScaffoldStageWrapper() {
|
|
|
43904
43998
|
}
|
|
43905
43999
|
async function searchCodebaseForTask(task) {
|
|
43906
44000
|
try {
|
|
43907
|
-
const { CodebaseIndex: CodebaseIndex2 } = await import("./codebase-search-
|
|
44001
|
+
const { CodebaseIndex: CodebaseIndex2 } = await import("./codebase-search-DKLEA4PR.js");
|
|
43908
44002
|
const index = new CodebaseIndex2(process.cwd());
|
|
43909
44003
|
const terms = task.toLowerCase().split(/\s+/).filter((w) => w.length > 4).slice(0, 3);
|
|
43910
44004
|
if (terms.length === 0) return null;
|
|
@@ -43919,7 +44013,7 @@ async function searchCodebaseForTask(task) {
|
|
|
43919
44013
|
}
|
|
43920
44014
|
async function queryResearchRegistry(task) {
|
|
43921
44015
|
try {
|
|
43922
|
-
const { synthesizeResearch: synthesizeResearch2 } = await import("./research-helpers-synthesize-
|
|
44016
|
+
const { synthesizeResearch: synthesizeResearch2 } = await import("./research-helpers-synthesize-ONWBGXHO.js");
|
|
43923
44017
|
const topic = task.split(/[.!?\n]/).filter((s) => s.trim().length > 10)[0]?.trim();
|
|
43924
44018
|
if (topic === void 0) return null;
|
|
43925
44019
|
const result = await synthesizeResearch2(topic.slice(0, 50));
|
|
@@ -43990,7 +44084,7 @@ function createScanStageWrapper() {
|
|
|
43990
44084
|
try {
|
|
43991
44085
|
const slug = ctx.task.match(/([a-zA-Z0-9._-]+\/[a-zA-Z0-9._-]+)/)?.[1];
|
|
43992
44086
|
if (slug !== void 0) {
|
|
43993
|
-
const { generateSecurityPlan: generateSecurityPlan2 } = await import("./repo-security-plan-
|
|
44087
|
+
const { generateSecurityPlan: generateSecurityPlan2 } = await import("./repo-security-plan-CFRLHIMY.js");
|
|
43994
44088
|
const plan = await generateSecurityPlan2({ repo: slug, maxScanners: 10 });
|
|
43995
44089
|
const recs = plan.recommendations.slice(0, 5).map((r) => `${r.priority}: ${r.displayName} (${r.category})`).join("; ");
|
|
43996
44090
|
return output(PIPELINE_STATE_KEYS.FINDINGS, recs, getTimeProvider().now() - start, true);
|
|
@@ -46950,7 +47044,7 @@ var GitHubTaskTracker = class {
|
|
|
46950
47044
|
cachedProvider = null;
|
|
46951
47045
|
async getProvider() {
|
|
46952
47046
|
if (this.cachedProvider !== null) return this.cachedProvider;
|
|
46953
|
-
const { createScmProvider } = await import("./factory-
|
|
47047
|
+
const { createScmProvider } = await import("./factory-7SVW7XMV.js");
|
|
46954
47048
|
const result = await createScmProvider({ repo: this.config.repo ?? "" });
|
|
46955
47049
|
if (!result.ok) throw new Error(`SCM provider error: ${result.error.message}`);
|
|
46956
47050
|
this.cachedProvider = result.value;
|
|
@@ -47757,7 +47851,7 @@ async function probeSource(source, includeModelIds) {
|
|
|
47757
47851
|
}
|
|
47758
47852
|
}
|
|
47759
47853
|
async function defaultSources(includeOpenRouter) {
|
|
47760
|
-
const { createAllAdapters: createAllAdapters2 } = await import("./factory-
|
|
47854
|
+
const { createAllAdapters: createAllAdapters2 } = await import("./factory-JYAUOFEN.js");
|
|
47761
47855
|
const adapters = createAllAdapters2();
|
|
47762
47856
|
return buildDefaultModelSources(adapters, { includeOpenRouter });
|
|
47763
47857
|
}
|
|
@@ -51826,4 +51920,4 @@ export {
|
|
|
51826
51920
|
shutdownFeedbackSubscriber,
|
|
51827
51921
|
createEventBusBridge
|
|
51828
51922
|
};
|
|
51829
|
-
//# sourceMappingURL=chunk-
|
|
51923
|
+
//# sourceMappingURL=chunk-JBH4CU46.js.map
|