nexus-agents 8.127.8 → 8.127.10
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/{ast-rule-runner-U7KJLJET.js → ast-rule-runner-KW3QSDNI.js} +3 -3
- package/dist/{child-mcp-config-B6EYZIYW.js → child-mcp-config-2MM5LZCN.js} +2 -2
- package/dist/{chunk-FRBEM62C.js → chunk-25SRHK3D.js} +130 -25
- package/dist/chunk-25SRHK3D.js.map +1 -0
- package/dist/{chunk-SGOTDHQI.js → chunk-44AUGXUS.js} +3 -3
- package/dist/{chunk-65JQBQOK.js → chunk-6FCJIMXR.js} +2 -2
- package/dist/{chunk-RKAODHLN.js → chunk-AQMD7HQY.js} +5 -5
- package/dist/{chunk-5V2VGTTG.js → chunk-B7YJEAUH.js} +7 -5
- package/dist/{chunk-5V2VGTTG.js.map → chunk-B7YJEAUH.js.map} +1 -1
- package/dist/{chunk-VWJERCYG.js → chunk-BCHMK2DE.js} +3 -3
- package/dist/{chunk-WIP6ERE6.js → chunk-BJVQHWHB.js} +5 -5
- package/dist/{chunk-OGUVQMYK.js → chunk-BLBABWTZ.js} +5 -5
- package/dist/{chunk-6NNA2KRG.js → chunk-C32HXRQV.js} +2 -2
- package/dist/{chunk-7HHYZI7I.js → chunk-COOZM7W2.js} +2 -2
- package/dist/{chunk-5RUIF32H.js → chunk-FKTXYYUN.js} +3 -3
- package/dist/{chunk-JHZKOAGF.js → chunk-GHN65H35.js} +3 -3
- package/dist/{chunk-4P6AEBG3.js → chunk-GJBPAZL2.js} +2 -2
- package/dist/{chunk-Y7RP45CI.js → chunk-GNSQPWCJ.js} +2 -2
- package/dist/{chunk-MWUWNR6R.js → chunk-GXPTNQFT.js} +2 -2
- package/dist/{chunk-VXYKND2V.js → chunk-HBABJ3TY.js} +3 -3
- package/dist/{chunk-VXYKND2V.js.map → chunk-HBABJ3TY.js.map} +1 -1
- package/dist/{chunk-F5D22FT3.js → chunk-I2MZGEG4.js} +2 -2
- package/dist/{chunk-IL7TFG7E.js → chunk-IFVDWHOL.js} +4 -4
- package/dist/{chunk-NPYQTGZ4.js → chunk-J2LCNIZD.js} +2 -2
- package/dist/{chunk-XN5UXXPR.js → chunk-K276Q4SO.js} +2 -2
- package/dist/{chunk-ZYLP3I4Q.js → chunk-KOSZ3MBU.js} +2 -2
- package/dist/{chunk-VGTIECMR.js → chunk-L6OAYUYG.js} +4 -4
- package/dist/{chunk-KMATYWSS.js → chunk-LHJFOXSS.js} +2 -2
- package/dist/{chunk-4THH3LZI.js → chunk-M2PQUYVA.js} +23 -18
- package/dist/chunk-M2PQUYVA.js.map +1 -0
- package/dist/{chunk-SLIVLPTO.js → chunk-NNXALFFP.js} +6 -6
- package/dist/{chunk-SIGBVWTN.js → chunk-OTOS7MOC.js} +4 -4
- package/dist/{chunk-WXV6ZMME.js → chunk-OULQZF2D.js} +2 -2
- package/dist/{chunk-2GPN6SBB.js → chunk-QUG7LULI.js} +2 -2
- package/dist/{chunk-2C6OVYYM.js → chunk-S6HGUEJU.js} +41 -41
- package/dist/{chunk-TQPZMYJC.js → chunk-SFBYLIA5.js} +7 -7
- package/dist/{chunk-Y4MY7LL4.js → chunk-VKOGSQUX.js} +5 -5
- package/dist/{chunk-P3G2P3XP.js → chunk-VMUSPRJ6.js} +2 -2
- package/dist/{chunk-QZDPLL4P.js → chunk-VU3EGAVR.js} +4 -4
- package/dist/{chunk-5O4FQXNR.js → chunk-WTLRCY75.js} +12 -12
- package/dist/{chunk-MXL47R7E.js → chunk-XWB3YQKW.js} +2 -2
- package/dist/{cli-circuit-breaker-BKB5TZGZ.js → cli-circuit-breaker-2UQ3EBKK.js} +3 -3
- package/dist/cli.js +44 -44
- package/dist/{composite-router-JKMRE5P4.js → composite-router-UQZUVFDK.js} +2 -2
- package/dist/{consensus-vote-5JGFKK7H.js → consensus-vote-R5ISJYUC.js} +17 -17
- package/dist/{context-retriever-SJOIZOX4.js → context-retriever-4NZAJPGM.js} +8 -8
- package/dist/{doctor-deep-B75BNQD3.js → doctor-deep-7YL76A2X.js} +3 -3
- package/dist/{doctor-gateway-report-VIGDRLWY.js → doctor-gateway-report-UZXPVJWF.js} +8 -8
- package/dist/{doctor-live-JC5DVDST.js → doctor-live-JLMDQAIO.js} +11 -11
- package/dist/{expert-bridge-L6R2EVWC.js → expert-bridge-WMFLPZTK.js} +4 -4
- package/dist/{factory-2U3KP245.js → factory-RMEXOZQ2.js} +5 -5
- package/dist/{factory-IJJM2HI5.js → factory-Z5DKBUDN.js} +10 -10
- package/dist/{improvement-review-F74VDT3T.js → improvement-review-LNS7CHIE.js} +6 -6
- package/dist/index.js +32 -32
- package/dist/{init-opencode-D7MF5Y5U.js → init-opencode-6NFU2U7J.js} +6 -6
- package/dist/{issue-triage-Z5NVHIUY.js → issue-triage-JEJMER3Z.js} +6 -6
- package/dist/{openai-compat-adapter-J7NNEA4M.js → openai-compat-adapter-E7ZXW3MP.js} +6 -6
- package/dist/{pr-reviewer-helpers-FLPL26MT.js → pr-reviewer-helpers-TDGJRPFE.js} +4 -4
- package/dist/{registry-command-Y7UEBY4I.js → registry-command-QXIYH7FP.js} +2 -2
- package/dist/{repo-security-plan-M2ZKPKM5.js → repo-security-plan-PPX4JWVE.js} +3 -3
- package/dist/{research-helpers-synthesize-4RLXKF6Z.js → research-helpers-synthesize-E4BWGAAQ.js} +4 -4
- package/dist/{routing-memory-KS2FVGZK.js → routing-memory-IHGCISY5.js} +2 -2
- package/dist/{session-memory-5YEA6WGW.js → session-memory-4X4VHCBQ.js} +3 -3
- package/dist/{setup-config-S3CCSCGD.js → setup-config-ZDU4P2TO.js} +3 -3
- package/dist/{setup-custom-api-3HABFONX.js → setup-custom-api-ARJJVWJI.js} +4 -4
- package/dist/setup-data-dir-QRHGEEBU.js +34 -0
- package/dist/{tool-memory-YTM6NLSB.js → tool-memory-JCHE5D75.js} +5 -5
- package/dist/{unified-registry-QJ237B7I.js → unified-registry-MWXAMWMX.js} +11 -11
- package/dist/{weather-report-KSK6K3FF.js → weather-report-4J5FSGEX.js} +2 -2
- package/package.json +1 -1
- package/dist/chunk-4THH3LZI.js.map +0 -1
- package/dist/chunk-FRBEM62C.js.map +0 -1
- package/dist/setup-data-dir-Z5CIMVV6.js +0 -34
- /package/dist/{ast-rule-runner-U7KJLJET.js.map → ast-rule-runner-KW3QSDNI.js.map} +0 -0
- /package/dist/{child-mcp-config-B6EYZIYW.js.map → child-mcp-config-2MM5LZCN.js.map} +0 -0
- /package/dist/{chunk-SGOTDHQI.js.map → chunk-44AUGXUS.js.map} +0 -0
- /package/dist/{chunk-65JQBQOK.js.map → chunk-6FCJIMXR.js.map} +0 -0
- /package/dist/{chunk-RKAODHLN.js.map → chunk-AQMD7HQY.js.map} +0 -0
- /package/dist/{chunk-VWJERCYG.js.map → chunk-BCHMK2DE.js.map} +0 -0
- /package/dist/{chunk-WIP6ERE6.js.map → chunk-BJVQHWHB.js.map} +0 -0
- /package/dist/{chunk-OGUVQMYK.js.map → chunk-BLBABWTZ.js.map} +0 -0
- /package/dist/{chunk-6NNA2KRG.js.map → chunk-C32HXRQV.js.map} +0 -0
- /package/dist/{chunk-7HHYZI7I.js.map → chunk-COOZM7W2.js.map} +0 -0
- /package/dist/{chunk-5RUIF32H.js.map → chunk-FKTXYYUN.js.map} +0 -0
- /package/dist/{chunk-JHZKOAGF.js.map → chunk-GHN65H35.js.map} +0 -0
- /package/dist/{chunk-4P6AEBG3.js.map → chunk-GJBPAZL2.js.map} +0 -0
- /package/dist/{chunk-Y7RP45CI.js.map → chunk-GNSQPWCJ.js.map} +0 -0
- /package/dist/{chunk-MWUWNR6R.js.map → chunk-GXPTNQFT.js.map} +0 -0
- /package/dist/{chunk-F5D22FT3.js.map → chunk-I2MZGEG4.js.map} +0 -0
- /package/dist/{chunk-IL7TFG7E.js.map → chunk-IFVDWHOL.js.map} +0 -0
- /package/dist/{chunk-NPYQTGZ4.js.map → chunk-J2LCNIZD.js.map} +0 -0
- /package/dist/{chunk-XN5UXXPR.js.map → chunk-K276Q4SO.js.map} +0 -0
- /package/dist/{chunk-ZYLP3I4Q.js.map → chunk-KOSZ3MBU.js.map} +0 -0
- /package/dist/{chunk-VGTIECMR.js.map → chunk-L6OAYUYG.js.map} +0 -0
- /package/dist/{chunk-KMATYWSS.js.map → chunk-LHJFOXSS.js.map} +0 -0
- /package/dist/{chunk-SLIVLPTO.js.map → chunk-NNXALFFP.js.map} +0 -0
- /package/dist/{chunk-SIGBVWTN.js.map → chunk-OTOS7MOC.js.map} +0 -0
- /package/dist/{chunk-WXV6ZMME.js.map → chunk-OULQZF2D.js.map} +0 -0
- /package/dist/{chunk-2GPN6SBB.js.map → chunk-QUG7LULI.js.map} +0 -0
- /package/dist/{chunk-2C6OVYYM.js.map → chunk-S6HGUEJU.js.map} +0 -0
- /package/dist/{chunk-TQPZMYJC.js.map → chunk-SFBYLIA5.js.map} +0 -0
- /package/dist/{chunk-Y4MY7LL4.js.map → chunk-VKOGSQUX.js.map} +0 -0
- /package/dist/{chunk-P3G2P3XP.js.map → chunk-VMUSPRJ6.js.map} +0 -0
- /package/dist/{chunk-QZDPLL4P.js.map → chunk-VU3EGAVR.js.map} +0 -0
- /package/dist/{chunk-5O4FQXNR.js.map → chunk-WTLRCY75.js.map} +0 -0
- /package/dist/{chunk-MXL47R7E.js.map → chunk-XWB3YQKW.js.map} +0 -0
- /package/dist/{cli-circuit-breaker-BKB5TZGZ.js.map → cli-circuit-breaker-2UQ3EBKK.js.map} +0 -0
- /package/dist/{composite-router-JKMRE5P4.js.map → composite-router-UQZUVFDK.js.map} +0 -0
- /package/dist/{consensus-vote-5JGFKK7H.js.map → consensus-vote-R5ISJYUC.js.map} +0 -0
- /package/dist/{context-retriever-SJOIZOX4.js.map → context-retriever-4NZAJPGM.js.map} +0 -0
- /package/dist/{doctor-deep-B75BNQD3.js.map → doctor-deep-7YL76A2X.js.map} +0 -0
- /package/dist/{doctor-gateway-report-VIGDRLWY.js.map → doctor-gateway-report-UZXPVJWF.js.map} +0 -0
- /package/dist/{doctor-live-JC5DVDST.js.map → doctor-live-JLMDQAIO.js.map} +0 -0
- /package/dist/{expert-bridge-L6R2EVWC.js.map → expert-bridge-WMFLPZTK.js.map} +0 -0
- /package/dist/{factory-2U3KP245.js.map → factory-RMEXOZQ2.js.map} +0 -0
- /package/dist/{factory-IJJM2HI5.js.map → factory-Z5DKBUDN.js.map} +0 -0
- /package/dist/{improvement-review-F74VDT3T.js.map → improvement-review-LNS7CHIE.js.map} +0 -0
- /package/dist/{init-opencode-D7MF5Y5U.js.map → init-opencode-6NFU2U7J.js.map} +0 -0
- /package/dist/{issue-triage-Z5NVHIUY.js.map → issue-triage-JEJMER3Z.js.map} +0 -0
- /package/dist/{openai-compat-adapter-J7NNEA4M.js.map → openai-compat-adapter-E7ZXW3MP.js.map} +0 -0
- /package/dist/{pr-reviewer-helpers-FLPL26MT.js.map → pr-reviewer-helpers-TDGJRPFE.js.map} +0 -0
- /package/dist/{registry-command-Y7UEBY4I.js.map → registry-command-QXIYH7FP.js.map} +0 -0
- /package/dist/{repo-security-plan-M2ZKPKM5.js.map → repo-security-plan-PPX4JWVE.js.map} +0 -0
- /package/dist/{research-helpers-synthesize-4RLXKF6Z.js.map → research-helpers-synthesize-E4BWGAAQ.js.map} +0 -0
- /package/dist/{routing-memory-KS2FVGZK.js.map → routing-memory-IHGCISY5.js.map} +0 -0
- /package/dist/{session-memory-5YEA6WGW.js.map → session-memory-4X4VHCBQ.js.map} +0 -0
- /package/dist/{setup-config-S3CCSCGD.js.map → setup-config-ZDU4P2TO.js.map} +0 -0
- /package/dist/{setup-custom-api-3HABFONX.js.map → setup-custom-api-ARJJVWJI.js.map} +0 -0
- /package/dist/{setup-data-dir-Z5CIMVV6.js.map → setup-data-dir-QRHGEEBU.js.map} +0 -0
- /package/dist/{tool-memory-YTM6NLSB.js.map → tool-memory-JCHE5D75.js.map} +0 -0
- /package/dist/{unified-registry-QJ237B7I.js.map → unified-registry-MWXAMWMX.js.map} +0 -0
- /package/dist/{weather-report-KSK6K3FF.js.map → weather-report-4J5FSGEX.js.map} +0 -0
|
@@ -9,8 +9,8 @@ import {
|
|
|
9
9
|
getBuiltInAstRulesPath,
|
|
10
10
|
loadRules,
|
|
11
11
|
runAstQaRules
|
|
12
|
-
} from "./chunk-
|
|
13
|
-
import "./chunk-
|
|
12
|
+
} from "./chunk-GXPTNQFT.js";
|
|
13
|
+
import "./chunk-B7YJEAUH.js";
|
|
14
14
|
import "./chunk-XBEKMUTO.js";
|
|
15
15
|
import "./chunk-UE7A2XHM.js";
|
|
16
16
|
import "./chunk-LWOX65CP.js";
|
|
@@ -27,4 +27,4 @@ export {
|
|
|
27
27
|
loadRules,
|
|
28
28
|
runAstQaRules
|
|
29
29
|
};
|
|
30
|
-
//# sourceMappingURL=ast-rule-runner-
|
|
30
|
+
//# sourceMappingURL=ast-rule-runner-KW3QSDNI.js.map
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
} from "./chunk-OITVVSWO.js";
|
|
4
4
|
import {
|
|
5
5
|
createLogger
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-B7YJEAUH.js";
|
|
7
7
|
import "./chunk-XBEKMUTO.js";
|
|
8
8
|
import "./chunk-UE7A2XHM.js";
|
|
9
9
|
import "./chunk-LWOX65CP.js";
|
|
@@ -50,4 +50,4 @@ async function generateMcpConfig(options) {
|
|
|
50
50
|
export {
|
|
51
51
|
generateMcpConfig
|
|
52
52
|
};
|
|
53
|
-
//# sourceMappingURL=child-mcp-config-
|
|
53
|
+
//# sourceMappingURL=child-mcp-config-2MM5LZCN.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
CUSTOM_API_DEFAULT_MODEL
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-J2LCNIZD.js";
|
|
4
4
|
import {
|
|
5
5
|
nexusMkdtempSync
|
|
6
6
|
} from "./chunk-OITVVSWO.js";
|
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
ensureGatewayDiscovered,
|
|
9
9
|
gatewayDiscoveryStatus,
|
|
10
10
|
getAvailabilityCache
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-44AUGXUS.js";
|
|
12
12
|
import {
|
|
13
13
|
AdapterModelError,
|
|
14
14
|
BaseAdapter,
|
|
@@ -19,7 +19,7 @@ import {
|
|
|
19
19
|
requireApiKey,
|
|
20
20
|
validateApiKeyPresence,
|
|
21
21
|
withGatewayUsageRecording
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-XWB3YQKW.js";
|
|
23
23
|
import {
|
|
24
24
|
assertCustomApiHostResolvesPublic,
|
|
25
25
|
hostnameOf,
|
|
@@ -28,22 +28,22 @@ import {
|
|
|
28
28
|
readGatewayEnv,
|
|
29
29
|
redactApiKey,
|
|
30
30
|
validateCustomApiBaseUrl
|
|
31
|
-
} from "./chunk-
|
|
31
|
+
} from "./chunk-QUG7LULI.js";
|
|
32
32
|
import {
|
|
33
33
|
sanitizeOutput
|
|
34
|
-
} from "./chunk-
|
|
34
|
+
} from "./chunk-OULQZF2D.js";
|
|
35
35
|
import {
|
|
36
36
|
extractSystemPrompt
|
|
37
37
|
} from "./chunk-QZUG667L.js";
|
|
38
38
|
import {
|
|
39
39
|
generateHyphenId
|
|
40
|
-
} from "./chunk-
|
|
40
|
+
} from "./chunk-COOZM7W2.js";
|
|
41
41
|
import {
|
|
42
42
|
CliCircuitBreaker,
|
|
43
43
|
DEFAULT_CIRCUIT_BREAKER_CONFIG,
|
|
44
44
|
getCliCircuitBreakerSnapshot,
|
|
45
45
|
getDefaultCliCircuitBreakerRegistry
|
|
46
|
-
} from "./chunk-
|
|
46
|
+
} from "./chunk-GJBPAZL2.js";
|
|
47
47
|
import {
|
|
48
48
|
CLI_NAMES,
|
|
49
49
|
CLI_SUBPROCESS_TIMEOUTS,
|
|
@@ -115,7 +115,7 @@ import {
|
|
|
115
115
|
unenforcedAccessModeRefusal,
|
|
116
116
|
warnIfGatewayCostUndeclared,
|
|
117
117
|
withEnforcedAccessMode
|
|
118
|
-
} from "./chunk-
|
|
118
|
+
} from "./chunk-B7YJEAUH.js";
|
|
119
119
|
import {
|
|
120
120
|
parseBoolValue
|
|
121
121
|
} from "./chunk-LWOX65CP.js";
|
|
@@ -3890,7 +3890,7 @@ function agyPrintTimeoutArgs(timeoutMs) {
|
|
|
3890
3890
|
|
|
3891
3891
|
// src/cli-adapters/adapters/codex-adapter.ts
|
|
3892
3892
|
import { writeFileSync, rmSync } from "node:fs";
|
|
3893
|
-
import { join as
|
|
3893
|
+
import { join as join4 } from "node:path";
|
|
3894
3894
|
|
|
3895
3895
|
// src/cli-adapters/codex-sandbox-preflight.ts
|
|
3896
3896
|
import { execFile as execFile2 } from "node:child_process";
|
|
@@ -4208,9 +4208,12 @@ var CodexResponseParser = class {
|
|
|
4208
4208
|
|
|
4209
4209
|
// src/cli-adapters/codex-mcp-isolation.ts
|
|
4210
4210
|
import { readdirSync as readdirSync2, realpathSync, statSync as statSync2 } from "node:fs";
|
|
4211
|
-
import { join as
|
|
4211
|
+
import { join as join3 } from "node:path";
|
|
4212
4212
|
import { parse as parseToml } from "smol-toml";
|
|
4213
4213
|
|
|
4214
|
+
// src/cli-adapters/codex-cloud-config-auth.ts
|
|
4215
|
+
import { join as join2 } from "node:path";
|
|
4216
|
+
|
|
4214
4217
|
// src/cli-adapters/mcp-config-scan.ts
|
|
4215
4218
|
import {
|
|
4216
4219
|
closeSync,
|
|
@@ -4308,6 +4311,95 @@ function scanOrThrow(cli, scan) {
|
|
|
4308
4311
|
return scan.value;
|
|
4309
4312
|
}
|
|
4310
4313
|
|
|
4314
|
+
// src/cli-adapters/codex-cloud-config-auth.ts
|
|
4315
|
+
var PERSONAL_PLANS = /* @__PURE__ */ new Set([
|
|
4316
|
+
"free",
|
|
4317
|
+
"go",
|
|
4318
|
+
"plus",
|
|
4319
|
+
"pro",
|
|
4320
|
+
"prolite",
|
|
4321
|
+
"promax"
|
|
4322
|
+
]);
|
|
4323
|
+
var NON_BACKEND_MODES = /* @__PURE__ */ new Set([
|
|
4324
|
+
"apikey",
|
|
4325
|
+
"bedrockApiKey",
|
|
4326
|
+
"bedrockAccessKeys"
|
|
4327
|
+
]);
|
|
4328
|
+
var ID_TOKEN_MODES = /* @__PURE__ */ new Set(["chatgpt", "chatgptAuthTokens"]);
|
|
4329
|
+
var AUTH_CLAIMS = "https://api.openai.com/auth";
|
|
4330
|
+
var ECHOABLE_VALUE = /^[A-Za-z0-9_]{1,40}$/;
|
|
4331
|
+
var REFUSAL_SUFFIX = "codex may fetch cloud-managed config whose MCP servers cannot be listed before the run";
|
|
4332
|
+
var MODE_BY_FIELD = [
|
|
4333
|
+
["personal_access_token", "personalAccessToken"],
|
|
4334
|
+
["bedrock_api_key", "bedrockApiKey"],
|
|
4335
|
+
["bedrock_access_keys", "bedrockAccessKeys"],
|
|
4336
|
+
["OPENAI_API_KEY", "apikey"]
|
|
4337
|
+
];
|
|
4338
|
+
function resolvedMode(auth) {
|
|
4339
|
+
const explicit = auth["auth_mode"];
|
|
4340
|
+
if (explicit !== void 0) return typeof explicit === "string" ? explicit : void 0;
|
|
4341
|
+
const byField = MODE_BY_FIELD.find(
|
|
4342
|
+
([field]) => auth[field] !== void 0 && auth[field] !== null
|
|
4343
|
+
);
|
|
4344
|
+
return byField?.[1] ?? "chatgpt";
|
|
4345
|
+
}
|
|
4346
|
+
function planClaim(auth) {
|
|
4347
|
+
const tokens = auth["tokens"];
|
|
4348
|
+
const idToken = isRecord(tokens) ? tokens["id_token"] : void 0;
|
|
4349
|
+
if (typeof idToken !== "string") return err("auth.json has no id_token to read the plan from");
|
|
4350
|
+
const payload = idToken.split(".")[1];
|
|
4351
|
+
let claims;
|
|
4352
|
+
try {
|
|
4353
|
+
claims = payload === void 0 ? void 0 : JSON.parse(Buffer.from(payload, "base64url").toString());
|
|
4354
|
+
} catch {
|
|
4355
|
+
claims = void 0;
|
|
4356
|
+
}
|
|
4357
|
+
const namespace = isRecord(claims) ? claims[AUTH_CLAIMS] : void 0;
|
|
4358
|
+
const plan = isRecord(namespace) ? namespace["chatgpt_plan_type"] : void 0;
|
|
4359
|
+
if (typeof plan !== "string") return err("the auth.json id_token carries no account plan");
|
|
4360
|
+
return ok(plan);
|
|
4361
|
+
}
|
|
4362
|
+
function echoable(value) {
|
|
4363
|
+
return value !== void 0 && ECHOABLE_VALUE.test(value) ? JSON.stringify(value) : "an unrecognized value";
|
|
4364
|
+
}
|
|
4365
|
+
function readAuth(codexHome2) {
|
|
4366
|
+
const path = join2(codexHome2, "auth.json");
|
|
4367
|
+
const text = readConfigIfPresent(path);
|
|
4368
|
+
if (!text.ok) return text;
|
|
4369
|
+
if (text.value === void 0) return ok(void 0);
|
|
4370
|
+
let doc;
|
|
4371
|
+
try {
|
|
4372
|
+
doc = JSON.parse(text.value);
|
|
4373
|
+
} catch {
|
|
4374
|
+
return err(`cannot parse ${path}`);
|
|
4375
|
+
}
|
|
4376
|
+
return isRecord(doc) ? ok(doc) : err(`${path} is not a JSON object`);
|
|
4377
|
+
}
|
|
4378
|
+
function cloudConfigAuthRefusal(codexHome2, credentialsStore) {
|
|
4379
|
+
if (credentialsStore !== void 0 && credentialsStore !== "file") {
|
|
4380
|
+
return err(
|
|
4381
|
+
`cli_auth_credentials_store = ${echoable(credentialsStore)} keeps the account outside auth.json, so its plan cannot be checked; ${REFUSAL_SUFFIX}`
|
|
4382
|
+
);
|
|
4383
|
+
}
|
|
4384
|
+
const auth = readAuth(codexHome2);
|
|
4385
|
+
if (!auth.ok) return err(`${auth.error}; ${REFUSAL_SUFFIX}`);
|
|
4386
|
+
if (auth.value === void 0) return ok(void 0);
|
|
4387
|
+
return accountRefusal(auth.value);
|
|
4388
|
+
}
|
|
4389
|
+
function accountRefusal(auth) {
|
|
4390
|
+
const mode = resolvedMode(auth);
|
|
4391
|
+
if (mode !== void 0 && NON_BACKEND_MODES.has(mode)) return ok(void 0);
|
|
4392
|
+
if (mode === void 0 || !ID_TOKEN_MODES.has(mode)) {
|
|
4393
|
+
return err(`codex auth_mode ${echoable(mode)} has no plan readable offline; ${REFUSAL_SUFFIX}`);
|
|
4394
|
+
}
|
|
4395
|
+
const plan = planClaim(auth);
|
|
4396
|
+
if (!plan.ok) return err(`${plan.error}; ${REFUSAL_SUFFIX}`);
|
|
4397
|
+
if (PERSONAL_PLANS.has(plan.value)) return ok(void 0);
|
|
4398
|
+
return err(
|
|
4399
|
+
`codex account plan ${echoable(plan.value)} is not a personal plan; ${REFUSAL_SUFFIX}`
|
|
4400
|
+
);
|
|
4401
|
+
}
|
|
4402
|
+
|
|
4311
4403
|
// src/cli-adapters/codex-mcp-isolation.ts
|
|
4312
4404
|
var CODEX_DISABLED_TRANSPORT_PLACEHOLDER = {
|
|
4313
4405
|
command: "nexus-agents-disabled-mcp-server",
|
|
@@ -4353,6 +4445,10 @@ function readMarkers(path, value) {
|
|
|
4353
4445
|
}
|
|
4354
4446
|
return err(`${path}: project_root_markers is not an array of strings`);
|
|
4355
4447
|
}
|
|
4448
|
+
function readStore(path, value) {
|
|
4449
|
+
if (value === void 0 || typeof value === "string") return ok(value);
|
|
4450
|
+
return err(`${path}: cli_auth_credentials_store is not a string`);
|
|
4451
|
+
}
|
|
4356
4452
|
function readLayer(path) {
|
|
4357
4453
|
const text = readConfigIfPresent(path);
|
|
4358
4454
|
if (!text.ok) return text;
|
|
@@ -4363,16 +4459,22 @@ function readLayer(path) {
|
|
|
4363
4459
|
} catch (error) {
|
|
4364
4460
|
return err(`cannot parse ${path}: ${error instanceof Error ? error.message : String(error)}`);
|
|
4365
4461
|
}
|
|
4462
|
+
return parseLayer(path, doc);
|
|
4463
|
+
}
|
|
4464
|
+
function parseLayer(path, doc) {
|
|
4366
4465
|
const servers = parseServers(path, doc["mcp_servers"]);
|
|
4367
4466
|
if (!servers.ok) return servers;
|
|
4368
4467
|
const markers = readMarkers(path, doc["project_root_markers"]);
|
|
4369
4468
|
if (!markers.ok) return markers;
|
|
4370
4469
|
const plugins = enabledPlugins(path, doc["plugins"]);
|
|
4371
4470
|
if (!plugins.ok) return plugins;
|
|
4471
|
+
const store = readStore(path, doc["cli_auth_credentials_store"]);
|
|
4472
|
+
if (!store.ok) return store;
|
|
4372
4473
|
return ok({
|
|
4373
4474
|
servers: servers.value,
|
|
4374
4475
|
enabledPlugins: plugins.value,
|
|
4375
|
-
...markers.value !== void 0 && { projectRootMarkers: markers.value }
|
|
4476
|
+
...markers.value !== void 0 && { projectRootMarkers: markers.value },
|
|
4477
|
+
...store.value !== void 0 && { credentialsStore: store.value }
|
|
4376
4478
|
});
|
|
4377
4479
|
}
|
|
4378
4480
|
function readLayers(paths) {
|
|
@@ -4385,10 +4487,10 @@ function readLayers(paths) {
|
|
|
4385
4487
|
return ok(layers);
|
|
4386
4488
|
}
|
|
4387
4489
|
function codexHome(env) {
|
|
4388
|
-
return envValue(env, "CODEX_HOME") ??
|
|
4490
|
+
return envValue(env, "CODEX_HOME") ?? join3(childHome(env), ".codex");
|
|
4389
4491
|
}
|
|
4390
4492
|
function codexUserConfigPath(env) {
|
|
4391
|
-
return
|
|
4493
|
+
return join3(codexHome(env), "config.toml");
|
|
4392
4494
|
}
|
|
4393
4495
|
var CODEX_CLOUD_CONFIG_CACHE = "cloud-config-bundle-cache.json";
|
|
4394
4496
|
var PLUGIN_MANIFEST_DIRS = /* @__PURE__ */ new Set([
|
|
@@ -4426,9 +4528,9 @@ function listDir(dir) {
|
|
|
4426
4528
|
}
|
|
4427
4529
|
}
|
|
4428
4530
|
function pluginRootMcp(dir, names) {
|
|
4429
|
-
if (names.includes(".mcp.json")) return ok(
|
|
4531
|
+
if (names.includes(".mcp.json")) return ok(join3(dir, ".mcp.json"));
|
|
4430
4532
|
for (const name of names.filter((n) => PLUGIN_MANIFEST_DIRS.has(n))) {
|
|
4431
|
-
const path =
|
|
4533
|
+
const path = join3(dir, name, "plugin.json");
|
|
4432
4534
|
const declares = manifestDeclaresMcp(path);
|
|
4433
4535
|
if (!declares.ok) return declares;
|
|
4434
4536
|
if (declares.value) return ok(path);
|
|
@@ -4445,7 +4547,7 @@ function findPluginMcp(dir, depth, ancestors = /* @__PURE__ */ new Set()) {
|
|
|
4445
4547
|
const branch = descendBranch(dir, depth, ancestors);
|
|
4446
4548
|
if (!branch.ok) return branch;
|
|
4447
4549
|
for (const name of entries.value) {
|
|
4448
|
-
const path =
|
|
4550
|
+
const path = join3(dir, name);
|
|
4449
4551
|
if (!isDirectory(path)) continue;
|
|
4450
4552
|
const found = findPluginMcp(path, depth + 1, branch.value);
|
|
4451
4553
|
if (!found.ok || found.value !== void 0) return found;
|
|
@@ -4472,18 +4574,21 @@ function unlistableSourceRefusal(env, layers) {
|
|
|
4472
4574
|
return err(`plugin ${JSON.stringify(plugin)} is enabled; its MCP servers cannot be listed`);
|
|
4473
4575
|
}
|
|
4474
4576
|
const home = codexHome(env);
|
|
4475
|
-
const declared = findPluginMcp(
|
|
4577
|
+
const declared = findPluginMcp(join3(home, "plugins"), 0);
|
|
4476
4578
|
if (!declared.ok) return declared;
|
|
4477
4579
|
if (declared.value !== void 0) {
|
|
4478
4580
|
return err(`installed plugin declares MCP servers (${declared.value}); they cannot be listed`);
|
|
4479
4581
|
}
|
|
4480
|
-
const cache =
|
|
4582
|
+
const cache = join3(home, CODEX_CLOUD_CONFIG_CACHE);
|
|
4481
4583
|
try {
|
|
4482
4584
|
statSync2(cache);
|
|
4483
4585
|
} catch (error) {
|
|
4484
4586
|
const code = error.code;
|
|
4485
|
-
if (code
|
|
4486
|
-
|
|
4587
|
+
if (code !== "ENOENT" && code !== "ENOTDIR") {
|
|
4588
|
+
return err(`cannot stat ${cache}: ${code ?? String(error)}`);
|
|
4589
|
+
}
|
|
4590
|
+
const store = layers.map((l) => l.credentialsStore).find((s) => s !== void 0 && s !== "file");
|
|
4591
|
+
return cloudConfigAuthRefusal(home, store);
|
|
4487
4592
|
}
|
|
4488
4593
|
return err(`cloud-managed config is cached at ${cache}; its MCP servers cannot be listed`);
|
|
4489
4594
|
}
|
|
@@ -4492,7 +4597,7 @@ function scanCodexMcpServers(ctx, systemFiles = CODEX_SYSTEM_CONFIG_FILES) {
|
|
|
4492
4597
|
if (!always.ok) return always;
|
|
4493
4598
|
const markers = always.value.findLast((l) => l.projectRootMarkers !== void 0)?.projectRootMarkers ?? DEFAULT_PROJECT_ROOT_MARKERS;
|
|
4494
4599
|
const project = readLayers(
|
|
4495
|
-
projectDirs(ctx.cwd, markers).map((dir) =>
|
|
4600
|
+
projectDirs(ctx.cwd, markers).map((dir) => join3(dir, ".codex", "config.toml"))
|
|
4496
4601
|
);
|
|
4497
4602
|
if (!project.ok) return project;
|
|
4498
4603
|
const unlistable = unlistableSourceRefusal(ctx.env, [...always.value, ...project.value]);
|
|
@@ -4628,7 +4733,7 @@ var CodexCliAdapter = class extends SubprocessCliAdapter {
|
|
|
4628
4733
|
let cleanup;
|
|
4629
4734
|
if (task.systemPrompt !== void 0 && task.systemPrompt !== "") {
|
|
4630
4735
|
const dir = nexusMkdtempSync("nexus-codex-sysprompt-");
|
|
4631
|
-
const file =
|
|
4736
|
+
const file = join4(dir, "instructions.md");
|
|
4632
4737
|
writeFileSync(file, task.systemPrompt, { encoding: "utf8", mode: 384 });
|
|
4633
4738
|
args.push("-c", `model_instructions_file=${file}`);
|
|
4634
4739
|
cleanup = () => {
|
|
@@ -5624,7 +5729,7 @@ import { execFile as execFile4 } from "node:child_process";
|
|
|
5624
5729
|
import { promisify as promisify3 } from "node:util";
|
|
5625
5730
|
import { existsSync, readFileSync as readFileSync3 } from "node:fs";
|
|
5626
5731
|
import { homedir as homedir2 } from "node:os";
|
|
5627
|
-
import { join as
|
|
5732
|
+
import { join as join5 } from "node:path";
|
|
5628
5733
|
var execFileAsync2 = promisify3(execFile4);
|
|
5629
5734
|
var HOME = homedir2();
|
|
5630
5735
|
function claudeNeedsLogin(reason) {
|
|
@@ -5641,7 +5746,7 @@ function probeClaude() {
|
|
|
5641
5746
|
if (process.env["ANTHROPIC_API_KEY"] !== void 0 && process.env["ANTHROPIC_API_KEY"] !== "") {
|
|
5642
5747
|
return { cli: "claude", state: "authenticated", via: "env-var" };
|
|
5643
5748
|
}
|
|
5644
|
-
const credPath =
|
|
5749
|
+
const credPath = join5(HOME, ".claude", ".credentials.json");
|
|
5645
5750
|
if (!existsSync(credPath)) {
|
|
5646
5751
|
return claudeNeedsLogin(
|
|
5647
5752
|
"No credentials at ~/.claude/.credentials.json and ANTHROPIC_API_KEY is not set"
|
|
@@ -6022,4 +6127,4 @@ export {
|
|
|
6022
6127
|
SdkAdapter,
|
|
6023
6128
|
createAutoAdapter
|
|
6024
6129
|
};
|
|
6025
|
-
//# sourceMappingURL=chunk-
|
|
6130
|
+
//# sourceMappingURL=chunk-25SRHK3D.js.map
|