nexus-agents 2.129.2 → 2.130.1
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-TQIZEHVP.js → child-mcp-config-M7WR4XBB.js} +2 -2
- package/dist/{chunk-SDLDZL4K.js → chunk-233PA3DF.js} +90 -129
- package/dist/chunk-233PA3DF.js.map +1 -0
- package/dist/{chunk-6RXP55DL.js → chunk-2GTW7RSB.js} +7 -7
- package/dist/{chunk-FJREQSFG.js → chunk-2Z4V5THE.js} +2 -2
- package/dist/{chunk-GO7JE2MA.js → chunk-3N7TSFKQ.js} +2 -2
- package/dist/{chunk-4FFWDTUE.js → chunk-3UXCVSLJ.js} +2 -2
- package/dist/{chunk-GZFECWWZ.js → chunk-4A6MSCNJ.js} +2 -2
- package/dist/{chunk-JAKYPFLI.js → chunk-5CADWTFO.js} +3 -3
- package/dist/{chunk-TP3VZUQL.js → chunk-5GQMP7QN.js} +3 -3
- package/dist/{chunk-RFXBV3A2.js → chunk-6GGHPZB5.js} +4 -4
- package/dist/{chunk-MXEUDSWT.js → chunk-6LNLTWHE.js} +5 -5
- package/dist/{chunk-ZJPKYTH5.js → chunk-7IMI64LW.js} +3 -3
- package/dist/{chunk-6RXWD3HT.js → chunk-A4MPCXZ7.js} +2 -2
- package/dist/{chunk-BKZ5YD66.js → chunk-ACARS7NG.js} +2 -2
- package/dist/{chunk-IASJVOVO.js → chunk-ADIJIYFA.js} +2 -2
- package/dist/{chunk-5QJTUA7Y.js → chunk-AVRE45DO.js} +3 -3
- package/dist/{chunk-YVJFUOHY.js → chunk-CMRQR57K.js} +3 -3
- package/dist/{chunk-KYLVH42N.js → chunk-E4LAXVQE.js} +2 -2
- package/dist/{chunk-QJ52FRQX.js → chunk-FDY6YOFG.js} +2 -2
- package/dist/{chunk-V2E74WBI.js → chunk-FFJEERPZ.js} +2 -2
- package/dist/{chunk-EORN73QB.js → chunk-IZO437XR.js} +7 -7
- package/dist/{chunk-4IBBMLNR.js → chunk-OGOE3NW5.js} +4 -4
- package/dist/{chunk-JQHZS7GU.js → chunk-PM4MZHQK.js} +4 -4
- package/dist/{chunk-NKAPCKHN.js → chunk-TA5HYM3H.js} +4 -4
- package/dist/{chunk-VLL4L5TK.js → chunk-TGDWL7FG.js} +2 -2
- package/dist/{chunk-U7HHO4UI.js → chunk-ULIAUMQD.js} +2 -2
- package/dist/{chunk-U3FNIYWH.js → chunk-VTTPYENR.js} +2 -2
- package/dist/{chunk-VBAGMX5I.js → chunk-VY5WEC2D.js} +124 -10
- package/dist/chunk-VY5WEC2D.js.map +1 -0
- package/dist/{chunk-47M2C4SO.js → chunk-YEK3ZHO6.js} +5 -5
- package/dist/{chunk-XMQ3EC2B.js → chunk-YHBVFTRG.js} +2 -2
- package/dist/{chunk-RAAMLWMY.js → chunk-YXFQ3L56.js} +7 -7
- package/dist/{chunk-GZTPQMD5.js → chunk-ZM3S6PTN.js} +3 -3
- package/dist/{chunk-HMOPW3XC.js → chunk-ZQ5K3PG4.js} +7 -7
- package/dist/{cli-circuit-breaker-3CWRA7DZ.js → cli-circuit-breaker-XRXLO2V6.js} +4 -4
- package/dist/cli.js +39 -39
- package/dist/{composite-router-MN6W5CEQ.js → composite-router-V36PBE7B.js} +2 -2
- package/dist/{consensus-vote-3EMLBZ25.js → consensus-vote-3REPKLK4.js} +13 -13
- package/dist/{context-retriever-OLWFVOJG.js → context-retriever-KCSSXI6X.js} +8 -8
- package/dist/{doctor-deep-W3QB24SM.js → doctor-deep-WID6FQ2F.js} +3 -3
- package/dist/{expert-bridge-LAB2W5ET.js → expert-bridge-F4UMZFWS.js} +4 -4
- package/dist/factory-B3SPS47O.js +21 -0
- package/dist/{factory-7ZKKQDCI.js → factory-YVHULPTE.js} +5 -5
- package/dist/{improvement-review-ATYDIHSF.js → improvement-review-AMVJW3SI.js} +4 -4
- package/dist/index.d.ts +3030 -2943
- package/dist/index.js +28 -28
- package/dist/{init-opencode-4O2R5S72.js → init-opencode-3UPZL2UQ.js} +5 -5
- package/dist/{issue-triage-G2AKATE4.js → issue-triage-KMDQN2UU.js} +5 -5
- package/dist/{pr-reviewer-helpers-Y6LEGX2P.js → pr-reviewer-helpers-2WBM5GL7.js} +4 -4
- package/dist/{registry-command-X6A27TNG.js → registry-command-AXNA2H35.js} +2 -2
- package/dist/{repo-security-plan-356NFHOZ.js → repo-security-plan-P2KJ4FDT.js} +3 -3
- package/dist/{research-helpers-synthesize-7XWIAM5D.js → research-helpers-synthesize-UHWT62F2.js} +4 -4
- package/dist/{routing-memory-YTLUUXXX.js → routing-memory-7RNR6A45.js} +2 -2
- package/dist/{session-memory-IHQCJWBK.js → session-memory-2J2UBZJA.js} +3 -3
- package/dist/{setup-command-Q4RVDZOO.js → setup-command-22IVI4T6.js} +11 -11
- package/dist/{setup-config-UA4M5OQ4.js → setup-config-Y3S2L4RD.js} +3 -3
- package/dist/{setup-custom-api-UXFN75SS.js → setup-custom-api-AZMHKIHE.js} +3 -3
- package/dist/{tool-memory-SJ57ZJ5F.js → tool-memory-MIZVB4ZT.js} +5 -5
- package/dist/{unified-registry-WMJQUA43.js → unified-registry-V4AZ6UYA.js} +9 -9
- package/dist/{weather-report-WSATZR44.js → weather-report-WZKEEAC7.js} +2 -2
- package/package.json +1 -1
- package/dist/chunk-SDLDZL4K.js.map +0 -1
- package/dist/chunk-VBAGMX5I.js.map +0 -1
- package/dist/factory-JNLNQ67U.js +0 -21
- /package/dist/{child-mcp-config-TQIZEHVP.js.map → child-mcp-config-M7WR4XBB.js.map} +0 -0
- /package/dist/{chunk-6RXP55DL.js.map → chunk-2GTW7RSB.js.map} +0 -0
- /package/dist/{chunk-FJREQSFG.js.map → chunk-2Z4V5THE.js.map} +0 -0
- /package/dist/{chunk-GO7JE2MA.js.map → chunk-3N7TSFKQ.js.map} +0 -0
- /package/dist/{chunk-4FFWDTUE.js.map → chunk-3UXCVSLJ.js.map} +0 -0
- /package/dist/{chunk-GZFECWWZ.js.map → chunk-4A6MSCNJ.js.map} +0 -0
- /package/dist/{chunk-JAKYPFLI.js.map → chunk-5CADWTFO.js.map} +0 -0
- /package/dist/{chunk-TP3VZUQL.js.map → chunk-5GQMP7QN.js.map} +0 -0
- /package/dist/{chunk-RFXBV3A2.js.map → chunk-6GGHPZB5.js.map} +0 -0
- /package/dist/{chunk-MXEUDSWT.js.map → chunk-6LNLTWHE.js.map} +0 -0
- /package/dist/{chunk-ZJPKYTH5.js.map → chunk-7IMI64LW.js.map} +0 -0
- /package/dist/{chunk-6RXWD3HT.js.map → chunk-A4MPCXZ7.js.map} +0 -0
- /package/dist/{chunk-BKZ5YD66.js.map → chunk-ACARS7NG.js.map} +0 -0
- /package/dist/{chunk-IASJVOVO.js.map → chunk-ADIJIYFA.js.map} +0 -0
- /package/dist/{chunk-5QJTUA7Y.js.map → chunk-AVRE45DO.js.map} +0 -0
- /package/dist/{chunk-YVJFUOHY.js.map → chunk-CMRQR57K.js.map} +0 -0
- /package/dist/{chunk-KYLVH42N.js.map → chunk-E4LAXVQE.js.map} +0 -0
- /package/dist/{chunk-QJ52FRQX.js.map → chunk-FDY6YOFG.js.map} +0 -0
- /package/dist/{chunk-V2E74WBI.js.map → chunk-FFJEERPZ.js.map} +0 -0
- /package/dist/{chunk-EORN73QB.js.map → chunk-IZO437XR.js.map} +0 -0
- /package/dist/{chunk-4IBBMLNR.js.map → chunk-OGOE3NW5.js.map} +0 -0
- /package/dist/{chunk-JQHZS7GU.js.map → chunk-PM4MZHQK.js.map} +0 -0
- /package/dist/{chunk-NKAPCKHN.js.map → chunk-TA5HYM3H.js.map} +0 -0
- /package/dist/{chunk-VLL4L5TK.js.map → chunk-TGDWL7FG.js.map} +0 -0
- /package/dist/{chunk-U7HHO4UI.js.map → chunk-ULIAUMQD.js.map} +0 -0
- /package/dist/{chunk-U3FNIYWH.js.map → chunk-VTTPYENR.js.map} +0 -0
- /package/dist/{chunk-47M2C4SO.js.map → chunk-YEK3ZHO6.js.map} +0 -0
- /package/dist/{chunk-XMQ3EC2B.js.map → chunk-YHBVFTRG.js.map} +0 -0
- /package/dist/{chunk-RAAMLWMY.js.map → chunk-YXFQ3L56.js.map} +0 -0
- /package/dist/{chunk-GZTPQMD5.js.map → chunk-ZM3S6PTN.js.map} +0 -0
- /package/dist/{chunk-HMOPW3XC.js.map → chunk-ZQ5K3PG4.js.map} +0 -0
- /package/dist/{cli-circuit-breaker-3CWRA7DZ.js.map → cli-circuit-breaker-XRXLO2V6.js.map} +0 -0
- /package/dist/{composite-router-MN6W5CEQ.js.map → composite-router-V36PBE7B.js.map} +0 -0
- /package/dist/{consensus-vote-3EMLBZ25.js.map → consensus-vote-3REPKLK4.js.map} +0 -0
- /package/dist/{context-retriever-OLWFVOJG.js.map → context-retriever-KCSSXI6X.js.map} +0 -0
- /package/dist/{doctor-deep-W3QB24SM.js.map → doctor-deep-WID6FQ2F.js.map} +0 -0
- /package/dist/{expert-bridge-LAB2W5ET.js.map → expert-bridge-F4UMZFWS.js.map} +0 -0
- /package/dist/{factory-7ZKKQDCI.js.map → factory-B3SPS47O.js.map} +0 -0
- /package/dist/{factory-JNLNQ67U.js.map → factory-YVHULPTE.js.map} +0 -0
- /package/dist/{improvement-review-ATYDIHSF.js.map → improvement-review-AMVJW3SI.js.map} +0 -0
- /package/dist/{init-opencode-4O2R5S72.js.map → init-opencode-3UPZL2UQ.js.map} +0 -0
- /package/dist/{issue-triage-G2AKATE4.js.map → issue-triage-KMDQN2UU.js.map} +0 -0
- /package/dist/{pr-reviewer-helpers-Y6LEGX2P.js.map → pr-reviewer-helpers-2WBM5GL7.js.map} +0 -0
- /package/dist/{registry-command-X6A27TNG.js.map → registry-command-AXNA2H35.js.map} +0 -0
- /package/dist/{repo-security-plan-356NFHOZ.js.map → repo-security-plan-P2KJ4FDT.js.map} +0 -0
- /package/dist/{research-helpers-synthesize-7XWIAM5D.js.map → research-helpers-synthesize-UHWT62F2.js.map} +0 -0
- /package/dist/{routing-memory-YTLUUXXX.js.map → routing-memory-7RNR6A45.js.map} +0 -0
- /package/dist/{session-memory-IHQCJWBK.js.map → session-memory-2J2UBZJA.js.map} +0 -0
- /package/dist/{setup-command-Q4RVDZOO.js.map → setup-command-22IVI4T6.js.map} +0 -0
- /package/dist/{setup-config-UA4M5OQ4.js.map → setup-config-Y3S2L4RD.js.map} +0 -0
- /package/dist/{setup-custom-api-UXFN75SS.js.map → setup-custom-api-AZMHKIHE.js.map} +0 -0
- /package/dist/{tool-memory-SJ57ZJ5F.js.map → tool-memory-MIZVB4ZT.js.map} +0 -0
- /package/dist/{unified-registry-WMJQUA43.js.map → unified-registry-V4AZ6UYA.js.map} +0 -0
- /package/dist/{weather-report-WSATZR44.js.map → weather-report-WZKEEAC7.js.map} +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createLogger
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-VY5WEC2D.js";
|
|
4
4
|
import "./chunk-ZGLIHPGJ.js";
|
|
5
5
|
import "./chunk-PR4QN5HX.js";
|
|
6
6
|
|
|
@@ -59,4 +59,4 @@ export {
|
|
|
59
59
|
generateMcpConfig,
|
|
60
60
|
getDefaultAllowedTools
|
|
61
61
|
};
|
|
62
|
-
//# sourceMappingURL=child-mcp-config-
|
|
62
|
+
//# sourceMappingURL=child-mcp-config-M7WR4XBB.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
generateSecurityPlan
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-3N7TSFKQ.js";
|
|
4
4
|
import {
|
|
5
5
|
CodebaseIndex,
|
|
6
6
|
extractSymbolIndex,
|
|
@@ -13,7 +13,7 @@ import {
|
|
|
13
13
|
} from "./chunk-WAYGXUSM.js";
|
|
14
14
|
import {
|
|
15
15
|
executeExpert
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-YXFQ3L56.js";
|
|
17
17
|
import {
|
|
18
18
|
JobStatusSchema,
|
|
19
19
|
collectRealVotes,
|
|
@@ -31,24 +31,24 @@ import {
|
|
|
31
31
|
toJobSummary,
|
|
32
32
|
warnIfSimulatedOutsideTests,
|
|
33
33
|
writeJobCancelled
|
|
34
|
-
} from "./chunk-
|
|
34
|
+
} from "./chunk-ZQ5K3PG4.js";
|
|
35
35
|
import {
|
|
36
36
|
normalizeTopicToCanonical,
|
|
37
37
|
synthesizeResearch
|
|
38
|
-
} from "./chunk-
|
|
38
|
+
} from "./chunk-7IMI64LW.js";
|
|
39
39
|
import {
|
|
40
40
|
IssueTriage,
|
|
41
41
|
createAuditTrail,
|
|
42
42
|
createGraphAuditBridge,
|
|
43
43
|
emitPipelinePolicyEvent
|
|
44
|
-
} from "./chunk-
|
|
44
|
+
} from "./chunk-6GGHPZB5.js";
|
|
45
45
|
import {
|
|
46
46
|
resolveEnvMode,
|
|
47
47
|
sanitizeInput
|
|
48
|
-
} from "./chunk-
|
|
48
|
+
} from "./chunk-3UXCVSLJ.js";
|
|
49
49
|
import {
|
|
50
50
|
withPrerequisite
|
|
51
|
-
} from "./chunk-
|
|
51
|
+
} from "./chunk-5CADWTFO.js";
|
|
52
52
|
import {
|
|
53
53
|
NOOP_NOTIFIER,
|
|
54
54
|
RateLimiter,
|
|
@@ -70,7 +70,7 @@ import {
|
|
|
70
70
|
withAccessPolicy,
|
|
71
71
|
withProgressHeartbeat,
|
|
72
72
|
wrapToolWithTimeout
|
|
73
|
-
} from "./chunk-
|
|
73
|
+
} from "./chunk-ACARS7NG.js";
|
|
74
74
|
import {
|
|
75
75
|
analyzeGitHubRepo
|
|
76
76
|
} from "./chunk-HFOQKCD2.js";
|
|
@@ -101,29 +101,29 @@ import {
|
|
|
101
101
|
parseRegistry,
|
|
102
102
|
sourceExistsInRegistry,
|
|
103
103
|
summarizeContextForPrompt
|
|
104
|
-
} from "./chunk-
|
|
104
|
+
} from "./chunk-YEK3ZHO6.js";
|
|
105
105
|
import {
|
|
106
106
|
getTokenEnvVars,
|
|
107
107
|
resolveToken
|
|
108
|
-
} from "./chunk-
|
|
108
|
+
} from "./chunk-YHBVFTRG.js";
|
|
109
109
|
import {
|
|
110
110
|
loadPapersRegistry,
|
|
111
111
|
loadTechniquesRegistry
|
|
112
|
-
} from "./chunk-
|
|
112
|
+
} from "./chunk-VTTPYENR.js";
|
|
113
113
|
import {
|
|
114
114
|
DEFAULT_RELEVANCE_CONFIG,
|
|
115
115
|
MemoryImportance,
|
|
116
116
|
calculateTextJaccardSimilarity,
|
|
117
117
|
getToolMemory
|
|
118
|
-
} from "./chunk-
|
|
118
|
+
} from "./chunk-PM4MZHQK.js";
|
|
119
119
|
import {
|
|
120
120
|
createSessionMemory
|
|
121
|
-
} from "./chunk-
|
|
121
|
+
} from "./chunk-FDY6YOFG.js";
|
|
122
122
|
import {
|
|
123
123
|
DEFAULT_TASK_TTL_MS,
|
|
124
124
|
DEFAULT_TOOL_RATE_LIMITS,
|
|
125
125
|
clampTaskTtl
|
|
126
|
-
} from "./chunk-
|
|
126
|
+
} from "./chunk-2GTW7RSB.js";
|
|
127
127
|
import {
|
|
128
128
|
resolveInsideRoot
|
|
129
129
|
} from "./chunk-NUBSJGQZ.js";
|
|
@@ -145,7 +145,7 @@ import {
|
|
|
145
145
|
createEvent,
|
|
146
146
|
getGlobalEventBus,
|
|
147
147
|
getGlobalRegistry
|
|
148
|
-
} from "./chunk-
|
|
148
|
+
} from "./chunk-TA5HYM3H.js";
|
|
149
149
|
import {
|
|
150
150
|
CliDetectionCache,
|
|
151
151
|
asRecord,
|
|
@@ -153,19 +153,19 @@ import {
|
|
|
153
153
|
getAvailableClis,
|
|
154
154
|
sleep,
|
|
155
155
|
withTimeout
|
|
156
|
-
} from "./chunk-
|
|
156
|
+
} from "./chunk-IZO437XR.js";
|
|
157
157
|
import {
|
|
158
158
|
DEFAULTS
|
|
159
|
-
} from "./chunk-
|
|
159
|
+
} from "./chunk-4A6MSCNJ.js";
|
|
160
160
|
import {
|
|
161
161
|
getAvailabilityCache,
|
|
162
162
|
getCliForModelId,
|
|
163
163
|
resolveFallback
|
|
164
|
-
} from "./chunk-
|
|
164
|
+
} from "./chunk-2Z4V5THE.js";
|
|
165
165
|
import {
|
|
166
166
|
generateHyphenId,
|
|
167
167
|
generateUUID
|
|
168
|
-
} from "./chunk-
|
|
168
|
+
} from "./chunk-E4LAXVQE.js";
|
|
169
169
|
import {
|
|
170
170
|
AGENT_ROUTER_TIMEOUTS,
|
|
171
171
|
API_TIMEOUTS,
|
|
@@ -204,6 +204,7 @@ import {
|
|
|
204
204
|
WorkflowError,
|
|
205
205
|
buildCapabilityProfiles,
|
|
206
206
|
buildDefaultModelSources,
|
|
207
|
+
buildResearchContext,
|
|
207
208
|
categorizeOutcomeError,
|
|
208
209
|
categorizeOutcomeErrorMessage,
|
|
209
210
|
clamp,
|
|
@@ -212,6 +213,7 @@ import {
|
|
|
212
213
|
createLogger,
|
|
213
214
|
createSharedTaskAnalyzer,
|
|
214
215
|
deriveEntry,
|
|
216
|
+
deriveResearchMaturity,
|
|
215
217
|
detectCapabilityGaps,
|
|
216
218
|
detectTaskCategory,
|
|
217
219
|
detectTrend,
|
|
@@ -245,12 +247,13 @@ import {
|
|
|
245
247
|
modelSupportsAll,
|
|
246
248
|
ok,
|
|
247
249
|
recordRoutingGaps,
|
|
250
|
+
researchContextFromText,
|
|
248
251
|
resolveModelIdentity,
|
|
249
252
|
resolveModelIdentitySync,
|
|
250
253
|
routingArmDisplaySlot,
|
|
251
254
|
toExpertTaskAnalysisResult,
|
|
252
255
|
withStep
|
|
253
|
-
} from "./chunk-
|
|
256
|
+
} from "./chunk-VY5WEC2D.js";
|
|
254
257
|
import {
|
|
255
258
|
ensureLearningDir,
|
|
256
259
|
getMetaOutcomesFile,
|
|
@@ -26278,7 +26281,7 @@ function execIdFields(executionId) {
|
|
|
26278
26281
|
async function populateUnifiedContextOnState(state, options) {
|
|
26279
26282
|
const taskCandidate = state["task"];
|
|
26280
26283
|
if (typeof taskCandidate !== "string" || taskCandidate === "") return;
|
|
26281
|
-
const { getContextForTask: getContextForTask2, inferTaskCategory: inferTaskCategory2 } = await import("./context-retriever-
|
|
26284
|
+
const { getContextForTask: getContextForTask2, inferTaskCategory: inferTaskCategory2 } = await import("./context-retriever-KCSSXI6X.js");
|
|
26282
26285
|
const category = inferTaskCategory2(taskCandidate);
|
|
26283
26286
|
const executionId = options?.executionId;
|
|
26284
26287
|
const execFields = execIdFields(executionId);
|
|
@@ -41177,7 +41180,7 @@ async function tryIssueTriage(task) {
|
|
|
41177
41180
|
try {
|
|
41178
41181
|
const issueMatch = task.match(/github\.com\/([^/]+\/[^/]+)\/issues\/(\d+)/);
|
|
41179
41182
|
if (issueMatch === null) return null;
|
|
41180
|
-
const { createIssueTriage } = await import("./issue-triage-
|
|
41183
|
+
const { createIssueTriage } = await import("./issue-triage-KMDQN2UU.js");
|
|
41181
41184
|
const triage = createIssueTriage();
|
|
41182
41185
|
const owner = issueMatch[1] ?? "";
|
|
41183
41186
|
const num = issueMatch[2] ?? "";
|
|
@@ -41205,7 +41208,7 @@ var VALID_TEMPLATES = /* @__PURE__ */ new Set([
|
|
|
41205
41208
|
]);
|
|
41206
41209
|
async function classifyWithLLM(task) {
|
|
41207
41210
|
try {
|
|
41208
|
-
const { executeExpert: executeExpert2 } = await import("./expert-bridge-
|
|
41211
|
+
const { executeExpert: executeExpert2 } = await import("./expert-bridge-F4UMZFWS.js");
|
|
41209
41212
|
const prompt = [
|
|
41210
41213
|
"Classify this task into exactly one pipeline template.",
|
|
41211
41214
|
"Templates: dev (implementation/bug fix/refactor), research (investigate/evaluate/compare),",
|
|
@@ -41669,7 +41672,7 @@ async function runDevPipeline(task, stages, options) {
|
|
|
41669
41672
|
}
|
|
41670
41673
|
async function runDevPipelineInner(task, stages, options, sid, prior) {
|
|
41671
41674
|
const { beliefMemory: bm, auditLogger, trustTier } = options ?? {};
|
|
41672
|
-
const { planResult } = await runPlanningPhase(task, stages, prior, options);
|
|
41675
|
+
const { planResult, researchMaturity } = await runPlanningPhase(task, stages, prior, options);
|
|
41673
41676
|
if (options?.dryRun === true) {
|
|
41674
41677
|
logger39.info("Dry run \u2014 stopping after plan+vote");
|
|
41675
41678
|
return buildDryRunResult(planResult);
|
|
@@ -41678,7 +41681,8 @@ async function runDevPipelineInner(task, stages, options, sid, prior) {
|
|
|
41678
41681
|
const tasks = await runOrResumeDecompose(prior, planResult.plan, stages, {
|
|
41679
41682
|
conditional: planResult.conditional,
|
|
41680
41683
|
conditions: planResult.conditions,
|
|
41681
|
-
caveats: planResult.caveats
|
|
41684
|
+
caveats: planResult.caveats,
|
|
41685
|
+
researchMaturity
|
|
41682
41686
|
});
|
|
41683
41687
|
if (sid !== void 0) saveStageCheckpoint(sid, "decompose", { type: "decompose", tasks });
|
|
41684
41688
|
if (options?.mode === "harness") {
|
|
@@ -41874,31 +41878,33 @@ function buildDryRunResult(planResult) {
|
|
|
41874
41878
|
};
|
|
41875
41879
|
}
|
|
41876
41880
|
async function resolveResearch(prior, task, stages, options) {
|
|
41877
|
-
|
|
41878
|
-
|
|
41879
|
-
|
|
41880
|
-
|
|
41881
|
-
|
|
41882
|
-
|
|
41883
|
-
|
|
41884
|
-
|
|
41885
|
-
|
|
41886
|
-
|
|
41887
|
-
|
|
41888
|
-
|
|
41889
|
-
|
|
41890
|
-
|
|
41891
|
-
|
|
41892
|
-
|
|
41893
|
-
)
|
|
41881
|
+
if (prior?.research !== void 0) {
|
|
41882
|
+
logger39.info("Resuming from checkpoint", { stage: "research" });
|
|
41883
|
+
return researchContextFromText(prior.research);
|
|
41884
|
+
}
|
|
41885
|
+
const override = options?.researchOverride;
|
|
41886
|
+
if (override !== void 0) {
|
|
41887
|
+
return researchContextFromText(override);
|
|
41888
|
+
}
|
|
41889
|
+
options?.untrustedInputGuard?.();
|
|
41890
|
+
return withStep(
|
|
41891
|
+
{ name: "research", kind: "pipeline.stage", attrs: { task: task.slice(0, 100) } },
|
|
41892
|
+
async (ctx) => {
|
|
41893
|
+
const rc = await stages.research(task);
|
|
41894
|
+
ctx.setSummary(`${String(rc.text.length)} chars`);
|
|
41895
|
+
return rc;
|
|
41896
|
+
}
|
|
41894
41897
|
);
|
|
41895
41898
|
}
|
|
41896
41899
|
async function runPlanningPhase(task, stages, prior, options) {
|
|
41897
41900
|
const sid = options?.sessionId;
|
|
41898
41901
|
const bm = options?.beliefMemory;
|
|
41899
41902
|
const research = await resolveResearch(prior, task, stages, options);
|
|
41900
|
-
|
|
41901
|
-
|
|
41903
|
+
const researchMaturity = deriveResearchMaturity(research.metadata);
|
|
41904
|
+
if (sid !== void 0) {
|
|
41905
|
+
saveStageCheckpoint(sid, "research", { type: "research", text: research.text });
|
|
41906
|
+
}
|
|
41907
|
+
const planContext = await assemblePlanContext(research.text, task, sid, bm);
|
|
41902
41908
|
const planResult = await runPlanOrResume(prior, task, planContext, stages, sid);
|
|
41903
41909
|
if (sid !== void 0) {
|
|
41904
41910
|
saveStageCheckpoint(sid, "plan", {
|
|
@@ -41915,7 +41921,7 @@ async function runPlanningPhase(task, stages, prior, options) {
|
|
|
41915
41921
|
iterations: planResult.iterations
|
|
41916
41922
|
});
|
|
41917
41923
|
}
|
|
41918
|
-
return { planResult };
|
|
41924
|
+
return { planResult, researchMaturity };
|
|
41919
41925
|
}
|
|
41920
41926
|
function buildHarnessResult(planResult, tasks) {
|
|
41921
41927
|
return {
|
|
@@ -41983,13 +41989,6 @@ async function runQualityGateStage(stages, mode) {
|
|
|
41983
41989
|
}
|
|
41984
41990
|
);
|
|
41985
41991
|
}
|
|
41986
|
-
async function runOrResume(prior, stage, run) {
|
|
41987
|
-
if (prior?.research !== void 0 && stage === "research") {
|
|
41988
|
-
logger39.info("Resuming from checkpoint", { stage });
|
|
41989
|
-
return prior.research;
|
|
41990
|
-
}
|
|
41991
|
-
return run();
|
|
41992
|
-
}
|
|
41993
41992
|
async function runPlanOrResume(prior, task, research, stages, sessionId) {
|
|
41994
41993
|
if (prior?.plan !== void 0) {
|
|
41995
41994
|
logger39.info("Resuming from checkpoint", { stage: "plan", sessionId });
|
|
@@ -42013,14 +42012,11 @@ async function runOrResumeDecompose(prior, plan, stages, meta) {
|
|
|
42013
42012
|
ctx.setSummary(`${String(r.length)} tasks`);
|
|
42014
42013
|
return r;
|
|
42015
42014
|
});
|
|
42016
|
-
|
|
42017
|
-
|
|
42018
|
-
|
|
42019
|
-
|
|
42020
|
-
|
|
42021
|
-
}));
|
|
42022
|
-
}
|
|
42023
|
-
return tasks;
|
|
42015
|
+
return tasks.map((t) => ({
|
|
42016
|
+
...t,
|
|
42017
|
+
...meta.conditional ? { conditions: meta.conditions, caveats: meta.caveats } : {},
|
|
42018
|
+
...meta.researchMaturity !== void 0 ? { researchMaturity: meta.researchMaturity } : {}
|
|
42019
|
+
}));
|
|
42024
42020
|
}
|
|
42025
42021
|
function extractConditionalMeta(vote) {
|
|
42026
42022
|
if (vote.kind === "conditional_go") {
|
|
@@ -42077,7 +42073,9 @@ async function implementSingleTask(task, stages) {
|
|
|
42077
42073
|
description: task.description,
|
|
42078
42074
|
assignedTo: task.assignedTo,
|
|
42079
42075
|
status: "rejected",
|
|
42080
|
-
feedback
|
|
42076
|
+
feedback,
|
|
42077
|
+
// #3234: preserve research-maturity across the rejection reconstruction.
|
|
42078
|
+
researchMaturity: task.researchMaturity
|
|
42081
42079
|
};
|
|
42082
42080
|
}
|
|
42083
42081
|
return stages.implement(currentTask);
|
|
@@ -42095,7 +42093,9 @@ async function implementSingleTask(task, stages) {
|
|
|
42095
42093
|
assignedTo: task.assignedTo,
|
|
42096
42094
|
status: qaResult.approved ? "done" : "rejected",
|
|
42097
42095
|
implementation: qaResult.output,
|
|
42098
|
-
feedback: qaResult.feedback
|
|
42096
|
+
feedback: qaResult.feedback,
|
|
42097
|
+
// #3234: preserve research-maturity through to the final task.
|
|
42098
|
+
researchMaturity: task.researchMaturity
|
|
42099
42099
|
};
|
|
42100
42100
|
return { iterations: qaResult.iterations, task: finalTask };
|
|
42101
42101
|
}
|
|
@@ -42838,57 +42838,6 @@ async function runQualityGate(stage, checks, iteration = 1) {
|
|
|
42838
42838
|
};
|
|
42839
42839
|
}
|
|
42840
42840
|
|
|
42841
|
-
// src/pipeline/research-context.ts
|
|
42842
|
-
var MAX_RENDERED_ITEMS = 8;
|
|
42843
|
-
function sanitizeExternal(value, maxLen = 160) {
|
|
42844
|
-
const collapsed = value.replace(/`/g, "").replace(/[-]/g, " ").replace(/\s+/g, " ").trim();
|
|
42845
|
-
return collapsed.length > maxLen ? `${collapsed.slice(0, maxLen - 1)}\u2026` : collapsed;
|
|
42846
|
-
}
|
|
42847
|
-
function buildResearchContextMetadata(discover, analyze) {
|
|
42848
|
-
const discoveredItems = discover.items.map((item) => ({
|
|
42849
|
-
title: item.title,
|
|
42850
|
-
url: item.url,
|
|
42851
|
-
...item.relevanceScore !== void 0 ? { relevanceScore: item.relevanceScore } : {},
|
|
42852
|
-
alreadyInRegistry: item.alreadyInRegistry
|
|
42853
|
-
})).sort((a, b) => (b.relevanceScore ?? 0) - (a.relevanceScore ?? 0));
|
|
42854
|
-
return {
|
|
42855
|
-
discoveredItems,
|
|
42856
|
-
recommendations: analyze?.recommendations ?? [],
|
|
42857
|
-
qualitySignals: {
|
|
42858
|
-
totalFound: discover.totalFound,
|
|
42859
|
-
newItems: discover.newItems,
|
|
42860
|
-
alreadyInRegistry: discover.alreadyInRegistry
|
|
42861
|
-
}
|
|
42862
|
-
};
|
|
42863
|
-
}
|
|
42864
|
-
function renderResearchText(metadata, topic) {
|
|
42865
|
-
const { discoveredItems, recommendations, qualitySignals } = metadata;
|
|
42866
|
-
const lines = [];
|
|
42867
|
-
lines.push(`[Research] ${sanitizeExternal(topic, 120)}`);
|
|
42868
|
-
lines.push(
|
|
42869
|
-
`Maturity: ${String(qualitySignals.totalFound)} found, ${String(qualitySignals.newItems)} new, ${String(qualitySignals.alreadyInRegistry)} already in registry.`
|
|
42870
|
-
);
|
|
42871
|
-
if (discoveredItems.length > 0) {
|
|
42872
|
-
lines.push("Top discoveries (by relevance):");
|
|
42873
|
-
for (const item of discoveredItems.slice(0, MAX_RENDERED_ITEMS)) {
|
|
42874
|
-
const score = item.relevanceScore !== void 0 ? item.relevanceScore.toFixed(2) : "n/a";
|
|
42875
|
-
const known = item.alreadyInRegistry ? " [in registry]" : "";
|
|
42876
|
-
lines.push(`- ${sanitizeExternal(item.title)} (relevance ${score})${known}`);
|
|
42877
|
-
}
|
|
42878
|
-
} else {
|
|
42879
|
-
lines.push("Top discoveries (by relevance): none.");
|
|
42880
|
-
}
|
|
42881
|
-
if (recommendations.length > 0) {
|
|
42882
|
-
lines.push("Gap recommendations:");
|
|
42883
|
-
for (const rec of recommendations) lines.push(`- ${sanitizeExternal(rec)}`);
|
|
42884
|
-
}
|
|
42885
|
-
return lines.join("\n");
|
|
42886
|
-
}
|
|
42887
|
-
function buildResearchContext(discover, analyze, topic = discover.topic) {
|
|
42888
|
-
const metadata = buildResearchContextMetadata(discover, analyze);
|
|
42889
|
-
return { text: renderResearchText(metadata, topic), metadata };
|
|
42890
|
-
}
|
|
42891
|
-
|
|
42892
42841
|
// src/pipeline/budget-guard.ts
|
|
42893
42842
|
var BudgetGuard = class {
|
|
42894
42843
|
breaker;
|
|
@@ -43018,7 +42967,7 @@ var memoryInitPromise = null;
|
|
|
43018
42967
|
async function initPipelineMemory() {
|
|
43019
42968
|
if (cachedMemory !== null) return cachedMemory;
|
|
43020
42969
|
try {
|
|
43021
|
-
const { createSessionMemory: createSessionMemory2 } = await import("./session-memory-
|
|
42970
|
+
const { createSessionMemory: createSessionMemory2 } = await import("./session-memory-2J2UBZJA.js");
|
|
43022
42971
|
const { getLearningDir } = await import("./learning-persistence-C737Q6EP.js");
|
|
43023
42972
|
const mem = createSessionMemory2(getLearningDir());
|
|
43024
42973
|
mem.startSession(`pipeline-${String(getTimeProvider().now())}`);
|
|
@@ -43066,8 +43015,13 @@ function flushPipelineMemory() {
|
|
|
43066
43015
|
}
|
|
43067
43016
|
var routingMemoryCache = null;
|
|
43068
43017
|
var routingMemoryInitPromise = null;
|
|
43069
|
-
function recordRoutingExperience(category, success, durationMs, tokensUsed = 0) {
|
|
43070
|
-
const metrics = {
|
|
43018
|
+
function recordRoutingExperience(category, success, durationMs, tokensUsed = 0, researchMaturity) {
|
|
43019
|
+
const metrics = {
|
|
43020
|
+
durationMs,
|
|
43021
|
+
tokensUsed,
|
|
43022
|
+
// #3234: record the run's research-maturity (RECORD + measure; #3815 gates use).
|
|
43023
|
+
...researchMaturity !== void 0 ? { researchMaturity } : {}
|
|
43024
|
+
};
|
|
43071
43025
|
const callRecord = (rm) => {
|
|
43072
43026
|
rm.recordExperience(category, ["claude"], success, metrics);
|
|
43073
43027
|
};
|
|
@@ -43075,7 +43029,7 @@ function recordRoutingExperience(category, success, durationMs, tokensUsed = 0)
|
|
|
43075
43029
|
callRecord(routingMemoryCache);
|
|
43076
43030
|
return;
|
|
43077
43031
|
}
|
|
43078
|
-
routingMemoryInitPromise ??= import("./routing-memory-
|
|
43032
|
+
routingMemoryInitPromise ??= import("./routing-memory-7RNR6A45.js").then(({ createRoutingMemory }) => {
|
|
43079
43033
|
routingMemoryCache ??= createRoutingMemory();
|
|
43080
43034
|
return routingMemoryCache;
|
|
43081
43035
|
}).catch((error) => {
|
|
@@ -43109,7 +43063,7 @@ ${text}` : "";
|
|
|
43109
43063
|
}
|
|
43110
43064
|
async function getWeatherContext() {
|
|
43111
43065
|
try {
|
|
43112
|
-
const { generateWeatherReport: generateWeatherReport2 } = await import("./weather-report-
|
|
43066
|
+
const { generateWeatherReport: generateWeatherReport2 } = await import("./weather-report-WZKEEAC7.js");
|
|
43113
43067
|
const report = generateWeatherReport2({ includeAdaptive: true });
|
|
43114
43068
|
const mappings = "recommendedMappings" in report ? report.recommendedMappings : [];
|
|
43115
43069
|
if (!Array.isArray(mappings) || mappings.length === 0) return "";
|
|
@@ -43127,7 +43081,7 @@ ${lines}
|
|
|
43127
43081
|
}
|
|
43128
43082
|
async function getMemoryContext(task) {
|
|
43129
43083
|
try {
|
|
43130
|
-
const { createSessionMemory: createSessionMemory2 } = await import("./session-memory-
|
|
43084
|
+
const { createSessionMemory: createSessionMemory2 } = await import("./session-memory-2J2UBZJA.js");
|
|
43131
43085
|
const { getLearningDir } = await import("./learning-persistence-C737Q6EP.js");
|
|
43132
43086
|
const memory = createSessionMemory2(getLearningDir(), { maxLearningsInContext: 10 });
|
|
43133
43087
|
const learnings = memory.searchLearnings(task.slice(0, 200));
|
|
@@ -43192,14 +43146,15 @@ function createAgentStages(config = {}) {
|
|
|
43192
43146
|
"Research",
|
|
43193
43147
|
`Done (${String(ctx.metadata.discoveredItems.length)} items, ${String(durationMs)}ms)`
|
|
43194
43148
|
);
|
|
43195
|
-
|
|
43149
|
+
const text = memoryCtx ? `${ctx.text}${memoryCtx}` : ctx.text;
|
|
43150
|
+
return { text, metadata: ctx.metadata };
|
|
43196
43151
|
} catch (error) {
|
|
43197
43152
|
const durationMs = getTimeProvider().now() - start;
|
|
43198
43153
|
emitStageEvent2("research", "failed", { durationMs });
|
|
43199
43154
|
logger44.debug("Research stage failed; continuing with minimal context", {
|
|
43200
43155
|
error: error instanceof Error ? error.message : String(error)
|
|
43201
43156
|
});
|
|
43202
|
-
return `[Research failed] ${task.slice(0, 500)}
|
|
43157
|
+
return researchContextFromText(`[Research failed] ${task.slice(0, 500)}`);
|
|
43203
43158
|
}
|
|
43204
43159
|
},
|
|
43205
43160
|
plan: async (task, research, feedback) => {
|
|
@@ -43238,7 +43193,7 @@ ${contextBlock}`;
|
|
|
43238
43193
|
const strategy = config.votingStrategy ?? "higher_order";
|
|
43239
43194
|
await postProgress(config, "Vote", `Running consensus with ${strategy} strategy...`);
|
|
43240
43195
|
try {
|
|
43241
|
-
const { executeVoting } = await import("./consensus-vote-
|
|
43196
|
+
const { executeVoting } = await import("./consensus-vote-3REPKLK4.js");
|
|
43242
43197
|
const votingResult = await executeVoting(
|
|
43243
43198
|
{
|
|
43244
43199
|
proposal: buildVoteProposal(plan, research),
|
|
@@ -43335,7 +43290,13 @@ ${task.description}${fb}`,
|
|
|
43335
43290
|
success: r.success,
|
|
43336
43291
|
durationMs: r.durationMs
|
|
43337
43292
|
});
|
|
43338
|
-
recordRoutingExperience(
|
|
43293
|
+
recordRoutingExperience(
|
|
43294
|
+
"code_generation",
|
|
43295
|
+
r.success,
|
|
43296
|
+
r.durationMs,
|
|
43297
|
+
r.tokensUsed,
|
|
43298
|
+
task.researchMaturity
|
|
43299
|
+
);
|
|
43339
43300
|
await postProgress(config, `Code [${task.id}]`, `Done (${r.durationMs}ms)`);
|
|
43340
43301
|
return r.text || `[Implementation failed: ${r.error}]`;
|
|
43341
43302
|
},
|
|
@@ -43512,7 +43473,7 @@ ${codeContext}`;
|
|
|
43512
43473
|
${enrichedTask}`;
|
|
43513
43474
|
}
|
|
43514
43475
|
const result = await stages.research(enrichedTask);
|
|
43515
|
-
return output(PIPELINE_STATE_KEYS.RESEARCH, result, getTimeProvider().now() - start, true);
|
|
43476
|
+
return output(PIPELINE_STATE_KEYS.RESEARCH, result.text, getTimeProvider().now() - start, true);
|
|
43516
43477
|
} catch (e) {
|
|
43517
43478
|
return failOutput(PIPELINE_STATE_KEYS.RESEARCH, getErrorMessage(e), getTimeProvider().now() - start);
|
|
43518
43479
|
}
|
|
@@ -43669,7 +43630,7 @@ async function searchCodebaseForTask(task) {
|
|
|
43669
43630
|
}
|
|
43670
43631
|
async function queryResearchRegistry(task) {
|
|
43671
43632
|
try {
|
|
43672
|
-
const { synthesizeResearch: synthesizeResearch2 } = await import("./research-helpers-synthesize-
|
|
43633
|
+
const { synthesizeResearch: synthesizeResearch2 } = await import("./research-helpers-synthesize-UHWT62F2.js");
|
|
43673
43634
|
const topic = task.split(/[.!?\n]/).filter((s) => s.trim().length > 10)[0]?.trim();
|
|
43674
43635
|
if (topic === void 0) return null;
|
|
43675
43636
|
const result = await synthesizeResearch2(topic.slice(0, 50));
|
|
@@ -43740,7 +43701,7 @@ function createScanStageWrapper() {
|
|
|
43740
43701
|
try {
|
|
43741
43702
|
const slug = ctx.task.match(/([a-zA-Z0-9._-]+\/[a-zA-Z0-9._-]+)/)?.[1];
|
|
43742
43703
|
if (slug !== void 0) {
|
|
43743
|
-
const { generateSecurityPlan: generateSecurityPlan2 } = await import("./repo-security-plan-
|
|
43704
|
+
const { generateSecurityPlan: generateSecurityPlan2 } = await import("./repo-security-plan-P2KJ4FDT.js");
|
|
43744
43705
|
const plan = await generateSecurityPlan2({ repo: slug, maxScanners: 10 });
|
|
43745
43706
|
const recs = plan.recommendations.slice(0, 5).map((r) => `${r.priority}: ${r.displayName} (${r.category})`).join("; ");
|
|
43746
43707
|
return output(PIPELINE_STATE_KEYS.FINDINGS, recs, getTimeProvider().now() - start, true);
|
|
@@ -45791,7 +45752,7 @@ var GitHubTaskTracker = class {
|
|
|
45791
45752
|
cachedProvider = null;
|
|
45792
45753
|
async getProvider() {
|
|
45793
45754
|
if (this.cachedProvider !== null) return this.cachedProvider;
|
|
45794
|
-
const { createScmProvider } = await import("./factory-
|
|
45755
|
+
const { createScmProvider } = await import("./factory-YVHULPTE.js");
|
|
45795
45756
|
const result = await createScmProvider({ repo: this.config.repo ?? "" });
|
|
45796
45757
|
if (!result.ok) throw new Error(`SCM provider error: ${result.error.message}`);
|
|
45797
45758
|
this.cachedProvider = result.value;
|
|
@@ -46563,7 +46524,7 @@ async function probeSource(source, includeModelIds) {
|
|
|
46563
46524
|
}
|
|
46564
46525
|
}
|
|
46565
46526
|
async function defaultSources(includeOpenRouter) {
|
|
46566
|
-
const { createAllAdapters: createAllAdapters2 } = await import("./factory-
|
|
46527
|
+
const { createAllAdapters: createAllAdapters2 } = await import("./factory-B3SPS47O.js");
|
|
46567
46528
|
const adapters = createAllAdapters2();
|
|
46568
46529
|
return buildDefaultModelSources(adapters, { includeOpenRouter });
|
|
46569
46530
|
}
|
|
@@ -50582,4 +50543,4 @@ export {
|
|
|
50582
50543
|
shutdownFeedbackSubscriber,
|
|
50583
50544
|
createEventBusBridge
|
|
50584
50545
|
};
|
|
50585
|
-
//# sourceMappingURL=chunk-
|
|
50546
|
+
//# sourceMappingURL=chunk-233PA3DF.js.map
|