nexus-agents 2.79.3 → 2.80.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 +2 -2
- package/dist/{child-mcp-config-CTO2MBRM.js → child-mcp-config-SM5I7USN.js} +3 -3
- package/dist/{chunk-YXWGEIQR.js → chunk-2DBPZQLO.js} +8 -5
- package/dist/chunk-2DBPZQLO.js.map +1 -0
- package/dist/chunk-2JQXC3CK.js +317 -0
- package/dist/chunk-2JQXC3CK.js.map +1 -0
- package/dist/{chunk-6E3NMMEY.js → chunk-3RZWLQSC.js} +2 -2
- package/dist/{chunk-6E3NMMEY.js.map → chunk-3RZWLQSC.js.map} +1 -1
- package/dist/{chunk-2UYTFLMO.js → chunk-4XGKCVJL.js} +2 -2
- package/dist/{chunk-SWFJU3W2.js → chunk-6CJIKX6I.js} +63 -51
- package/dist/chunk-6CJIKX6I.js.map +1 -0
- package/dist/{chunk-3NIPH6UP.js → chunk-AYZ6P7CK.js} +2 -2
- package/dist/{chunk-HYU4GZY6.js → chunk-BSIGP5XF.js} +2 -2
- package/dist/{chunk-GONMG4NM.js → chunk-CTSESEFA.js} +2 -2
- package/dist/{chunk-FVPYP5DD.js → chunk-EKRMWVAH.js} +4 -4
- package/dist/{chunk-7XCUZI4G.js → chunk-EVZ7YR7H.js} +4 -4
- package/dist/{chunk-L6SCKLGO.js → chunk-FAJAWO42.js} +3 -3
- package/dist/{chunk-5O6XLBPP.js → chunk-FJHZW7CR.js} +2 -2
- package/dist/{chunk-HB4MIDHJ.js → chunk-GNRANMQ3.js} +122 -72
- package/dist/chunk-GNRANMQ3.js.map +1 -0
- package/dist/{chunk-KT5FIBWS.js → chunk-HBKZ2DJK.js} +2 -2
- package/dist/{chunk-2YPG6PDG.js → chunk-J5XEJHIQ.js} +3 -3
- package/dist/{chunk-ZVCED4Z4.js → chunk-JLWKHYIU.js} +2 -2
- package/dist/{chunk-DLXT23AC.js → chunk-JXDDSNEK.js} +2 -2
- package/dist/{chunk-Q5CFPIJ5.js → chunk-OO6MTUDS.js} +4 -4
- package/dist/chunk-Q2U6SFN2.js +136 -0
- package/dist/chunk-Q2U6SFN2.js.map +1 -0
- package/dist/{chunk-6TFTVW77.js → chunk-QVHXEQFM.js} +3 -3
- package/dist/{chunk-FJWWSVWB.js → chunk-RIUUFBX4.js} +2 -2
- package/dist/{chunk-DNO2INX5.js → chunk-SHVGZK4A.js} +4 -4
- package/dist/{chunk-VIQOVK4E.js → chunk-SJUSQGKH.js} +82 -186
- package/dist/chunk-SJUSQGKH.js.map +1 -0
- package/dist/{chunk-JI7S55R3.js → chunk-UGXR4PAY.js} +35 -9
- package/dist/chunk-UGXR4PAY.js.map +1 -0
- package/dist/{chunk-SD76JZBG.js → chunk-UVALD724.js} +2 -2
- package/dist/{chunk-K2QILJG4.js → chunk-VS4KB3AX.js} +33 -9
- package/dist/chunk-VS4KB3AX.js.map +1 -0
- package/dist/{chunk-PLX6FCFC.js → chunk-YGKPWUJ6.js} +2 -2
- package/dist/{chunk-WDYCIJWN.js → chunk-YMT6H2HQ.js} +13 -14
- package/dist/chunk-YMT6H2HQ.js.map +1 -0
- package/dist/{chunk-D6TM2VHX.js → chunk-ZU2Q3DWE.js} +49 -24
- package/dist/chunk-ZU2Q3DWE.js.map +1 -0
- package/dist/{cli-circuit-breaker-I74ZQ44Q.js → cli-circuit-breaker-JGX54DAD.js} +5 -5
- package/dist/cli.d.ts +1 -1
- package/dist/cli.js +574 -531
- package/dist/cli.js.map +1 -1
- package/dist/{composite-router-V3OC57IE.js → composite-router-UYFYSMBT.js} +3 -3
- package/dist/{consensus-vote-ESFPGEJE.js → consensus-vote-BZ6JSN67.js} +12 -12
- package/dist/{context-retriever-MB3D7KS6.js → context-retriever-G23VVJ5S.js} +6 -6
- package/dist/{doctor-deep-KQ765XZA.js → doctor-deep-OF2LXZ6A.js} +4 -4
- package/dist/expert-bridge-6ZLD2NWD.js +11 -0
- package/dist/{factory-LHHYDVZX.js → factory-I54TX7OY.js} +5 -5
- package/dist/factory-UHDCLEUE.js +14 -0
- package/dist/index.d.ts +31 -7
- package/dist/index.js +31 -29
- package/dist/index.js.map +1 -1
- package/dist/{init-opencode-GXZN2W5S.js → init-opencode-FE7HVWQL.js} +6 -6
- package/dist/issue-triage-7NR5NQUY.js +15 -0
- package/dist/{learning-persistence-Q3HTOGTU.js → learning-persistence-TGOBRUUU.js} +2 -2
- package/dist/{pr-reviewer-helpers-XCY7HOPE.js → pr-reviewer-helpers-L4L324FQ.js} +2 -2
- package/dist/{registry-command-6E4YKAMT.js → registry-command-NZLX7ZFV.js} +3 -3
- package/dist/{repo-security-plan-AGRU72DL.js → repo-security-plan-74GJWJSV.js} +4 -4
- package/dist/{research-helpers-synthesize-K2UCJQQG.js → research-helpers-synthesize-LFPEXRIV.js} +4 -4
- package/dist/{routing-memory-3B6DDZ76.js → routing-memory-Y2LSEQVS.js} +3 -3
- package/dist/{session-memory-L7EQIY2O.js → session-memory-RCNQJDJR.js} +4 -4
- package/dist/{setup-command-QSAGFMGN.js → setup-command-ZPLPOJF2.js} +13 -10
- package/dist/setup-config-F7VRWXY3.js +10 -0
- package/dist/{setup-custom-api-IBDV654K.js → setup-custom-api-XTJ6YZM6.js} +5 -5
- package/dist/{tool-memory-6HCHQLAN.js → tool-memory-COZK6SR7.js} +5 -5
- package/dist/{weather-report-ER3WUZ7S.js → weather-report-O4XOYGPK.js} +3 -3
- package/package.json +4 -4
- package/scripts/postinstall.js +1 -1
- package/dist/chunk-7BMOZJYS.js +0 -83
- package/dist/chunk-7BMOZJYS.js.map +0 -1
- package/dist/chunk-D6TM2VHX.js.map +0 -1
- package/dist/chunk-HB4MIDHJ.js.map +0 -1
- package/dist/chunk-JI7S55R3.js.map +0 -1
- package/dist/chunk-K2QILJG4.js.map +0 -1
- package/dist/chunk-SWFJU3W2.js.map +0 -1
- package/dist/chunk-VIQOVK4E.js.map +0 -1
- package/dist/chunk-WDYCIJWN.js.map +0 -1
- package/dist/chunk-YXWGEIQR.js.map +0 -1
- package/dist/expert-bridge-JKLC57IC.js +0 -10
- package/dist/factory-BUUXNGIB.js +0 -14
- package/dist/issue-triage-RMXPDZ2K.js +0 -15
- package/dist/setup-config-EQT24DD4.js +0 -10
- /package/dist/{child-mcp-config-CTO2MBRM.js.map → child-mcp-config-SM5I7USN.js.map} +0 -0
- /package/dist/{chunk-2UYTFLMO.js.map → chunk-4XGKCVJL.js.map} +0 -0
- /package/dist/{chunk-3NIPH6UP.js.map → chunk-AYZ6P7CK.js.map} +0 -0
- /package/dist/{chunk-HYU4GZY6.js.map → chunk-BSIGP5XF.js.map} +0 -0
- /package/dist/{chunk-GONMG4NM.js.map → chunk-CTSESEFA.js.map} +0 -0
- /package/dist/{chunk-FVPYP5DD.js.map → chunk-EKRMWVAH.js.map} +0 -0
- /package/dist/{chunk-7XCUZI4G.js.map → chunk-EVZ7YR7H.js.map} +0 -0
- /package/dist/{chunk-L6SCKLGO.js.map → chunk-FAJAWO42.js.map} +0 -0
- /package/dist/{chunk-5O6XLBPP.js.map → chunk-FJHZW7CR.js.map} +0 -0
- /package/dist/{chunk-KT5FIBWS.js.map → chunk-HBKZ2DJK.js.map} +0 -0
- /package/dist/{chunk-2YPG6PDG.js.map → chunk-J5XEJHIQ.js.map} +0 -0
- /package/dist/{chunk-ZVCED4Z4.js.map → chunk-JLWKHYIU.js.map} +0 -0
- /package/dist/{chunk-DLXT23AC.js.map → chunk-JXDDSNEK.js.map} +0 -0
- /package/dist/{chunk-Q5CFPIJ5.js.map → chunk-OO6MTUDS.js.map} +0 -0
- /package/dist/{chunk-6TFTVW77.js.map → chunk-QVHXEQFM.js.map} +0 -0
- /package/dist/{chunk-FJWWSVWB.js.map → chunk-RIUUFBX4.js.map} +0 -0
- /package/dist/{chunk-DNO2INX5.js.map → chunk-SHVGZK4A.js.map} +0 -0
- /package/dist/{chunk-SD76JZBG.js.map → chunk-UVALD724.js.map} +0 -0
- /package/dist/{chunk-PLX6FCFC.js.map → chunk-YGKPWUJ6.js.map} +0 -0
- /package/dist/{cli-circuit-breaker-I74ZQ44Q.js.map → cli-circuit-breaker-JGX54DAD.js.map} +0 -0
- /package/dist/{composite-router-V3OC57IE.js.map → composite-router-UYFYSMBT.js.map} +0 -0
- /package/dist/{consensus-vote-ESFPGEJE.js.map → consensus-vote-BZ6JSN67.js.map} +0 -0
- /package/dist/{context-retriever-MB3D7KS6.js.map → context-retriever-G23VVJ5S.js.map} +0 -0
- /package/dist/{doctor-deep-KQ765XZA.js.map → doctor-deep-OF2LXZ6A.js.map} +0 -0
- /package/dist/{expert-bridge-JKLC57IC.js.map → expert-bridge-6ZLD2NWD.js.map} +0 -0
- /package/dist/{factory-BUUXNGIB.js.map → factory-I54TX7OY.js.map} +0 -0
- /package/dist/{factory-LHHYDVZX.js.map → factory-UHDCLEUE.js.map} +0 -0
- /package/dist/{init-opencode-GXZN2W5S.js.map → init-opencode-FE7HVWQL.js.map} +0 -0
- /package/dist/{issue-triage-RMXPDZ2K.js.map → issue-triage-7NR5NQUY.js.map} +0 -0
- /package/dist/{learning-persistence-Q3HTOGTU.js.map → learning-persistence-TGOBRUUU.js.map} +0 -0
- /package/dist/{pr-reviewer-helpers-XCY7HOPE.js.map → pr-reviewer-helpers-L4L324FQ.js.map} +0 -0
- /package/dist/{registry-command-6E4YKAMT.js.map → registry-command-NZLX7ZFV.js.map} +0 -0
- /package/dist/{repo-security-plan-AGRU72DL.js.map → repo-security-plan-74GJWJSV.js.map} +0 -0
- /package/dist/{research-helpers-synthesize-K2UCJQQG.js.map → research-helpers-synthesize-LFPEXRIV.js.map} +0 -0
- /package/dist/{routing-memory-3B6DDZ76.js.map → routing-memory-Y2LSEQVS.js.map} +0 -0
- /package/dist/{session-memory-L7EQIY2O.js.map → session-memory-RCNQJDJR.js.map} +0 -0
- /package/dist/{setup-command-QSAGFMGN.js.map → setup-command-ZPLPOJF2.js.map} +0 -0
- /package/dist/{setup-config-EQT24DD4.js.map → setup-config-F7VRWXY3.js.map} +0 -0
- /package/dist/{setup-custom-api-IBDV654K.js.map → setup-custom-api-XTJ6YZM6.js.map} +0 -0
- /package/dist/{tool-memory-6HCHQLAN.js.map → tool-memory-COZK6SR7.js.map} +0 -0
- /package/dist/{weather-report-ER3WUZ7S.js.map → weather-report-O4XOYGPK.js.map} +0 -0
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
getErrorMessage,
|
|
5
5
|
getTimeProvider,
|
|
6
6
|
ok
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-YMT6H2HQ.js";
|
|
8
8
|
|
|
9
9
|
// src/context/session-memory.ts
|
|
10
10
|
import * as fs from "fs";
|
|
@@ -351,4 +351,4 @@ export {
|
|
|
351
351
|
SessionMemory,
|
|
352
352
|
createSessionMemory
|
|
353
353
|
};
|
|
354
|
-
//# sourceMappingURL=chunk-
|
|
354
|
+
//# sourceMappingURL=chunk-AYZ6P7CK.js.map
|
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
MCP_TIMEOUTS,
|
|
6
6
|
TEST_TIMEOUTS,
|
|
7
7
|
WORKFLOW_TIMEOUTS
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-YMT6H2HQ.js";
|
|
9
9
|
|
|
10
10
|
// src/config/defaults-env.ts
|
|
11
11
|
function parseIntEnv(envKey, fallback) {
|
|
@@ -399,4 +399,4 @@ export {
|
|
|
399
399
|
CUSTOM_API_DEFAULT_MODEL,
|
|
400
400
|
DEFAULTS
|
|
401
401
|
};
|
|
402
|
-
//# sourceMappingURL=chunk-
|
|
402
|
+
//# sourceMappingURL=chunk-BSIGP5XF.js.map
|
|
@@ -2,7 +2,7 @@ import {
|
|
|
2
2
|
createLogger,
|
|
3
3
|
err,
|
|
4
4
|
ok
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-YMT6H2HQ.js";
|
|
6
6
|
|
|
7
7
|
// src/scm/token-resolver.ts
|
|
8
8
|
import { execFile } from "child_process";
|
|
@@ -87,4 +87,4 @@ export {
|
|
|
87
87
|
hasToken,
|
|
88
88
|
getTokenEnvVars
|
|
89
89
|
};
|
|
90
|
-
//# sourceMappingURL=chunk-
|
|
90
|
+
//# sourceMappingURL=chunk-CTSESEFA.js.map
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import {
|
|
2
2
|
resolveToken
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-CTSESEFA.js";
|
|
4
4
|
import {
|
|
5
5
|
GitHubProvider,
|
|
6
6
|
ScmError
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-UVALD724.js";
|
|
8
8
|
import {
|
|
9
9
|
err,
|
|
10
10
|
ok
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-YMT6H2HQ.js";
|
|
12
12
|
|
|
13
13
|
// src/scm/factory.ts
|
|
14
14
|
async function createScmProvider(config) {
|
|
@@ -41,4 +41,4 @@ export {
|
|
|
41
41
|
createScmProvider,
|
|
42
42
|
createGitHubProvider
|
|
43
43
|
};
|
|
44
|
-
//# sourceMappingURL=chunk-
|
|
44
|
+
//# sourceMappingURL=chunk-EKRMWVAH.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
OpenAIAdapter
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-FAJAWO42.js";
|
|
4
4
|
import {
|
|
5
5
|
ConfigError,
|
|
6
6
|
createLogger,
|
|
@@ -9,10 +9,10 @@ import {
|
|
|
9
9
|
getTimeProvider,
|
|
10
10
|
lookupInTreeCapability,
|
|
11
11
|
ok
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-YMT6H2HQ.js";
|
|
13
13
|
import {
|
|
14
14
|
getNexusDataDir
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-2JQXC3CK.js";
|
|
16
16
|
|
|
17
17
|
// src/config/opencode-bridge.ts
|
|
18
18
|
import { readFileSync } from "fs";
|
|
@@ -307,4 +307,4 @@ export {
|
|
|
307
307
|
discoverModels,
|
|
308
308
|
buildOpenAICompatAdapters
|
|
309
309
|
};
|
|
310
|
-
//# sourceMappingURL=chunk-
|
|
310
|
+
//# sourceMappingURL=chunk-EVZ7YR7H.js.map
|
|
@@ -3,14 +3,14 @@ import {
|
|
|
3
3
|
createStream,
|
|
4
4
|
requireApiKey,
|
|
5
5
|
validateApiKeyPresence
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-YGKPWUJ6.js";
|
|
7
7
|
import {
|
|
8
8
|
ModelCapability,
|
|
9
9
|
err,
|
|
10
10
|
getCliModelName,
|
|
11
11
|
getTokenEstimator,
|
|
12
12
|
ok
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-YMT6H2HQ.js";
|
|
14
14
|
|
|
15
15
|
// src/adapters/openai-types.ts
|
|
16
16
|
var OPENAI_MODELS = {
|
|
@@ -553,4 +553,4 @@ export {
|
|
|
553
553
|
OpenAIAdapter,
|
|
554
554
|
createOpenAIAdapter
|
|
555
555
|
};
|
|
556
|
-
//# sourceMappingURL=chunk-
|
|
556
|
+
//# sourceMappingURL=chunk-FAJAWO42.js.map
|
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
err,
|
|
8
8
|
getErrorMessage,
|
|
9
9
|
ok
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-YMT6H2HQ.js";
|
|
11
11
|
|
|
12
12
|
// src/cli/research-helpers-synthesize.ts
|
|
13
13
|
import { z } from "zod";
|
|
@@ -1015,4 +1015,4 @@ export {
|
|
|
1015
1015
|
AttributedInsightSchema,
|
|
1016
1016
|
synthesizeResearch
|
|
1017
1017
|
};
|
|
1018
|
-
//# sourceMappingURL=chunk-
|
|
1018
|
+
//# sourceMappingURL=chunk-FJHZW7CR.js.map
|
|
@@ -7,10 +7,10 @@ import {
|
|
|
7
7
|
import {
|
|
8
8
|
getTokenEnvVars,
|
|
9
9
|
resolveToken
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-CTSESEFA.js";
|
|
11
11
|
import {
|
|
12
12
|
executeExpert
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-VS4KB3AX.js";
|
|
14
14
|
import {
|
|
15
15
|
EventTopics,
|
|
16
16
|
NOOP_NOTIFIER,
|
|
@@ -36,7 +36,7 @@ import {
|
|
|
36
36
|
withAccessPolicy,
|
|
37
37
|
withProgressHeartbeat,
|
|
38
38
|
wrapToolWithTimeout
|
|
39
|
-
} from "./chunk-
|
|
39
|
+
} from "./chunk-6CJIKX6I.js";
|
|
40
40
|
import {
|
|
41
41
|
REGISTRY_PATH,
|
|
42
42
|
getProjectRoot,
|
|
@@ -45,14 +45,14 @@ import {
|
|
|
45
45
|
normalizeTopicToCanonical,
|
|
46
46
|
savePapersRegistry,
|
|
47
47
|
synthesizeResearch
|
|
48
|
-
} from "./chunk-
|
|
48
|
+
} from "./chunk-FJHZW7CR.js";
|
|
49
49
|
import {
|
|
50
50
|
IssueTriage,
|
|
51
51
|
sanitizeInput
|
|
52
|
-
} from "./chunk-
|
|
52
|
+
} from "./chunk-QVHXEQFM.js";
|
|
53
53
|
import {
|
|
54
54
|
generateSecurityPlan
|
|
55
|
-
} from "./chunk-
|
|
55
|
+
} from "./chunk-RIUUFBX4.js";
|
|
56
56
|
import {
|
|
57
57
|
analyzeGitHubRepo
|
|
58
58
|
} from "./chunk-7J7PNOJQ.js";
|
|
@@ -64,7 +64,7 @@ import {
|
|
|
64
64
|
getContextForTask,
|
|
65
65
|
inferTaskCategory,
|
|
66
66
|
summarizeContextForPrompt
|
|
67
|
-
} from "./chunk-
|
|
67
|
+
} from "./chunk-SHVGZK4A.js";
|
|
68
68
|
import {
|
|
69
69
|
DEFAULT_RELEVANCE_CONFIG,
|
|
70
70
|
MemoryImportance,
|
|
@@ -72,17 +72,19 @@ import {
|
|
|
72
72
|
generateHyphenId,
|
|
73
73
|
generateUUID,
|
|
74
74
|
getToolMemory
|
|
75
|
-
} from "./chunk-
|
|
75
|
+
} from "./chunk-OO6MTUDS.js";
|
|
76
76
|
import {
|
|
77
77
|
DEFAULT_TASK_TTL_MS,
|
|
78
78
|
DEFAULT_TOOL_RATE_LIMITS,
|
|
79
|
-
clampTaskTtl
|
|
79
|
+
clampTaskTtl
|
|
80
|
+
} from "./chunk-SJUSQGKH.js";
|
|
81
|
+
import {
|
|
80
82
|
getAvailabilityCache,
|
|
81
83
|
resolveFallback
|
|
82
|
-
} from "./chunk-
|
|
84
|
+
} from "./chunk-Q2U6SFN2.js";
|
|
83
85
|
import {
|
|
84
86
|
DEFAULTS
|
|
85
|
-
} from "./chunk-
|
|
87
|
+
} from "./chunk-BSIGP5XF.js";
|
|
86
88
|
import {
|
|
87
89
|
resolveInsideRoot
|
|
88
90
|
} from "./chunk-NUBSJGQZ.js";
|
|
@@ -98,7 +100,7 @@ import {
|
|
|
98
100
|
getAvailableClis,
|
|
99
101
|
sleep,
|
|
100
102
|
withTimeout
|
|
101
|
-
} from "./chunk-
|
|
103
|
+
} from "./chunk-ZU2Q3DWE.js";
|
|
102
104
|
import {
|
|
103
105
|
BUILT_IN_EXPERTS,
|
|
104
106
|
BuiltInExpertTypeSchema,
|
|
@@ -110,7 +112,7 @@ import {
|
|
|
110
112
|
} from "./chunk-PQHVC4BD.js";
|
|
111
113
|
import {
|
|
112
114
|
createSessionMemory
|
|
113
|
-
} from "./chunk-
|
|
115
|
+
} from "./chunk-AYZ6P7CK.js";
|
|
114
116
|
import {
|
|
115
117
|
AGENT_ROUTER_TIMEOUTS,
|
|
116
118
|
API_TIMEOUTS,
|
|
@@ -180,11 +182,11 @@ import {
|
|
|
180
182
|
resolveModelIdentitySync,
|
|
181
183
|
toExpertTaskAnalysisResult,
|
|
182
184
|
withStep
|
|
183
|
-
} from "./chunk-
|
|
185
|
+
} from "./chunk-YMT6H2HQ.js";
|
|
184
186
|
import {
|
|
185
187
|
getNexusDataDir,
|
|
186
188
|
nexusDataPath
|
|
187
|
-
} from "./chunk-
|
|
189
|
+
} from "./chunk-2JQXC3CK.js";
|
|
188
190
|
|
|
189
191
|
// src/agents/state-machine-types.ts
|
|
190
192
|
var VALID_TRANSITIONS = /* @__PURE__ */ new Map([
|
|
@@ -25534,7 +25536,7 @@ function getAvailableApiKeys() {
|
|
|
25534
25536
|
}
|
|
25535
25537
|
function buildErrorMessage() {
|
|
25536
25538
|
const keyList = API_KEYS.map((k) => ` - ${k.name} (${k.provider})`).join("\n");
|
|
25537
|
-
return "No model adapter available. This operation requires either:\n\n" + CLI_AUTH_INSTRUCTIONS + "\n\n2. An API key environment variable:\n" + keyList + "\n\nSee: https://github.com/
|
|
25539
|
+
return "No model adapter available. This operation requires either:\n\n" + CLI_AUTH_INSTRUCTIONS + "\n\n2. An API key environment variable:\n" + keyList + "\n\nSee: https://github.com/nexus-substrate/nexus-agents#prerequisites--environment";
|
|
25538
25540
|
}
|
|
25539
25541
|
async function detectAvailableClis(cache, log) {
|
|
25540
25542
|
try {
|
|
@@ -26674,7 +26676,7 @@ async function populateUnifiedContextOnState(state) {
|
|
|
26674
26676
|
try {
|
|
26675
26677
|
const taskCandidate = state["task"];
|
|
26676
26678
|
if (typeof taskCandidate !== "string" || taskCandidate === "") return;
|
|
26677
|
-
const { getContextForTask: getContextForTask2, inferTaskCategory: inferTaskCategory2 } = await import("./context-retriever-
|
|
26679
|
+
const { getContextForTask: getContextForTask2, inferTaskCategory: inferTaskCategory2 } = await import("./context-retriever-G23VVJ5S.js");
|
|
26678
26680
|
const ctx = await getContextForTask2({
|
|
26679
26681
|
task: taskCandidate,
|
|
26680
26682
|
category: inferTaskCategory2(taskCandidate),
|
|
@@ -28002,7 +28004,9 @@ function extractWaveAttribution(event) {
|
|
|
28002
28004
|
|
|
28003
28005
|
// src/pipeline/pipeline-runner.ts
|
|
28004
28006
|
var pipelineLogger = createLogger({ component: "PipelineRunner" });
|
|
28005
|
-
|
|
28007
|
+
function getDefaultRunsDir() {
|
|
28008
|
+
return nexusDataPath("runs");
|
|
28009
|
+
}
|
|
28006
28010
|
var PipelineRunner = class {
|
|
28007
28011
|
/** Compiles a PlanContract into a CompiledPipeline. */
|
|
28008
28012
|
compile(plan, options) {
|
|
@@ -28121,7 +28125,7 @@ function mapNodeStatus(status) {
|
|
|
28121
28125
|
function createTraceContext(task, options) {
|
|
28122
28126
|
const bus = options?.eventBus;
|
|
28123
28127
|
const writer = bus !== void 0 ? new TraceWriter(bus, {
|
|
28124
|
-
runsDir: options?.runsDir ??
|
|
28128
|
+
runsDir: options?.runsDir ?? getDefaultRunsDir(),
|
|
28125
28129
|
runId: task.id
|
|
28126
28130
|
}) : void 0;
|
|
28127
28131
|
return { bus, writer };
|
|
@@ -28227,7 +28231,8 @@ var trustTierRule = {
|
|
|
28227
28231
|
evaluate(context) {
|
|
28228
28232
|
const state = context.pipelineState;
|
|
28229
28233
|
const tierVal = state["trustTier"];
|
|
28230
|
-
const
|
|
28234
|
+
const numericTier = typeof tierVal === "number" ? tierVal : typeof tierVal === "string" ? Number(tierVal) : Number.NaN;
|
|
28235
|
+
const tier = Number.isFinite(numericTier) ? numericTier : void 0;
|
|
28231
28236
|
if (tier !== void 0 && tier >= 3 && context.stageType === "execute") {
|
|
28232
28237
|
return {
|
|
28233
28238
|
allow: false,
|
|
@@ -29412,10 +29417,14 @@ function createMockOrchestrator() {
|
|
|
29412
29417
|
async function raceAgainstDeadline(promise, deadlineMs, onTimeout) {
|
|
29413
29418
|
const startedAt = Date.now();
|
|
29414
29419
|
let timer;
|
|
29415
|
-
const timeoutP = new Promise((resolve19) => {
|
|
29420
|
+
const timeoutP = new Promise((resolve19, reject) => {
|
|
29416
29421
|
timer = setTimeout(
|
|
29417
29422
|
() => {
|
|
29418
|
-
|
|
29423
|
+
try {
|
|
29424
|
+
resolve19(onTimeout(Date.now() - startedAt));
|
|
29425
|
+
} catch (err2) {
|
|
29426
|
+
reject(err2 instanceof Error ? err2 : new Error(String(err2)));
|
|
29427
|
+
}
|
|
29419
29428
|
},
|
|
29420
29429
|
Math.max(0, deadlineMs)
|
|
29421
29430
|
);
|
|
@@ -35473,7 +35482,7 @@ function handleExpertFailure(task, expert, errorMsg, durationMs) {
|
|
|
35473
35482
|
});
|
|
35474
35483
|
const durationSec = Math.round(durationMs / 1e3);
|
|
35475
35484
|
const model = expert.modelId ?? "default";
|
|
35476
|
-
const timeoutHint = errorMsg.includes("timed out") ?
|
|
35485
|
+
const timeoutHint = errorMsg.includes("timed out") ? ` Hint: client MCP timed out at ${String(durationSec)}s (typically the 60s SDK default). Server budget can be 300-900s but most clients don't honor progress extensions \u2014 see #2631. Workaround: use a client with longer default (Claude Desktop, mcp-inspector --timeout) or shorten the task.` : "";
|
|
35477
35486
|
return {
|
|
35478
35487
|
ok: false,
|
|
35479
35488
|
error: `Expert execution failed after ${String(durationSec)}s (role=${expert.role}, model=${model}): ${errorMsg}${timeoutHint}`
|
|
@@ -40704,7 +40713,7 @@ var EMPTY_RESPONSE = {
|
|
|
40704
40713
|
source: "not_found"
|
|
40705
40714
|
};
|
|
40706
40715
|
async function queryTraceFromDisk(input, runsDir) {
|
|
40707
|
-
const dir = runsDir ??
|
|
40716
|
+
const dir = runsDir ?? getDefaultRunsDir();
|
|
40708
40717
|
const tracePath = join8(dir, input.runId, "trace.jsonl");
|
|
40709
40718
|
const resolvedDir = resolve11(dir);
|
|
40710
40719
|
const resolvedTrace = resolve11(tracePath);
|
|
@@ -41898,7 +41907,7 @@ async function tryIssueTriage(task) {
|
|
|
41898
41907
|
try {
|
|
41899
41908
|
const issueMatch = task.match(/github\.com\/([^/]+\/[^/]+)\/issues\/(\d+)/);
|
|
41900
41909
|
if (issueMatch === null) return null;
|
|
41901
|
-
const { createIssueTriage } = await import("./issue-triage-
|
|
41910
|
+
const { createIssueTriage } = await import("./issue-triage-7NR5NQUY.js");
|
|
41902
41911
|
const triage = createIssueTriage();
|
|
41903
41912
|
const owner = issueMatch[1] ?? "";
|
|
41904
41913
|
const num = issueMatch[2] ?? "";
|
|
@@ -41926,7 +41935,7 @@ var VALID_TEMPLATES = /* @__PURE__ */ new Set([
|
|
|
41926
41935
|
]);
|
|
41927
41936
|
async function classifyWithLLM(task) {
|
|
41928
41937
|
try {
|
|
41929
|
-
const { executeExpert: executeExpert2 } = await import("./expert-bridge-
|
|
41938
|
+
const { executeExpert: executeExpert2 } = await import("./expert-bridge-6ZLD2NWD.js");
|
|
41930
41939
|
const prompt = [
|
|
41931
41940
|
"Classify this task into exactly one pipeline template.",
|
|
41932
41941
|
"Templates: dev (implementation/bug fix/refactor), research (investigate/evaluate/compare),",
|
|
@@ -41994,7 +42003,6 @@ async function runAdaptiveOrchestrator(task, options) {
|
|
|
41994
42003
|
confidence: classification.confidence
|
|
41995
42004
|
});
|
|
41996
42005
|
const result = await runGraphPipeline(cleanTask, template, options.stages, options);
|
|
41997
|
-
recordPipelineOutcome(template.id, classification, result.success);
|
|
41998
42006
|
return { ...result, selectionMethod, taskClassification: classification };
|
|
41999
42007
|
}
|
|
42000
42008
|
function resolveTemplate(templateId) {
|
|
@@ -42005,21 +42013,6 @@ function resolveTemplate(templateId) {
|
|
|
42005
42013
|
if (fallback !== void 0) return fallback;
|
|
42006
42014
|
return { id: "dev", name: "Development", stages: [] };
|
|
42007
42015
|
}
|
|
42008
|
-
function recordPipelineOutcome(templateId, classification, success) {
|
|
42009
|
-
try {
|
|
42010
|
-
getOutcomeStore().append({
|
|
42011
|
-
id: `pipeline-${templateId}-${String(Date.now())}`,
|
|
42012
|
-
cli: "claude",
|
|
42013
|
-
category: "code_generation",
|
|
42014
|
-
model: `pipeline-${templateId}`,
|
|
42015
|
-
success,
|
|
42016
|
-
durationMs: 0,
|
|
42017
|
-
timestamp: (/* @__PURE__ */ new Date()).toISOString(),
|
|
42018
|
-
source: "delegate"
|
|
42019
|
-
});
|
|
42020
|
-
} catch {
|
|
42021
|
-
}
|
|
42022
|
-
}
|
|
42023
42016
|
|
|
42024
42017
|
// src/security/sarif-types.ts
|
|
42025
42018
|
import { z as z86 } from "zod";
|
|
@@ -42695,22 +42688,30 @@ var logger37 = createLogger({ component: "agent-executor" });
|
|
|
42695
42688
|
function emitStageEvent2(stage, status, details) {
|
|
42696
42689
|
emitPipelineStageEvent("dev-pipeline", stage, status, details);
|
|
42697
42690
|
}
|
|
42698
|
-
function recordOutcome(
|
|
42691
|
+
function recordOutcome(args) {
|
|
42692
|
+
if (args.cli === void 0) {
|
|
42693
|
+
logger37.debug("Skipping outcome record \u2014 no cli (bridge failed or non-CLI stage)", {
|
|
42694
|
+
taskId: args.taskId,
|
|
42695
|
+
category: args.category,
|
|
42696
|
+
success: args.success
|
|
42697
|
+
});
|
|
42698
|
+
return;
|
|
42699
|
+
}
|
|
42699
42700
|
try {
|
|
42700
42701
|
getOutcomeStore().append({
|
|
42701
|
-
id: `pipeline-${taskId}-${String(Date.now())}`,
|
|
42702
|
-
cli:
|
|
42703
|
-
category,
|
|
42702
|
+
id: `pipeline-${args.taskId}-${String(Date.now())}`,
|
|
42703
|
+
cli: args.cli,
|
|
42704
|
+
category: args.category,
|
|
42704
42705
|
model: "pipeline",
|
|
42705
|
-
success,
|
|
42706
|
-
durationMs,
|
|
42706
|
+
success: args.success,
|
|
42707
|
+
durationMs: args.durationMs,
|
|
42707
42708
|
timestamp: (/* @__PURE__ */ new Date()).toISOString(),
|
|
42708
42709
|
source: "delegate",
|
|
42709
|
-
routingStage:
|
|
42710
|
-
retryCount:
|
|
42710
|
+
routingStage: args.routingStage,
|
|
42711
|
+
retryCount: args.retryCount
|
|
42711
42712
|
});
|
|
42712
42713
|
} catch (error) {
|
|
42713
|
-
logger37.debug("Failed to record outcome", { taskId, error: String(error) });
|
|
42714
|
+
logger37.debug("Failed to record outcome", { taskId: args.taskId, error: String(error) });
|
|
42714
42715
|
}
|
|
42715
42716
|
}
|
|
42716
42717
|
var cachedMemory = null;
|
|
@@ -42718,8 +42719,8 @@ var memoryInitPromise = null;
|
|
|
42718
42719
|
async function initPipelineMemory() {
|
|
42719
42720
|
if (cachedMemory !== null) return cachedMemory;
|
|
42720
42721
|
try {
|
|
42721
|
-
const { createSessionMemory: createSessionMemory2 } = await import("./session-memory-
|
|
42722
|
-
const { getLearningDir } = await import("./learning-persistence-
|
|
42722
|
+
const { createSessionMemory: createSessionMemory2 } = await import("./session-memory-RCNQJDJR.js");
|
|
42723
|
+
const { getLearningDir } = await import("./learning-persistence-TGOBRUUU.js");
|
|
42723
42724
|
const mem = createSessionMemory2(getLearningDir());
|
|
42724
42725
|
mem.startSession(`pipeline-${String(Date.now())}`);
|
|
42725
42726
|
cachedMemory = {
|
|
@@ -42774,7 +42775,7 @@ function recordRoutingExperience(category, success, durationMs) {
|
|
|
42774
42775
|
callRecord(routingMemoryCache);
|
|
42775
42776
|
return;
|
|
42776
42777
|
}
|
|
42777
|
-
void import("./routing-memory-
|
|
42778
|
+
void import("./routing-memory-Y2LSEQVS.js").then(({ createRoutingMemory }) => {
|
|
42778
42779
|
routingMemoryCache = createRoutingMemory();
|
|
42779
42780
|
callRecord(routingMemoryCache);
|
|
42780
42781
|
}).catch((error) => {
|
|
@@ -42803,7 +42804,7 @@ ${text}` : "";
|
|
|
42803
42804
|
}
|
|
42804
42805
|
async function getWeatherContext() {
|
|
42805
42806
|
try {
|
|
42806
|
-
const { generateWeatherReport: generateWeatherReport2 } = await import("./weather-report-
|
|
42807
|
+
const { generateWeatherReport: generateWeatherReport2 } = await import("./weather-report-O4XOYGPK.js");
|
|
42807
42808
|
const report = generateWeatherReport2({ includeAdaptive: true });
|
|
42808
42809
|
const mappings = "recommendedMappings" in report ? report.recommendedMappings : [];
|
|
42809
42810
|
if (!Array.isArray(mappings) || mappings.length === 0) return "";
|
|
@@ -42821,8 +42822,8 @@ ${lines}
|
|
|
42821
42822
|
}
|
|
42822
42823
|
async function getMemoryContext(task) {
|
|
42823
42824
|
try {
|
|
42824
|
-
const { createSessionMemory: createSessionMemory2 } = await import("./session-memory-
|
|
42825
|
-
const { getLearningDir } = await import("./learning-persistence-
|
|
42825
|
+
const { createSessionMemory: createSessionMemory2 } = await import("./session-memory-RCNQJDJR.js");
|
|
42826
|
+
const { getLearningDir } = await import("./learning-persistence-TGOBRUUU.js");
|
|
42826
42827
|
const memory = createSessionMemory2(getLearningDir(), { maxLearningsInContext: 10 });
|
|
42827
42828
|
const learnings = memory.searchLearnings(task.slice(0, 200));
|
|
42828
42829
|
if (learnings.length === 0) return "";
|
|
@@ -42872,8 +42873,15 @@ ${task}`
|
|
|
42872
42873
|
const combined = [discover.text, analyze.text].filter(Boolean).join("\n\n");
|
|
42873
42874
|
const totalMs = discover.durationMs + analyze.durationMs;
|
|
42874
42875
|
const success = discover.success || analyze.success;
|
|
42876
|
+
const researchCli = discover.cli ?? analyze.cli;
|
|
42875
42877
|
emitStageEvent2("research", success ? "completed" : "failed", { durationMs: totalMs });
|
|
42876
|
-
recordOutcome(
|
|
42878
|
+
recordOutcome({
|
|
42879
|
+
taskId: "research",
|
|
42880
|
+
category: "research",
|
|
42881
|
+
cli: researchCli,
|
|
42882
|
+
success,
|
|
42883
|
+
durationMs: totalMs
|
|
42884
|
+
});
|
|
42877
42885
|
if (success && combined.length > 50) {
|
|
42878
42886
|
recordLearning(
|
|
42879
42887
|
`Research for "${task.slice(0, 80)}": ${combined.slice(0, 200)}`,
|
|
@@ -42904,7 +42912,13 @@ ${contextBlock}`;
|
|
|
42904
42912
|
await postProgress(config, "Plan", feedback !== void 0 ? "Revising..." : "Planning...");
|
|
42905
42913
|
const r = await executeExpert("architecture", prompt);
|
|
42906
42914
|
emitStageEvent2("plan", r.success ? "completed" : "failed", { durationMs: r.durationMs });
|
|
42907
|
-
recordOutcome(
|
|
42915
|
+
recordOutcome({
|
|
42916
|
+
taskId: "plan",
|
|
42917
|
+
category: "architecture",
|
|
42918
|
+
cli: r.cli,
|
|
42919
|
+
success: r.success,
|
|
42920
|
+
durationMs: r.durationMs
|
|
42921
|
+
});
|
|
42908
42922
|
await postProgress(config, "Plan", `Done (${r.text.length} chars, ${r.durationMs}ms)`);
|
|
42909
42923
|
return r.text || prompt;
|
|
42910
42924
|
},
|
|
@@ -42914,7 +42928,7 @@ ${contextBlock}`;
|
|
|
42914
42928
|
const strategy = config.votingStrategy ?? "higher_order";
|
|
42915
42929
|
await postProgress(config, "Vote", `Running consensus with ${strategy} strategy...`);
|
|
42916
42930
|
try {
|
|
42917
|
-
const { executeVoting } = await import("./consensus-vote-
|
|
42931
|
+
const { executeVoting } = await import("./consensus-vote-BZ6JSN67.js");
|
|
42918
42932
|
const votingResult = await executeVoting(
|
|
42919
42933
|
{
|
|
42920
42934
|
proposal: plan.slice(0, 4e3),
|
|
@@ -42932,7 +42946,13 @@ ${contextBlock}`;
|
|
|
42932
42946
|
const feedback = votingResult.votes.filter((v) => v.vote.decision !== "approve").map((v) => v.vote.reasoning).join("\n");
|
|
42933
42947
|
const ms = getTimeProvider().now() - start;
|
|
42934
42948
|
emitStageEvent2("vote", "completed", { durationMs: ms });
|
|
42935
|
-
recordOutcome(
|
|
42949
|
+
recordOutcome({
|
|
42950
|
+
taskId: "vote",
|
|
42951
|
+
category: "planning",
|
|
42952
|
+
cli: void 0,
|
|
42953
|
+
success: approved,
|
|
42954
|
+
durationMs: ms
|
|
42955
|
+
});
|
|
42936
42956
|
await postProgress(
|
|
42937
42957
|
config,
|
|
42938
42958
|
"Vote",
|
|
@@ -42945,7 +42965,13 @@ ${contextBlock}`;
|
|
|
42945
42965
|
} catch (error) {
|
|
42946
42966
|
const msg = error instanceof Error ? error.message : String(error);
|
|
42947
42967
|
emitStageEvent2("vote", "failed", { error: msg });
|
|
42948
|
-
recordOutcome(
|
|
42968
|
+
recordOutcome({
|
|
42969
|
+
taskId: "vote",
|
|
42970
|
+
category: "planning",
|
|
42971
|
+
cli: void 0,
|
|
42972
|
+
success: false,
|
|
42973
|
+
durationMs: getTimeProvider().now() - start
|
|
42974
|
+
});
|
|
42949
42975
|
await postProgress(config, "Vote", `Error (auto-approved): ${msg.slice(0, 200)}`);
|
|
42950
42976
|
return { kind: "approved", approvalPercentage: 0 };
|
|
42951
42977
|
}
|
|
@@ -42962,7 +42988,13 @@ ${plan}`
|
|
|
42962
42988
|
);
|
|
42963
42989
|
const tasks = parseTasksFromResponse(r.text, plan);
|
|
42964
42990
|
emitStageEvent2("decompose", "completed", { durationMs: r.durationMs });
|
|
42965
|
-
recordOutcome(
|
|
42991
|
+
recordOutcome({
|
|
42992
|
+
taskId: "decompose",
|
|
42993
|
+
category: "planning",
|
|
42994
|
+
cli: r.cli,
|
|
42995
|
+
success: r.success,
|
|
42996
|
+
durationMs: r.durationMs
|
|
42997
|
+
});
|
|
42966
42998
|
await postProgress(config, "PM", `${tasks.length} task(s)`);
|
|
42967
42999
|
return tasks;
|
|
42968
43000
|
},
|
|
@@ -42982,7 +43014,13 @@ ${task.description}${fb}`
|
|
|
42982
43014
|
emitStageEvent2(`impl-${task.id}`, r.success ? "completed" : "failed", {
|
|
42983
43015
|
durationMs: r.durationMs
|
|
42984
43016
|
});
|
|
42985
|
-
recordOutcome(
|
|
43017
|
+
recordOutcome({
|
|
43018
|
+
taskId: task.id,
|
|
43019
|
+
category: "code_generation",
|
|
43020
|
+
cli: r.cli,
|
|
43021
|
+
success: r.success,
|
|
43022
|
+
durationMs: r.durationMs
|
|
43023
|
+
});
|
|
42986
43024
|
recordRoutingExperience("code_generation", r.success, r.durationMs);
|
|
42987
43025
|
await postProgress(config, `Code [${task.id}]`, `Done (${r.durationMs}ms)`);
|
|
42988
43026
|
return r.text || `[Implementation failed: ${r.error}]`;
|
|
@@ -43005,7 +43043,13 @@ Verdict: PASS/NEEDS_WORK/REJECT`
|
|
|
43005
43043
|
emitStageEvent2(`qa-${task.id}`, review.verdict === "pass" ? "completed" : "failed", {
|
|
43006
43044
|
durationMs: r.durationMs
|
|
43007
43045
|
});
|
|
43008
|
-
recordOutcome(
|
|
43046
|
+
recordOutcome({
|
|
43047
|
+
taskId: task.id,
|
|
43048
|
+
category: "code_review",
|
|
43049
|
+
cli: r.cli,
|
|
43050
|
+
success: review.verdict === "pass",
|
|
43051
|
+
durationMs: r.durationMs
|
|
43052
|
+
});
|
|
43009
43053
|
if (review.verdict === "pass") {
|
|
43010
43054
|
recordLearning(`Task "${task.title}" passed QA`, 0.8, "pipeline-qa");
|
|
43011
43055
|
} else {
|
|
@@ -43027,7 +43071,13 @@ Verdict: PASS/NEEDS_WORK/REJECT`
|
|
|
43027
43071
|
const passed = result.verdict !== "fail";
|
|
43028
43072
|
const ms = getTimeProvider().now() - start;
|
|
43029
43073
|
emitStageEvent2("security", passed ? "completed" : "failed", { durationMs: ms });
|
|
43030
|
-
recordOutcome(
|
|
43074
|
+
recordOutcome({
|
|
43075
|
+
taskId: "security",
|
|
43076
|
+
category: "security_review",
|
|
43077
|
+
cli: void 0,
|
|
43078
|
+
success: passed,
|
|
43079
|
+
durationMs: ms
|
|
43080
|
+
});
|
|
43031
43081
|
await postProgress(config, "Security", passed ? "Passed" : `BLOCKED: ${result.details}`);
|
|
43032
43082
|
flushPipelineMemory();
|
|
43033
43083
|
return { passed, feedback: result.details };
|
|
@@ -43772,7 +43822,7 @@ async function extractSymbolsForTask(task) {
|
|
|
43772
43822
|
}
|
|
43773
43823
|
async function queryResearchRegistry(task) {
|
|
43774
43824
|
try {
|
|
43775
|
-
const { synthesizeResearch: synthesizeResearch2 } = await import("./research-helpers-synthesize-
|
|
43825
|
+
const { synthesizeResearch: synthesizeResearch2 } = await import("./research-helpers-synthesize-LFPEXRIV.js");
|
|
43776
43826
|
const topic = task.split(/[.!?\n]/).filter((s) => s.trim().length > 10)[0]?.trim();
|
|
43777
43827
|
if (topic === void 0) return null;
|
|
43778
43828
|
const result = await synthesizeResearch2(topic.slice(0, 50));
|
|
@@ -43857,7 +43907,7 @@ function createScanStageWrapper() {
|
|
|
43857
43907
|
try {
|
|
43858
43908
|
const slug = ctx.task.match(/([a-zA-Z0-9._-]+\/[a-zA-Z0-9._-]+)/)?.[1];
|
|
43859
43909
|
if (slug !== void 0) {
|
|
43860
|
-
const { generateSecurityPlan: generateSecurityPlan2 } = await import("./repo-security-plan-
|
|
43910
|
+
const { generateSecurityPlan: generateSecurityPlan2 } = await import("./repo-security-plan-74GJWJSV.js");
|
|
43861
43911
|
const plan = await generateSecurityPlan2({ repo: slug, maxScanners: 10 });
|
|
43862
43912
|
const recs = plan.recommendations.slice(0, 5).map((r) => `${r.priority}: ${r.displayName} (${r.category})`).join("; ");
|
|
43863
43913
|
ctx.sharedMemory.write("scan", "decision", { recommendations: recs });
|
|
@@ -49260,7 +49310,7 @@ function createDeprecatedModeFallback(requestedMode, policyConfig) {
|
|
|
49260
49310
|
logger46.warn(`Sandbox mode "${requestedMode}" is no longer supported; using "policy" mode`, {
|
|
49261
49311
|
requestedMode,
|
|
49262
49312
|
actualMode: "policy",
|
|
49263
|
-
reason: "In-process Docker/Deno executors were deleted in #2551. Use the OpenCode sandbox bootstrap for real isolation (NEXUS_SANDBOX environment variable, see docs/
|
|
49313
|
+
reason: "In-process Docker/Deno executors were deleted in #2551. Use the OpenCode sandbox bootstrap for real isolation (NEXUS_SANDBOX environment variable, see docs/guides/SANDBOXED-USAGE.md)."
|
|
49264
49314
|
});
|
|
49265
49315
|
const executor = new PolicySandboxExecutor(policyConfig);
|
|
49266
49316
|
return {
|
|
@@ -49424,7 +49474,7 @@ var GitHubTaskTracker = class {
|
|
|
49424
49474
|
cachedProvider = null;
|
|
49425
49475
|
async getProvider() {
|
|
49426
49476
|
if (this.cachedProvider !== null) return this.cachedProvider;
|
|
49427
|
-
const { createScmProvider } = await import("./factory-
|
|
49477
|
+
const { createScmProvider } = await import("./factory-UHDCLEUE.js");
|
|
49428
49478
|
const result = await createScmProvider({ repo: this.config.repo ?? "" });
|
|
49429
49479
|
if (!result.ok) throw new Error(`SCM provider error: ${result.error.message}`);
|
|
49430
49480
|
this.cachedProvider = result.value;
|
|
@@ -49485,7 +49535,7 @@ var JsonTaskTracker = class {
|
|
|
49485
49535
|
comments = /* @__PURE__ */ new Map();
|
|
49486
49536
|
outputPath;
|
|
49487
49537
|
constructor(config) {
|
|
49488
|
-
const dir = config.outputDir ?? "
|
|
49538
|
+
const dir = config.outputDir ?? nexusDataPath("pipeline");
|
|
49489
49539
|
this.outputPath = path13.resolve(dir, "tasks.json");
|
|
49490
49540
|
fs14.mkdirSync(path13.dirname(this.outputPath), { recursive: true });
|
|
49491
49541
|
}
|
|
@@ -50129,4 +50179,4 @@ export {
|
|
|
50129
50179
|
detectBackend,
|
|
50130
50180
|
createTaskTracker
|
|
50131
50181
|
};
|
|
50132
|
-
//# sourceMappingURL=chunk-
|
|
50182
|
+
//# sourceMappingURL=chunk-GNRANMQ3.js.map
|