nexus-agents 8.47.12 → 8.48.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/{ast-rule-runner-74D2KNCC.js → ast-rule-runner-SUEOULTY.js} +3 -3
- package/dist/{child-mcp-config-KTR6MPNZ.js → child-mcp-config-Y3GST6L4.js} +2 -2
- package/dist/{chunk-7XT6WVSB.js → chunk-2CB4RKGK.js} +2 -2
- package/dist/{chunk-7I3LY4HJ.js → chunk-4Y5TFSYP.js} +2 -2
- package/dist/{chunk-DVBGHGU3.js → chunk-53EL53NC.js} +2 -2
- package/dist/{chunk-CJ5FEUI2.js → chunk-6AX4544S.js} +3 -3
- package/dist/{chunk-QOKB6MWY.js → chunk-6GKP2RLC.js} +4 -4
- package/dist/{chunk-7YHOHQJR.js → chunk-A4WAADEC.js} +5 -5
- package/dist/{chunk-YX6KWBK5.js → chunk-A7GKD65R.js} +55 -12
- package/dist/chunk-A7GKD65R.js.map +1 -0
- package/dist/{chunk-QSJSTS6W.js → chunk-BDYBNBGJ.js} +3 -3
- package/dist/{chunk-X7EXIH67.js → chunk-CE6OZA5X.js} +4 -4
- package/dist/{chunk-RBNJYWQ6.js → chunk-F6LB2JEI.js} +4 -4
- package/dist/{chunk-GLDBWMOB.js → chunk-FASXNWT3.js} +5 -5
- package/dist/{chunk-SBCEQWUN.js → chunk-GFW5IMOF.js} +8 -8
- package/dist/{chunk-7QY3RIIY.js → chunk-GLDK3R2H.js} +7 -7
- package/dist/{chunk-F6HORFHH.js → chunk-GTCZLDKW.js} +2 -2
- package/dist/{chunk-MVOONXPN.js → chunk-HBCY7CEH.js} +38 -11
- package/dist/chunk-HBCY7CEH.js.map +1 -0
- package/dist/{chunk-4TE5DJHO.js → chunk-KITJQPDR.js} +2 -2
- package/dist/{chunk-JOVBHYWW.js → chunk-MOVW4ZFU.js} +2 -2
- package/dist/{chunk-2HRAO3DD.js → chunk-MPJILKDK.js} +3 -3
- package/dist/{chunk-DF6M73XJ.js → chunk-N56KU4KM.js} +2 -2
- package/dist/{chunk-KRPSDJOP.js → chunk-NEKNNWPU.js} +2 -2
- package/dist/{chunk-DOB275DG.js → chunk-OFZOWP7Q.js} +8 -8
- package/dist/{chunk-PZNFQXGE.js → chunk-OUEZ4AMS.js} +2 -2
- package/dist/{chunk-PZNFQXGE.js.map → chunk-OUEZ4AMS.js.map} +1 -1
- package/dist/{chunk-62CSX5QU.js → chunk-P6D43B4F.js} +2 -2
- package/dist/{chunk-TE6UUPOA.js → chunk-PJKJF6FQ.js} +2 -2
- package/dist/{chunk-5ONSIV4D.js → chunk-RCTVIHUT.js} +2 -2
- package/dist/{chunk-SBMYB6N3.js → chunk-RJSW5FD3.js} +2 -2
- package/dist/{chunk-YPU4OHBU.js → chunk-VDBBLFZR.js} +2 -2
- package/dist/{chunk-AZPM542H.js → chunk-VKBFV6OD.js} +8 -3
- package/dist/{chunk-AZPM542H.js.map → chunk-VKBFV6OD.js.map} +1 -1
- package/dist/{chunk-ODPVHHUW.js → chunk-WNEVQONR.js} +2 -2
- package/dist/{chunk-R247RR7W.js → chunk-YLTUPAKL.js} +2 -2
- package/dist/{chunk-WID3S2DT.js → chunk-YYQ6NX5R.js} +2 -2
- package/dist/{chunk-DL5VZP37.js → chunk-ZHWB34CG.js} +239 -61
- package/dist/chunk-ZHWB34CG.js.map +1 -0
- package/dist/{chunk-E4GEUHMH.js → chunk-ZQVU3NKP.js} +6 -6
- package/dist/{chunk-L7DROS6X.js → chunk-ZWJOB76B.js} +2 -2
- package/dist/{cli-circuit-breaker-QZLD2EOM.js → cli-circuit-breaker-BDQFZL7E.js} +3 -3
- package/dist/cli.js +43 -43
- package/dist/{composite-router-JLXK7CPT.js → composite-router-XPWI4EAG.js} +2 -2
- package/dist/{consensus-vote-7TH4UBI6.js → consensus-vote-3FSEGUY4.js} +17 -17
- package/dist/{context-retriever-7RE3EZCH.js → context-retriever-JLTSIPDG.js} +8 -8
- package/dist/{doctor-deep-LVNRCVLP.js → doctor-deep-CGDO6NJC.js} +3 -3
- package/dist/{doctor-live-5JJSWTEW.js → doctor-live-A56SMTQ7.js} +9 -9
- package/dist/{expert-bridge-VKTP3RAL.js → expert-bridge-GK7M6JDD.js} +4 -4
- package/dist/{factory-XV6E75D7.js → factory-AX4DQMR4.js} +5 -5
- package/dist/{factory-GESVEWDP.js → factory-K6QWZRX3.js} +9 -9
- package/dist/{improvement-review-MICV7TS5.js → improvement-review-VFORQM3O.js} +6 -6
- package/dist/index.d.ts +20 -2
- package/dist/index.js +31 -31
- package/dist/{init-opencode-522IQ3OS.js → init-opencode-ED575MZA.js} +6 -6
- package/dist/issue-triage-7QOEFZP5.js +17 -0
- package/dist/{pr-reviewer-helpers-UZVC2NQW.js → pr-reviewer-helpers-FYY7JOX6.js} +4 -4
- package/dist/{registry-command-257AWC4P.js → registry-command-TKJBG3DI.js} +2 -2
- package/dist/{repo-security-plan-BF7VE3ML.js → repo-security-plan-MTS46MYL.js} +3 -3
- package/dist/{research-helpers-synthesize-RNF6Y7XV.js → research-helpers-synthesize-5LWQYXLC.js} +4 -4
- package/dist/{routing-memory-RBKPFXHQ.js → routing-memory-S3FP5MQY.js} +2 -2
- package/dist/{session-memory-BQVXGS2D.js → session-memory-JUYGIQI4.js} +3 -3
- package/dist/{setup-config-IXTT2I5T.js → setup-config-KIZ2V5PW.js} +3 -3
- package/dist/{setup-custom-api-75HAWD5G.js → setup-custom-api-DUEOVPOA.js} +4 -4
- package/dist/setup-data-dir-NPUCOQEV.js +30 -0
- package/dist/{tool-memory-FU5M6HD5.js → tool-memory-XD7YZBBU.js} +5 -5
- package/dist/{unified-registry-YJ2Z43E2.js → unified-registry-MUUCHM4T.js} +10 -10
- package/dist/{weather-report-ME2HVR3F.js → weather-report-7M3VSROJ.js} +2 -2
- package/package.json +1 -1
- package/dist/chunk-DL5VZP37.js.map +0 -1
- package/dist/chunk-MVOONXPN.js.map +0 -1
- package/dist/chunk-YX6KWBK5.js.map +0 -1
- package/dist/issue-triage-WCJZQONF.js +0 -17
- package/dist/setup-data-dir-E7VOO7SA.js +0 -30
- /package/dist/{ast-rule-runner-74D2KNCC.js.map → ast-rule-runner-SUEOULTY.js.map} +0 -0
- /package/dist/{child-mcp-config-KTR6MPNZ.js.map → child-mcp-config-Y3GST6L4.js.map} +0 -0
- /package/dist/{chunk-7XT6WVSB.js.map → chunk-2CB4RKGK.js.map} +0 -0
- /package/dist/{chunk-7I3LY4HJ.js.map → chunk-4Y5TFSYP.js.map} +0 -0
- /package/dist/{chunk-DVBGHGU3.js.map → chunk-53EL53NC.js.map} +0 -0
- /package/dist/{chunk-CJ5FEUI2.js.map → chunk-6AX4544S.js.map} +0 -0
- /package/dist/{chunk-QOKB6MWY.js.map → chunk-6GKP2RLC.js.map} +0 -0
- /package/dist/{chunk-7YHOHQJR.js.map → chunk-A4WAADEC.js.map} +0 -0
- /package/dist/{chunk-QSJSTS6W.js.map → chunk-BDYBNBGJ.js.map} +0 -0
- /package/dist/{chunk-X7EXIH67.js.map → chunk-CE6OZA5X.js.map} +0 -0
- /package/dist/{chunk-RBNJYWQ6.js.map → chunk-F6LB2JEI.js.map} +0 -0
- /package/dist/{chunk-GLDBWMOB.js.map → chunk-FASXNWT3.js.map} +0 -0
- /package/dist/{chunk-SBCEQWUN.js.map → chunk-GFW5IMOF.js.map} +0 -0
- /package/dist/{chunk-7QY3RIIY.js.map → chunk-GLDK3R2H.js.map} +0 -0
- /package/dist/{chunk-F6HORFHH.js.map → chunk-GTCZLDKW.js.map} +0 -0
- /package/dist/{chunk-4TE5DJHO.js.map → chunk-KITJQPDR.js.map} +0 -0
- /package/dist/{chunk-JOVBHYWW.js.map → chunk-MOVW4ZFU.js.map} +0 -0
- /package/dist/{chunk-2HRAO3DD.js.map → chunk-MPJILKDK.js.map} +0 -0
- /package/dist/{chunk-DF6M73XJ.js.map → chunk-N56KU4KM.js.map} +0 -0
- /package/dist/{chunk-KRPSDJOP.js.map → chunk-NEKNNWPU.js.map} +0 -0
- /package/dist/{chunk-DOB275DG.js.map → chunk-OFZOWP7Q.js.map} +0 -0
- /package/dist/{chunk-62CSX5QU.js.map → chunk-P6D43B4F.js.map} +0 -0
- /package/dist/{chunk-TE6UUPOA.js.map → chunk-PJKJF6FQ.js.map} +0 -0
- /package/dist/{chunk-5ONSIV4D.js.map → chunk-RCTVIHUT.js.map} +0 -0
- /package/dist/{chunk-SBMYB6N3.js.map → chunk-RJSW5FD3.js.map} +0 -0
- /package/dist/{chunk-YPU4OHBU.js.map → chunk-VDBBLFZR.js.map} +0 -0
- /package/dist/{chunk-ODPVHHUW.js.map → chunk-WNEVQONR.js.map} +0 -0
- /package/dist/{chunk-R247RR7W.js.map → chunk-YLTUPAKL.js.map} +0 -0
- /package/dist/{chunk-WID3S2DT.js.map → chunk-YYQ6NX5R.js.map} +0 -0
- /package/dist/{chunk-E4GEUHMH.js.map → chunk-ZQVU3NKP.js.map} +0 -0
- /package/dist/{chunk-L7DROS6X.js.map → chunk-ZWJOB76B.js.map} +0 -0
- /package/dist/{cli-circuit-breaker-QZLD2EOM.js.map → cli-circuit-breaker-BDQFZL7E.js.map} +0 -0
- /package/dist/{composite-router-JLXK7CPT.js.map → composite-router-XPWI4EAG.js.map} +0 -0
- /package/dist/{consensus-vote-7TH4UBI6.js.map → consensus-vote-3FSEGUY4.js.map} +0 -0
- /package/dist/{context-retriever-7RE3EZCH.js.map → context-retriever-JLTSIPDG.js.map} +0 -0
- /package/dist/{doctor-deep-LVNRCVLP.js.map → doctor-deep-CGDO6NJC.js.map} +0 -0
- /package/dist/{doctor-live-5JJSWTEW.js.map → doctor-live-A56SMTQ7.js.map} +0 -0
- /package/dist/{expert-bridge-VKTP3RAL.js.map → expert-bridge-GK7M6JDD.js.map} +0 -0
- /package/dist/{factory-GESVEWDP.js.map → factory-AX4DQMR4.js.map} +0 -0
- /package/dist/{factory-XV6E75D7.js.map → factory-K6QWZRX3.js.map} +0 -0
- /package/dist/{improvement-review-MICV7TS5.js.map → improvement-review-VFORQM3O.js.map} +0 -0
- /package/dist/{init-opencode-522IQ3OS.js.map → init-opencode-ED575MZA.js.map} +0 -0
- /package/dist/{issue-triage-WCJZQONF.js.map → issue-triage-7QOEFZP5.js.map} +0 -0
- /package/dist/{pr-reviewer-helpers-UZVC2NQW.js.map → pr-reviewer-helpers-FYY7JOX6.js.map} +0 -0
- /package/dist/{registry-command-257AWC4P.js.map → registry-command-TKJBG3DI.js.map} +0 -0
- /package/dist/{repo-security-plan-BF7VE3ML.js.map → repo-security-plan-MTS46MYL.js.map} +0 -0
- /package/dist/{research-helpers-synthesize-RNF6Y7XV.js.map → research-helpers-synthesize-5LWQYXLC.js.map} +0 -0
- /package/dist/{routing-memory-RBKPFXHQ.js.map → routing-memory-S3FP5MQY.js.map} +0 -0
- /package/dist/{session-memory-BQVXGS2D.js.map → session-memory-JUYGIQI4.js.map} +0 -0
- /package/dist/{setup-config-IXTT2I5T.js.map → setup-config-KIZ2V5PW.js.map} +0 -0
- /package/dist/{setup-custom-api-75HAWD5G.js.map → setup-custom-api-DUEOVPOA.js.map} +0 -0
- /package/dist/{setup-data-dir-E7VOO7SA.js.map → setup-data-dir-NPUCOQEV.js.map} +0 -0
- /package/dist/{tool-memory-FU5M6HD5.js.map → tool-memory-XD7YZBBU.js.map} +0 -0
- /package/dist/{unified-registry-YJ2Z43E2.js.map → unified-registry-MUUCHM4T.js.map} +0 -0
- /package/dist/{weather-report-ME2HVR3F.js.map → weather-report-7M3VSROJ.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-NEKNNWPU.js";
|
|
13
|
+
import "./chunk-VKBFV6OD.js";
|
|
14
14
|
import "./chunk-MTYJPPIG.js";
|
|
15
15
|
import "./chunk-BTYRPZON.js";
|
|
16
16
|
import "./chunk-ZPWHCABL.js";
|
|
@@ -26,4 +26,4 @@ export {
|
|
|
26
26
|
loadRules,
|
|
27
27
|
runAstQaRules
|
|
28
28
|
};
|
|
29
|
-
//# sourceMappingURL=ast-rule-runner-
|
|
29
|
+
//# sourceMappingURL=ast-rule-runner-SUEOULTY.js.map
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
} from "./chunk-T46RV7Y7.js";
|
|
4
4
|
import {
|
|
5
5
|
createLogger
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-VKBFV6OD.js";
|
|
7
7
|
import "./chunk-MTYJPPIG.js";
|
|
8
8
|
import "./chunk-BTYRPZON.js";
|
|
9
9
|
import "./chunk-ZPWHCABL.js";
|
|
@@ -60,4 +60,4 @@ export {
|
|
|
60
60
|
generateMcpConfig,
|
|
61
61
|
getDefaultAllowedTools
|
|
62
62
|
};
|
|
63
|
-
//# sourceMappingURL=child-mcp-config-
|
|
63
|
+
//# sourceMappingURL=child-mcp-config-Y3GST6L4.js.map
|
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
getErrorMessage,
|
|
5
5
|
getTimeProvider,
|
|
6
6
|
ok
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-VKBFV6OD.js";
|
|
8
8
|
|
|
9
9
|
// src/context/session-memory.ts
|
|
10
10
|
import * as fs from "node:fs";
|
|
@@ -370,4 +370,4 @@ export {
|
|
|
370
370
|
SessionMemory,
|
|
371
371
|
createSessionMemory
|
|
372
372
|
};
|
|
373
|
-
//# sourceMappingURL=chunk-
|
|
373
|
+
//# sourceMappingURL=chunk-2CB4RKGK.js.map
|
|
@@ -2,7 +2,7 @@ import {
|
|
|
2
2
|
CACHE_TIMEOUTS,
|
|
3
3
|
createLogger,
|
|
4
4
|
getTimeProvider
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-VKBFV6OD.js";
|
|
6
6
|
|
|
7
7
|
// src/security/trust-types.ts
|
|
8
8
|
import { z } from "zod";
|
|
@@ -610,4 +610,4 @@ export {
|
|
|
610
610
|
resolveReputationGatingMode,
|
|
611
611
|
gateWithReputation
|
|
612
612
|
};
|
|
613
|
-
//# sourceMappingURL=chunk-
|
|
613
|
+
//# sourceMappingURL=chunk-4Y5TFSYP.js.map
|
|
@@ -2,7 +2,7 @@ import {
|
|
|
2
2
|
createLogger,
|
|
3
3
|
err,
|
|
4
4
|
ok
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-VKBFV6OD.js";
|
|
6
6
|
|
|
7
7
|
// src/scm/token-resolver.ts
|
|
8
8
|
import { execFile } from "node:child_process";
|
|
@@ -87,4 +87,4 @@ export {
|
|
|
87
87
|
hasToken,
|
|
88
88
|
getTokenEnvVars
|
|
89
89
|
};
|
|
90
|
-
//# sourceMappingURL=chunk-
|
|
90
|
+
//# sourceMappingURL=chunk-53EL53NC.js.map
|
|
@@ -10,13 +10,13 @@ import {
|
|
|
10
10
|
import {
|
|
11
11
|
assessReputation,
|
|
12
12
|
sanitizeInput
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-4Y5TFSYP.js";
|
|
14
14
|
import {
|
|
15
15
|
createLogger,
|
|
16
16
|
err,
|
|
17
17
|
getTimeProvider,
|
|
18
18
|
ok
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-VKBFV6OD.js";
|
|
20
20
|
|
|
21
21
|
// src/dogfooding/pr-reviewer-helpers.ts
|
|
22
22
|
import { randomUUID } from "node:crypto";
|
|
@@ -416,4 +416,4 @@ export {
|
|
|
416
416
|
createFailedReview,
|
|
417
417
|
reviewPostingBlock
|
|
418
418
|
};
|
|
419
|
-
//# sourceMappingURL=chunk-
|
|
419
|
+
//# sourceMappingURL=chunk-6AX4544S.js.map
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createAutoAdapter
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-GFW5IMOF.js";
|
|
4
4
|
import {
|
|
5
5
|
getDefaultCliCircuitBreakerRegistry,
|
|
6
6
|
mapModelErrorToCategory
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-N56KU4KM.js";
|
|
8
8
|
import {
|
|
9
9
|
CLI_NAMES,
|
|
10
10
|
CircularBuffer,
|
|
@@ -24,7 +24,7 @@ import {
|
|
|
24
24
|
recordRateLimitEvent,
|
|
25
25
|
resolveModelIdentitySync,
|
|
26
26
|
toRateLimitError
|
|
27
|
-
} from "./chunk-
|
|
27
|
+
} from "./chunk-VKBFV6OD.js";
|
|
28
28
|
|
|
29
29
|
// src/config/model-equivalence.ts
|
|
30
30
|
function canonicalModelKey(modelId) {
|
|
@@ -909,4 +909,4 @@ export {
|
|
|
909
909
|
getGlobalRegistry,
|
|
910
910
|
resetGlobalRegistry
|
|
911
911
|
};
|
|
912
|
-
//# sourceMappingURL=chunk-
|
|
912
|
+
//# sourceMappingURL=chunk-6GKP2RLC.js.map
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import {
|
|
2
2
|
computeCostDetail,
|
|
3
3
|
recordUsageEvent
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-PJKJF6FQ.js";
|
|
5
5
|
import {
|
|
6
6
|
BaseAdapter,
|
|
7
7
|
createStream,
|
|
8
8
|
planOptionalParams,
|
|
9
9
|
requireApiKey,
|
|
10
10
|
validateApiKeyPresence
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-YLTUPAKL.js";
|
|
12
12
|
import {
|
|
13
13
|
assertCustomApiHostResolvesPublic
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-VDBBLFZR.js";
|
|
15
15
|
import {
|
|
16
16
|
ConfigError,
|
|
17
17
|
ModelCapability,
|
|
@@ -22,7 +22,7 @@ import {
|
|
|
22
22
|
getTimeProvider,
|
|
23
23
|
getTokenEstimator,
|
|
24
24
|
ok
|
|
25
|
-
} from "./chunk-
|
|
25
|
+
} from "./chunk-VKBFV6OD.js";
|
|
26
26
|
|
|
27
27
|
// src/adapters/openai-types.ts
|
|
28
28
|
var OPENAI_MODELS = {
|
|
@@ -842,4 +842,4 @@ export {
|
|
|
842
842
|
discoverModels,
|
|
843
843
|
buildOpenAICompatAdapters
|
|
844
844
|
};
|
|
845
|
-
//# sourceMappingURL=chunk-
|
|
845
|
+
//# sourceMappingURL=chunk-A4WAADEC.js.map
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
VERSION
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-OUEZ4AMS.js";
|
|
4
4
|
import {
|
|
5
5
|
emitClawGuardViolation
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-MOVW4ZFU.js";
|
|
7
7
|
import {
|
|
8
8
|
CACHE_TIMEOUTS,
|
|
9
9
|
MCP_TIMEOUTS,
|
|
@@ -19,7 +19,7 @@ import {
|
|
|
19
19
|
getTimeProvider,
|
|
20
20
|
ok,
|
|
21
21
|
resolveToolClassGuardMs
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-VKBFV6OD.js";
|
|
23
23
|
import {
|
|
24
24
|
getNexusDataDir
|
|
25
25
|
} from "./chunk-BTYRPZON.js";
|
|
@@ -756,9 +756,13 @@ function sanitizeString(value) {
|
|
|
756
756
|
const MAX_PASSES = 5;
|
|
757
757
|
let cleaned = value;
|
|
758
758
|
let commentsRemoved = 0;
|
|
759
|
+
let tagsRemoved = 0;
|
|
759
760
|
for (let pass = 0; pass < MAX_PASSES; pass++) {
|
|
760
761
|
XML_INJECTION_PATTERN.lastIndex = 0;
|
|
761
|
-
const afterTags = cleaned.replace(XML_INJECTION_PATTERN,
|
|
762
|
+
const afterTags = cleaned.replace(XML_INJECTION_PATTERN, () => {
|
|
763
|
+
tagsRemoved += 1;
|
|
764
|
+
return "";
|
|
765
|
+
});
|
|
762
766
|
const { cleaned: afterComments, removed } = stripHtmlComments(afterTags);
|
|
763
767
|
commentsRemoved += removed;
|
|
764
768
|
if (afterComments === cleaned) break;
|
|
@@ -770,7 +774,8 @@ function sanitizeString(value) {
|
|
|
770
774
|
cleaned,
|
|
771
775
|
modified: cleaned !== value,
|
|
772
776
|
incomplete: probe !== cleaned,
|
|
773
|
-
commentsRemoved
|
|
777
|
+
commentsRemoved,
|
|
778
|
+
tagsRemoved
|
|
774
779
|
};
|
|
775
780
|
}
|
|
776
781
|
function detectPatterns(value) {
|
|
@@ -787,10 +792,11 @@ function sanitizeValue(value, stats) {
|
|
|
787
792
|
if (patterns.length > 0) {
|
|
788
793
|
stats.patterns.push(...patterns);
|
|
789
794
|
}
|
|
790
|
-
const { cleaned, modified, incomplete, commentsRemoved } = sanitizeString(value);
|
|
795
|
+
const { cleaned, modified, incomplete, commentsRemoved, tagsRemoved } = sanitizeString(value);
|
|
791
796
|
if (modified) stats.count++;
|
|
792
797
|
if (incomplete) stats.incomplete = true;
|
|
793
798
|
stats.commentsRemoved += commentsRemoved;
|
|
799
|
+
stats.tagsRemoved += tagsRemoved;
|
|
794
800
|
return cleaned;
|
|
795
801
|
}
|
|
796
802
|
if (Array.isArray(value)) {
|
|
@@ -813,12 +819,19 @@ function sanitizeToolInput(args) {
|
|
|
813
819
|
sanitized: args,
|
|
814
820
|
wasModified: false,
|
|
815
821
|
modifiedCount: 0,
|
|
822
|
+
tagsRemoved: 0,
|
|
816
823
|
detectedPatterns: [],
|
|
817
824
|
sanitizationIncomplete: false,
|
|
818
825
|
commentsRemoved: 0
|
|
819
826
|
};
|
|
820
827
|
}
|
|
821
|
-
const stats = {
|
|
828
|
+
const stats = {
|
|
829
|
+
count: 0,
|
|
830
|
+
patterns: [],
|
|
831
|
+
commentsRemoved: 0,
|
|
832
|
+
tagsRemoved: 0,
|
|
833
|
+
incomplete: false
|
|
834
|
+
};
|
|
822
835
|
const sanitized = sanitizeValue(args, stats);
|
|
823
836
|
const uniquePatterns = [...new Set(stats.patterns)];
|
|
824
837
|
return {
|
|
@@ -827,7 +840,8 @@ function sanitizeToolInput(args) {
|
|
|
827
840
|
modifiedCount: stats.count,
|
|
828
841
|
detectedPatterns: uniquePatterns,
|
|
829
842
|
sanitizationIncomplete: stats.incomplete,
|
|
830
|
-
commentsRemoved: stats.commentsRemoved
|
|
843
|
+
commentsRemoved: stats.commentsRemoved,
|
|
844
|
+
tagsRemoved: stats.tagsRemoved
|
|
831
845
|
};
|
|
832
846
|
}
|
|
833
847
|
function logSanitizationResult(result, logger, toolName) {
|
|
@@ -843,6 +857,12 @@ function logSanitizationResult(result, logger, toolName) {
|
|
|
843
857
|
commentsRemoved: result.commentsRemoved
|
|
844
858
|
});
|
|
845
859
|
}
|
|
860
|
+
if (result.tagsRemoved > 0) {
|
|
861
|
+
logger.warn("Tool input sanitized \u2014 conversation-structure tags stripped", {
|
|
862
|
+
tool: toolName,
|
|
863
|
+
tagsRemoved: result.tagsRemoved
|
|
864
|
+
});
|
|
865
|
+
}
|
|
846
866
|
if (result.detectedPatterns.length > 0) {
|
|
847
867
|
logger.warn("Injection patterns detected in tool input", {
|
|
848
868
|
tool: toolName,
|
|
@@ -1080,15 +1100,34 @@ function emitToolAudit({
|
|
|
1080
1100
|
...nearMiss ? { policyDecision: "would_deny" } : {}
|
|
1081
1101
|
});
|
|
1082
1102
|
}
|
|
1103
|
+
function hashRawFields(fields, args) {
|
|
1104
|
+
if (fields === void 0) return {};
|
|
1105
|
+
if (typeof args !== "object" || args === null) return {};
|
|
1106
|
+
const source = args;
|
|
1107
|
+
const out = {};
|
|
1108
|
+
for (const [field, hash] of Object.entries(fields)) {
|
|
1109
|
+
const value = source[field];
|
|
1110
|
+
if (typeof value === "string") out[field] = hash(value);
|
|
1111
|
+
}
|
|
1112
|
+
return out;
|
|
1113
|
+
}
|
|
1114
|
+
function unsanitizedContext(config, args) {
|
|
1115
|
+
return {
|
|
1116
|
+
wasModified: false,
|
|
1117
|
+
commentsRemoved: 0,
|
|
1118
|
+
fieldsModified: 0,
|
|
1119
|
+
tagsRemoved: 0,
|
|
1120
|
+
rawFieldHashes: hashRawFields(config.rawHashFields, args)
|
|
1121
|
+
};
|
|
1122
|
+
}
|
|
1083
1123
|
function runPreChecks(config, args, mode, requestContext, logger) {
|
|
1084
|
-
const noSanitization = { wasModified: false, commentsRemoved: 0 };
|
|
1085
1124
|
const sizeResult = checkInputSize(args, logger, requestContext.requestId);
|
|
1086
1125
|
if (sizeResult) {
|
|
1087
1126
|
return {
|
|
1088
1127
|
error: sizeResult,
|
|
1089
1128
|
sanitizedArgs: args,
|
|
1090
1129
|
nearMiss: false,
|
|
1091
|
-
sanitization:
|
|
1130
|
+
sanitization: unsanitizedContext(config, args)
|
|
1092
1131
|
};
|
|
1093
1132
|
}
|
|
1094
1133
|
const sanitizeResult = sanitizeToolInput(args);
|
|
@@ -1096,7 +1135,11 @@ function runPreChecks(config, args, mode, requestContext, logger) {
|
|
|
1096
1135
|
const sanitizedArgs = sanitizeResult.wasModified ? sanitizeResult.sanitized : args;
|
|
1097
1136
|
const sanitization = {
|
|
1098
1137
|
wasModified: sanitizeResult.wasModified,
|
|
1099
|
-
commentsRemoved: sanitizeResult.commentsRemoved
|
|
1138
|
+
commentsRemoved: sanitizeResult.commentsRemoved,
|
|
1139
|
+
fieldsModified: sanitizeResult.modifiedCount,
|
|
1140
|
+
tagsRemoved: sanitizeResult.tagsRemoved,
|
|
1141
|
+
// #5385: hashed from `args`, the RAW input, before sanitization touched it.
|
|
1142
|
+
rawFieldHashes: hashRawFields(config.rawHashFields, args)
|
|
1100
1143
|
};
|
|
1101
1144
|
const refusal = checkSecurityTier(config.securityTier ?? "standard", sanitizeResult, logger);
|
|
1102
1145
|
if (refusal !== null) {
|
|
@@ -2317,4 +2360,4 @@ export {
|
|
|
2317
2360
|
VOTING_THRESHOLDS,
|
|
2318
2361
|
ConsensusMetricsSchema
|
|
2319
2362
|
};
|
|
2320
|
-
//# sourceMappingURL=chunk-
|
|
2363
|
+
//# sourceMappingURL=chunk-A7GKD65R.js.map
|