nexus-agents 9.2.0 → 9.4.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/dist/{ast-rule-runner-DFEUIC2E.js → ast-rule-runner-5U6TE6YJ.js} +3 -3
- package/dist/{child-mcp-config-ALJL5I7K.js → child-mcp-config-IR7LRMIK.js} +2 -2
- package/dist/{chunk-M43A5MDJ.js → chunk-2AN5NGCQ.js} +4 -4
- package/dist/{chunk-A5D7666X.js → chunk-2AW2VHMK.js} +2 -2
- package/dist/{chunk-42TS2JOS.js → chunk-6H4NUU7G.js} +5 -5
- package/dist/{chunk-JZSKEIQF.js → chunk-6WPXQTQY.js} +2 -2
- package/dist/{chunk-625YPLMG.js → chunk-6Z3MAHAC.js} +2 -2
- package/dist/{chunk-SU47CN4Q.js → chunk-7XJZTSHW.js} +120 -64
- package/dist/chunk-7XJZTSHW.js.map +1 -0
- package/dist/{chunk-ZNXWR6V6.js → chunk-AFAM6GK3.js} +7 -7
- package/dist/{chunk-WDSRUC3H.js → chunk-AI6LKFGU.js} +3 -3
- package/dist/{chunk-4ROIBRK5.js → chunk-AYBOQE2Y.js} +3 -3
- package/dist/chunk-AYBOQE2Y.js.map +1 -0
- package/dist/{chunk-DJ7QTY5J.js → chunk-C5WECFBR.js} +5 -5
- package/dist/{chunk-KJ46Q24G.js → chunk-DEQRRCHK.js} +2 -2
- package/dist/{chunk-XBWG4BJU.js → chunk-DG2UY5QU.js} +2 -2
- package/dist/{chunk-DYVYV7NZ.js → chunk-DYTB2XW2.js} +5 -5
- package/dist/{chunk-VOJCSOVL.js → chunk-EPCR2GOE.js} +2 -2
- package/dist/{chunk-5IMXQQQX.js → chunk-ETGNAHY3.js} +4 -4
- package/dist/{chunk-KWQ5IR2A.js → chunk-FKMBZ53Y.js} +2 -2
- package/dist/{chunk-WDYK7OAI.js → chunk-FTUBCD52.js} +3 -3
- package/dist/{chunk-ZC6QDPMA.js → chunk-FWSAYHGV.js} +4 -4
- package/dist/{chunk-AWF35M67.js → chunk-H4ACPMJS.js} +4 -4
- package/dist/{chunk-GNGKWFC3.js → chunk-HESQ746B.js} +2 -2
- package/dist/{chunk-GAJRBRED.js → chunk-HK4LBUYY.js} +2 -2
- package/dist/{chunk-GTWTVDLP.js → chunk-II4XITQ6.js} +13 -13
- package/dist/{chunk-3JRQWWBD.js → chunk-JNRDNE26.js} +2 -2
- package/dist/{chunk-GNGIZJAC.js → chunk-LWLFWWA7.js} +3 -3
- package/dist/{chunk-VS3C3L63.js → chunk-ONWH4UGD.js} +82 -64
- package/dist/chunk-ONWH4UGD.js.map +1 -0
- package/dist/{chunk-KLDUWDNU.js → chunk-ONYCBTOH.js} +10 -9
- package/dist/chunk-ONYCBTOH.js.map +1 -0
- package/dist/{chunk-TGOZLRO7.js → chunk-P7327767.js} +2 -2
- package/dist/{chunk-ZVSJPKEZ.js → chunk-Q5F4OBOK.js} +2 -2
- package/dist/{chunk-PSZQ657B.js → chunk-Q7RFJSR5.js} +3 -3
- package/dist/{chunk-UNIRQWHT.js → chunk-RI4IXOZT.js} +2 -2
- package/dist/{chunk-PDT6QYKY.js → chunk-TFQMVUWQ.js} +6 -5
- package/dist/{chunk-PDT6QYKY.js.map → chunk-TFQMVUWQ.js.map} +1 -1
- package/dist/{chunk-TJ4VWR32.js → chunk-TMHCN5EY.js} +5 -5
- package/dist/{chunk-MXYKMQ53.js → chunk-TQEXRC5C.js} +250 -92
- package/dist/chunk-TQEXRC5C.js.map +1 -0
- package/dist/{chunk-ETW6QNVI.js → chunk-VQGHQVD2.js} +3 -3
- package/dist/{chunk-XPQ2RDMV.js → chunk-XJ65J3O5.js} +5 -5
- package/dist/{cli-circuit-breaker-OTFWY5A5.js → cli-circuit-breaker-AZHN2TMH.js} +3 -3
- package/dist/{cli-readiness-WFUMPJCU.js → cli-readiness-H4JTTKKU.js} +7 -7
- package/dist/cli.d.ts +1 -1
- package/dist/cli.js +44 -44
- package/dist/{composite-router-LE4SNM2X.js → composite-router-WCTNVMSX.js} +2 -2
- package/dist/{consensus-vote-2BEOCYGU.js → consensus-vote-RD3SME3K.js} +17 -17
- package/dist/{consensus-vote-types-q8io4acj.d.ts → consensus-vote-types-G7Lnj3B3.d.ts} +26 -32
- package/dist/{context-retriever-NKP73OSE.js → context-retriever-YM2PPNSY.js} +8 -8
- package/dist/{doctor-deep-FQPLASUY.js → doctor-deep-6P23G7PN.js} +3 -3
- package/dist/{doctor-gateway-report-3I7KQVU3.js → doctor-gateway-report-4TXHTWUM.js} +7 -7
- package/dist/{doctor-live-ZAMCNQGM.js → doctor-live-MYXZCBSP.js} +11 -11
- package/dist/{expert-bridge-3WL6X37T.js → expert-bridge-CXHYMQRL.js} +4 -4
- package/dist/{factory-X7XECZ3D.js → factory-3Z46455N.js} +10 -10
- package/dist/{factory-IAH3XPHY.js → factory-KH2MJQ5U.js} +5 -5
- package/dist/{improvement-review-4VHBKOME.js → improvement-review-RAISKC3W.js} +6 -6
- package/dist/index.d.ts +29 -19
- package/dist/index.js +32 -32
- package/dist/index.js.map +1 -1
- package/dist/{init-opencode-YLKVZJJA.js → init-opencode-WXRTDPFP.js} +6 -6
- package/dist/{issue-triage-UUD53JH3.js → issue-triage-KF47ZHU7.js} +6 -6
- package/dist/{model-config-helpers-KRTQLJF4.js → model-config-helpers-ZH2QAFVR.js} +2 -2
- package/dist/{openai-compat-adapter-YTSKOE4F.js → openai-compat-adapter-PQ3JKWPZ.js} +6 -6
- package/dist/{outcome-store-adapter-PSVE6YAJ.js → outcome-store-adapter-NTYEZXLH.js} +2 -2
- package/dist/{pr-reviewer-helpers-VP4P23TI.js → pr-reviewer-helpers-AQNGDRQT.js} +4 -4
- package/dist/{registry-command-S4GXEMQR.js → registry-command-6EHIJ3PJ.js} +2 -2
- package/dist/{repo-security-plan-66VLAFUR.js → repo-security-plan-AP3QEWJ5.js} +3 -3
- package/dist/{research-helpers-synthesize-RFOFNS5W.js → research-helpers-synthesize-XE3RMFQT.js} +4 -4
- package/dist/{routing-memory-KKBKCISC.js → routing-memory-PBZIE5NX.js} +2 -2
- package/dist/{session-memory-6FGTXRCN.js → session-memory-6NUK6ZAG.js} +3 -3
- package/dist/{setup-config-4NLQBTZH.js → setup-config-KEPU4NTT.js} +3 -3
- package/dist/{setup-custom-api-FLGYMLGG.js → setup-custom-api-XY455LVS.js} +3 -3
- package/dist/setup-data-dir-5MRGQD2G.js +36 -0
- package/dist/{tool-memory-5DOAHII2.js → tool-memory-MO2KOJJ7.js} +5 -5
- package/dist/{unified-registry-I2BUGW6I.js → unified-registry-JE22THXP.js} +11 -11
- package/dist/{weather-report-CTT5O7MR.js → weather-report-TQ6KM2F2.js} +2 -2
- package/package.json +1 -1
- package/dist/chunk-4ROIBRK5.js.map +0 -1
- package/dist/chunk-KLDUWDNU.js.map +0 -1
- package/dist/chunk-MXYKMQ53.js.map +0 -1
- package/dist/chunk-SU47CN4Q.js.map +0 -1
- package/dist/chunk-VS3C3L63.js.map +0 -1
- package/dist/setup-data-dir-VBMDTRCF.js +0 -36
- /package/dist/{ast-rule-runner-DFEUIC2E.js.map → ast-rule-runner-5U6TE6YJ.js.map} +0 -0
- /package/dist/{child-mcp-config-ALJL5I7K.js.map → child-mcp-config-IR7LRMIK.js.map} +0 -0
- /package/dist/{chunk-M43A5MDJ.js.map → chunk-2AN5NGCQ.js.map} +0 -0
- /package/dist/{chunk-A5D7666X.js.map → chunk-2AW2VHMK.js.map} +0 -0
- /package/dist/{chunk-42TS2JOS.js.map → chunk-6H4NUU7G.js.map} +0 -0
- /package/dist/{chunk-JZSKEIQF.js.map → chunk-6WPXQTQY.js.map} +0 -0
- /package/dist/{chunk-625YPLMG.js.map → chunk-6Z3MAHAC.js.map} +0 -0
- /package/dist/{chunk-ZNXWR6V6.js.map → chunk-AFAM6GK3.js.map} +0 -0
- /package/dist/{chunk-WDSRUC3H.js.map → chunk-AI6LKFGU.js.map} +0 -0
- /package/dist/{chunk-DJ7QTY5J.js.map → chunk-C5WECFBR.js.map} +0 -0
- /package/dist/{chunk-KJ46Q24G.js.map → chunk-DEQRRCHK.js.map} +0 -0
- /package/dist/{chunk-XBWG4BJU.js.map → chunk-DG2UY5QU.js.map} +0 -0
- /package/dist/{chunk-DYVYV7NZ.js.map → chunk-DYTB2XW2.js.map} +0 -0
- /package/dist/{chunk-VOJCSOVL.js.map → chunk-EPCR2GOE.js.map} +0 -0
- /package/dist/{chunk-5IMXQQQX.js.map → chunk-ETGNAHY3.js.map} +0 -0
- /package/dist/{chunk-KWQ5IR2A.js.map → chunk-FKMBZ53Y.js.map} +0 -0
- /package/dist/{chunk-WDYK7OAI.js.map → chunk-FTUBCD52.js.map} +0 -0
- /package/dist/{chunk-ZC6QDPMA.js.map → chunk-FWSAYHGV.js.map} +0 -0
- /package/dist/{chunk-AWF35M67.js.map → chunk-H4ACPMJS.js.map} +0 -0
- /package/dist/{chunk-GNGKWFC3.js.map → chunk-HESQ746B.js.map} +0 -0
- /package/dist/{chunk-GAJRBRED.js.map → chunk-HK4LBUYY.js.map} +0 -0
- /package/dist/{chunk-GTWTVDLP.js.map → chunk-II4XITQ6.js.map} +0 -0
- /package/dist/{chunk-3JRQWWBD.js.map → chunk-JNRDNE26.js.map} +0 -0
- /package/dist/{chunk-GNGIZJAC.js.map → chunk-LWLFWWA7.js.map} +0 -0
- /package/dist/{chunk-TGOZLRO7.js.map → chunk-P7327767.js.map} +0 -0
- /package/dist/{chunk-ZVSJPKEZ.js.map → chunk-Q5F4OBOK.js.map} +0 -0
- /package/dist/{chunk-PSZQ657B.js.map → chunk-Q7RFJSR5.js.map} +0 -0
- /package/dist/{chunk-UNIRQWHT.js.map → chunk-RI4IXOZT.js.map} +0 -0
- /package/dist/{chunk-TJ4VWR32.js.map → chunk-TMHCN5EY.js.map} +0 -0
- /package/dist/{chunk-ETW6QNVI.js.map → chunk-VQGHQVD2.js.map} +0 -0
- /package/dist/{chunk-XPQ2RDMV.js.map → chunk-XJ65J3O5.js.map} +0 -0
- /package/dist/{cli-circuit-breaker-OTFWY5A5.js.map → cli-circuit-breaker-AZHN2TMH.js.map} +0 -0
- /package/dist/{cli-readiness-WFUMPJCU.js.map → cli-readiness-H4JTTKKU.js.map} +0 -0
- /package/dist/{composite-router-LE4SNM2X.js.map → composite-router-WCTNVMSX.js.map} +0 -0
- /package/dist/{consensus-vote-2BEOCYGU.js.map → consensus-vote-RD3SME3K.js.map} +0 -0
- /package/dist/{context-retriever-NKP73OSE.js.map → context-retriever-YM2PPNSY.js.map} +0 -0
- /package/dist/{doctor-deep-FQPLASUY.js.map → doctor-deep-6P23G7PN.js.map} +0 -0
- /package/dist/{doctor-gateway-report-3I7KQVU3.js.map → doctor-gateway-report-4TXHTWUM.js.map} +0 -0
- /package/dist/{doctor-live-ZAMCNQGM.js.map → doctor-live-MYXZCBSP.js.map} +0 -0
- /package/dist/{expert-bridge-3WL6X37T.js.map → expert-bridge-CXHYMQRL.js.map} +0 -0
- /package/dist/{factory-IAH3XPHY.js.map → factory-3Z46455N.js.map} +0 -0
- /package/dist/{factory-X7XECZ3D.js.map → factory-KH2MJQ5U.js.map} +0 -0
- /package/dist/{improvement-review-4VHBKOME.js.map → improvement-review-RAISKC3W.js.map} +0 -0
- /package/dist/{init-opencode-YLKVZJJA.js.map → init-opencode-WXRTDPFP.js.map} +0 -0
- /package/dist/{issue-triage-UUD53JH3.js.map → issue-triage-KF47ZHU7.js.map} +0 -0
- /package/dist/{model-config-helpers-KRTQLJF4.js.map → model-config-helpers-ZH2QAFVR.js.map} +0 -0
- /package/dist/{openai-compat-adapter-YTSKOE4F.js.map → openai-compat-adapter-PQ3JKWPZ.js.map} +0 -0
- /package/dist/{outcome-store-adapter-PSVE6YAJ.js.map → outcome-store-adapter-NTYEZXLH.js.map} +0 -0
- /package/dist/{pr-reviewer-helpers-VP4P23TI.js.map → pr-reviewer-helpers-AQNGDRQT.js.map} +0 -0
- /package/dist/{registry-command-S4GXEMQR.js.map → registry-command-6EHIJ3PJ.js.map} +0 -0
- /package/dist/{repo-security-plan-66VLAFUR.js.map → repo-security-plan-AP3QEWJ5.js.map} +0 -0
- /package/dist/{research-helpers-synthesize-RFOFNS5W.js.map → research-helpers-synthesize-XE3RMFQT.js.map} +0 -0
- /package/dist/{routing-memory-KKBKCISC.js.map → routing-memory-PBZIE5NX.js.map} +0 -0
- /package/dist/{session-memory-6FGTXRCN.js.map → session-memory-6NUK6ZAG.js.map} +0 -0
- /package/dist/{setup-config-4NLQBTZH.js.map → setup-config-KEPU4NTT.js.map} +0 -0
- /package/dist/{setup-custom-api-FLGYMLGG.js.map → setup-custom-api-XY455LVS.js.map} +0 -0
- /package/dist/{setup-data-dir-VBMDTRCF.js.map → setup-data-dir-5MRGQD2G.js.map} +0 -0
- /package/dist/{tool-memory-5DOAHII2.js.map → tool-memory-MO2KOJJ7.js.map} +0 -0
- /package/dist/{unified-registry-I2BUGW6I.js.map → unified-registry-JE22THXP.js.map} +0 -0
- /package/dist/{weather-report-CTT5O7MR.js.map → weather-report-TQ6KM2F2.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-6Z3MAHAC.js";
|
|
13
|
+
import "./chunk-7XJZTSHW.js";
|
|
14
14
|
import "./chunk-XBEKMUTO.js";
|
|
15
15
|
import "./chunk-UE7A2XHM.js";
|
|
16
16
|
import "./chunk-LWOX65CP.js";
|
|
@@ -28,4 +28,4 @@ export {
|
|
|
28
28
|
loadRules,
|
|
29
29
|
runAstQaRules
|
|
30
30
|
};
|
|
31
|
-
//# sourceMappingURL=ast-rule-runner-
|
|
31
|
+
//# sourceMappingURL=ast-rule-runner-5U6TE6YJ.js.map
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
} from "./chunk-JPFRRNRR.js";
|
|
4
4
|
import {
|
|
5
5
|
createLogger
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-7XJZTSHW.js";
|
|
7
7
|
import "./chunk-XBEKMUTO.js";
|
|
8
8
|
import "./chunk-UE7A2XHM.js";
|
|
9
9
|
import "./chunk-LWOX65CP.js";
|
|
@@ -75,4 +75,4 @@ async function generateMcpConfig(options) {
|
|
|
75
75
|
export {
|
|
76
76
|
generateMcpConfig
|
|
77
77
|
};
|
|
78
|
-
//# sourceMappingURL=child-mcp-config-
|
|
78
|
+
//# sourceMappingURL=child-mcp-config-IR7LRMIK.js.map
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
} from "./chunk-ZO6ZKR7L.js";
|
|
4
4
|
import {
|
|
5
5
|
SessionMemory
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-FKMBZ53Y.js";
|
|
7
7
|
import {
|
|
8
8
|
TRUST_TIER_NUMERIC,
|
|
9
9
|
TrustTierSchema
|
|
@@ -17,7 +17,7 @@ import {
|
|
|
17
17
|
} from "./chunk-ROYGBFVE.js";
|
|
18
18
|
import {
|
|
19
19
|
generateId
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-DEQRRCHK.js";
|
|
21
21
|
import {
|
|
22
22
|
ErrorCode,
|
|
23
23
|
NexusError,
|
|
@@ -34,7 +34,7 @@ import {
|
|
|
34
34
|
stringifyValue,
|
|
35
35
|
tokenize,
|
|
36
36
|
tokenizeFiltered
|
|
37
|
-
} from "./chunk-
|
|
37
|
+
} from "./chunk-7XJZTSHW.js";
|
|
38
38
|
import {
|
|
39
39
|
nexusDataPath
|
|
40
40
|
} from "./chunk-LWOX65CP.js";
|
|
@@ -5841,4 +5841,4 @@ export {
|
|
|
5841
5841
|
shutdownToolMemory,
|
|
5842
5842
|
ToolMemoryManager
|
|
5843
5843
|
};
|
|
5844
|
-
//# sourceMappingURL=chunk-
|
|
5844
|
+
//# sourceMappingURL=chunk-2AN5NGCQ.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
redactCredentialShapes
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-7XJZTSHW.js";
|
|
4
4
|
|
|
5
5
|
// src/security/output-sanitizer.ts
|
|
6
6
|
var REDACTED_KEY_PLACEHOLDER = "[REDACTED_KEY]";
|
|
@@ -54,4 +54,4 @@ export {
|
|
|
54
54
|
sanitizeErrorDetails,
|
|
55
55
|
sanitizeStringLeaves
|
|
56
56
|
};
|
|
57
|
-
//# sourceMappingURL=chunk-
|
|
57
|
+
//# sourceMappingURL=chunk-2AW2VHMK.js.map
|
|
@@ -4,16 +4,16 @@ import {
|
|
|
4
4
|
createOpenAICompatAdapter,
|
|
5
5
|
discoverGatewayCatalog,
|
|
6
6
|
readOpenAICompatEnv
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-C5WECFBR.js";
|
|
8
8
|
import {
|
|
9
9
|
CUSTOM_API_DEFAULT_MODEL
|
|
10
10
|
} from "./chunk-PRX4ERTK.js";
|
|
11
11
|
import {
|
|
12
12
|
gatewayProxyUrl
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-HK4LBUYY.js";
|
|
14
14
|
import {
|
|
15
15
|
redactGatewaySecrets
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-Q5F4OBOK.js";
|
|
17
17
|
import {
|
|
18
18
|
DEFAULT_OPENAI_COMPAT_ENDPOINT,
|
|
19
19
|
GATEWAY_COST_ENV,
|
|
@@ -31,7 +31,7 @@ import {
|
|
|
31
31
|
isCliDisabled,
|
|
32
32
|
symbols,
|
|
33
33
|
writeLine
|
|
34
|
-
} from "./chunk-
|
|
34
|
+
} from "./chunk-7XJZTSHW.js";
|
|
35
35
|
|
|
36
36
|
// src/cli/doctor-gateway-slots.ts
|
|
37
37
|
var FAMILY_SLOTS = [
|
|
@@ -398,4 +398,4 @@ export {
|
|
|
398
398
|
formatGatewayReport,
|
|
399
399
|
formatGatewaySlotWarnings
|
|
400
400
|
};
|
|
401
|
-
//# sourceMappingURL=chunk-
|
|
401
|
+
//# sourceMappingURL=chunk-6H4NUU7G.js.map
|
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
import {
|
|
5
5
|
createLogger,
|
|
6
6
|
getTimeProvider
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-7XJZTSHW.js";
|
|
8
8
|
|
|
9
9
|
// src/mcp/tools/scanner-registry-fetcher.ts
|
|
10
10
|
import { z } from "zod";
|
|
@@ -740,4 +740,4 @@ export {
|
|
|
740
740
|
generateSecurityPlan,
|
|
741
741
|
buildPlanFromAnalysis
|
|
742
742
|
};
|
|
743
|
-
//# sourceMappingURL=chunk-
|
|
743
|
+
//# sourceMappingURL=chunk-6WPXQTQY.js.map
|
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
createLogger,
|
|
5
5
|
formatZodError,
|
|
6
6
|
resolveInsideRoot
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-7XJZTSHW.js";
|
|
8
8
|
|
|
9
9
|
// src/security/ast-rule-runner.ts
|
|
10
10
|
import { existsSync } from "node:fs";
|
|
@@ -241,4 +241,4 @@ export {
|
|
|
241
241
|
collectAstQaFindings,
|
|
242
242
|
runAstQaRules
|
|
243
243
|
};
|
|
244
|
-
//# sourceMappingURL=chunk-
|
|
244
|
+
//# sourceMappingURL=chunk-6Z3MAHAC.js.map
|
|
@@ -2151,7 +2151,7 @@ function priceBasisCaveat(basis) {
|
|
|
2151
2151
|
case "list":
|
|
2152
2152
|
return "Estimated from public list prices \u2014 your contract, gateway or free-tier rate may differ.";
|
|
2153
2153
|
case "declared":
|
|
2154
|
-
return "Based on
|
|
2154
|
+
return "Based on an operator-declared rate, not a verified published price.";
|
|
2155
2155
|
case "unknown":
|
|
2156
2156
|
return void 0;
|
|
2157
2157
|
default: {
|
|
@@ -2175,17 +2175,24 @@ function isPrefixMatch(entry, query) {
|
|
|
2175
2175
|
return id.length > 0 && query.startsWith(id) || cliName.length > 0 && query.startsWith(cliName);
|
|
2176
2176
|
}
|
|
2177
2177
|
function lookupCanonicalPricing(model) {
|
|
2178
|
+
const registry = getDefaultRegistry();
|
|
2178
2179
|
const models = getInTreeCapabilitiesMatrix().models;
|
|
2179
|
-
|
|
2180
|
-
|
|
2181
|
-
|
|
2182
|
-
|
|
2183
|
-
|
|
2180
|
+
const matched = models.find((m) => isExactMatch(m, model)) ?? models.find((m) => m.pricing !== void 0 && isPrefixMatch(m, model));
|
|
2181
|
+
if (matched !== void 0) {
|
|
2182
|
+
const entry2 = registry.getEntry(matched.id);
|
|
2183
|
+
return {
|
|
2184
|
+
pricing: toPricing(matched.pricing),
|
|
2185
|
+
source: entry2.pricing === void 0 ? "in-tree" : entry2.source
|
|
2186
|
+
};
|
|
2184
2187
|
}
|
|
2185
|
-
|
|
2188
|
+
const entry = registry.getEntry(model);
|
|
2189
|
+
return {
|
|
2190
|
+
pricing: toPricing(entry.pricing),
|
|
2191
|
+
source: registry.getEntry(entry.resolvedFrom ?? entry.id).source
|
|
2192
|
+
};
|
|
2186
2193
|
}
|
|
2187
2194
|
function calculateCost(model, inputTokens, outputTokens) {
|
|
2188
|
-
const pricing = lookupCanonicalPricing(model);
|
|
2195
|
+
const { pricing } = lookupCanonicalPricing(model);
|
|
2189
2196
|
if (pricing === void 0) {
|
|
2190
2197
|
return void 0;
|
|
2191
2198
|
}
|
|
@@ -5824,6 +5831,7 @@ function computeCostDetail(modelId, inputTokens, outputTokens) {
|
|
|
5824
5831
|
return {
|
|
5825
5832
|
costUsd: roundToMicroUsd(costUsd),
|
|
5826
5833
|
priced: true,
|
|
5834
|
+
...getDefaultRegistry().getEntry(entry.resolvedFrom ?? entry.id).source === "manifest" ? { declared: true } : {},
|
|
5827
5835
|
resolvedId,
|
|
5828
5836
|
...provenance,
|
|
5829
5837
|
...entry.pricingProvenance !== void 0 ? { pricingProvenance: entry.pricingProvenance } : {}
|
|
@@ -6080,7 +6088,7 @@ function adapterReadiness(adapter, options) {
|
|
|
6080
6088
|
const ceiling = resolveClassGuardMs("interactive");
|
|
6081
6089
|
const requested = options.timeoutMs ?? ceiling;
|
|
6082
6090
|
const timeoutMs = Number.isFinite(requested) && requested > 0 ? Math.min(requested, ceiling) : ceiling;
|
|
6083
|
-
const flight = import("./cli-readiness-
|
|
6091
|
+
const flight = import("./cli-readiness-H4JTTKKU.js").then(({ probeServes }) => probeServes(adapter, timeoutMs)).finally(() => readinessFlights.delete(adapter));
|
|
6084
6092
|
readinessFlights.set(adapter, flight);
|
|
6085
6093
|
return flight;
|
|
6086
6094
|
}
|
|
@@ -6090,7 +6098,7 @@ async function servesListedModel(adapter, modelId, cli) {
|
|
|
6090
6098
|
const models = await adapter.listModels();
|
|
6091
6099
|
if (models.length === 0) return "unknown";
|
|
6092
6100
|
const requestedKey = canonicalModelKey(modelId);
|
|
6093
|
-
const findCanonicalModel2 = cli === "codex" ? (await import("./model-config-helpers-
|
|
6101
|
+
const findCanonicalModel2 = cli === "codex" ? (await import("./model-config-helpers-ZH2QAFVR.js")).findCanonicalModel : void 0;
|
|
6094
6102
|
const requestedEntry = requestedKey === null ? findCanonicalModel2?.("codex", modelId) : void 0;
|
|
6095
6103
|
const listed = models.some((model) => {
|
|
6096
6104
|
const listedEntry = findCanonicalModel2?.("codex", model.id);
|
|
@@ -7314,7 +7322,10 @@ var CircuitBreakerRegistry = class {
|
|
|
7314
7322
|
}
|
|
7315
7323
|
return snapshots;
|
|
7316
7324
|
}
|
|
7317
|
-
/**
|
|
7325
|
+
/**
|
|
7326
|
+
* CLI-slot view of {@link getAllArmSnapshots}: `api:*` arms are filtered out.
|
|
7327
|
+
* @deprecated Use {@link getAllArmSnapshots}; removed in 10.0, #6291.
|
|
7328
|
+
*/
|
|
7318
7329
|
getAllSnapshots() {
|
|
7319
7330
|
const snapshots = /* @__PURE__ */ new Map();
|
|
7320
7331
|
for (const [name, snapshot] of this.getAllArmSnapshots()) {
|
|
@@ -7356,7 +7367,10 @@ var CircuitBreakerRegistry = class {
|
|
|
7356
7367
|
}
|
|
7357
7368
|
return healthy;
|
|
7358
7369
|
}
|
|
7359
|
-
/**
|
|
7370
|
+
/**
|
|
7371
|
+
* CLI-slot view of {@link getHealthyArms}: `api:*` arms are filtered out.
|
|
7372
|
+
* @deprecated Use {@link getHealthyArms}; removed in 10.0, #6291.
|
|
7373
|
+
*/
|
|
7360
7374
|
getHealthyClis() {
|
|
7361
7375
|
return this.getHealthyArms().filter(isCliName);
|
|
7362
7376
|
}
|
|
@@ -7371,7 +7385,10 @@ var CircuitBreakerRegistry = class {
|
|
|
7371
7385
|
}
|
|
7372
7386
|
return unhealthy;
|
|
7373
7387
|
}
|
|
7374
|
-
/**
|
|
7388
|
+
/**
|
|
7389
|
+
* CLI-slot view of {@link getUnhealthyArms}: `api:*` arms are filtered out.
|
|
7390
|
+
* @deprecated Use {@link getUnhealthyArms}; removed in 10.0, #6291.
|
|
7391
|
+
*/
|
|
7375
7392
|
getUnhealthyClis() {
|
|
7376
7393
|
return this.getUnhealthyArms().filter(isCliName);
|
|
7377
7394
|
}
|
|
@@ -7540,7 +7557,7 @@ var ModelToCliAdapter = class {
|
|
|
7540
7557
|
}
|
|
7541
7558
|
async execute(task, options) {
|
|
7542
7559
|
const gatewayArm = this.gatewayArmField().gatewayArm;
|
|
7543
|
-
const breaker = gatewayArm !== void 0 && this.modelAdapter.providerId === `cli-${this.name}` ? (await import("./cli-circuit-breaker-
|
|
7560
|
+
const breaker = gatewayArm !== void 0 && this.modelAdapter.providerId === `cli-${this.name}` ? (await import("./cli-circuit-breaker-AZHN2TMH.js")).getDefaultCliCircuitBreakerRegistry().getArmBreaker(breakerKeys.forArm({ name: this.name, gatewayArm })) : void 0;
|
|
7544
7561
|
const result = await this.modelAdapter.complete(this.toCompletionRequest(task, options));
|
|
7545
7562
|
if (!result.ok) {
|
|
7546
7563
|
const cliError = this.toCliError(result.error);
|
|
@@ -7890,7 +7907,12 @@ function ceilingPriceBasis(target, costUsd, env) {
|
|
|
7890
7907
|
const arm = served === void 0 ? target.arm : served.arm;
|
|
7891
7908
|
const declaration = arm !== void 0 && isGatewayArmId(arm) ? resolveGatewayCostDeclaration(arm, env) : void 0;
|
|
7892
7909
|
const declared = declaration !== void 0 && gatewayCostRates(declaration) !== "registry";
|
|
7893
|
-
|
|
7910
|
+
if (declared) return "declared";
|
|
7911
|
+
return registryCeilingBasis(target, served, arm, env);
|
|
7912
|
+
}
|
|
7913
|
+
function registryCeilingBasis(target, served, arm, env) {
|
|
7914
|
+
const model = arm !== void 0 && isGatewayArmId(arm) ? gatewayPricingModel(arm, served?.modelId ?? sentModelOf(target.adapter), env) : getDefaultModelForCli(observedArmDisplaySlot(target.arm));
|
|
7915
|
+
return model === void 0 ? "unknown" : priceBasisOf(computeCostDetail(model, 0, 0));
|
|
7894
7916
|
}
|
|
7895
7917
|
function recordCeilingCostOfArm(target, inputTokens, outputTokens, ceiling, env = process.env) {
|
|
7896
7918
|
const costUsd = ceilingCostOfArm(target, inputTokens, outputTokens, env);
|
|
@@ -12741,8 +12763,9 @@ var TaskOutcomeSchema = z13.object({
|
|
|
12741
12763
|
*/
|
|
12742
12764
|
costUsd: z13.number().nonnegative().optional(),
|
|
12743
12765
|
/**
|
|
12744
|
-
* What `costUsd` rests on (#6624): `'list'` for
|
|
12745
|
-
* `'declared'` for
|
|
12766
|
+
* What `costUsd` rests on (#6624): `'list'` for an assumed published
|
|
12767
|
+
* registry-chain rate, `'declared'` for a manifest-overlay price (user or
|
|
12768
|
+
* operator tier) or an explicit gateway rate (including free/local), and
|
|
12746
12769
|
* `'unknown'` when pricing was attempted but none resolved. Absent when no
|
|
12747
12770
|
* lookup was made because the adapter reported no token usage.
|
|
12748
12771
|
*/
|
|
@@ -13576,7 +13599,7 @@ function getOutcomeStore() {
|
|
|
13576
13599
|
async function attachOutcomeStoreToRegistry(store) {
|
|
13577
13600
|
try {
|
|
13578
13601
|
const { getMemoryRegistry } = await import("./dist-RRRU2OKU.js");
|
|
13579
|
-
const { OutcomeStoreAdapter } = await import("./outcome-store-adapter-
|
|
13602
|
+
const { OutcomeStoreAdapter } = await import("./outcome-store-adapter-NTYEZXLH.js");
|
|
13580
13603
|
const { ensureSharedMemoryRegistry } = await import("./tool-memory-registry-adapters-FO6JVQSX.js");
|
|
13581
13604
|
ensureSharedMemoryRegistry();
|
|
13582
13605
|
getMemoryRegistry().attach("outcomes", new OutcomeStoreAdapter(store));
|
|
@@ -15860,10 +15883,29 @@ function mintReasoningNonce() {
|
|
|
15860
15883
|
function computeReasoningDigest(reasoningNonce, reasoning) {
|
|
15861
15884
|
return crypto.createHash("sha256").update(reasoningNonce).update(reasoning).digest("hex");
|
|
15862
15885
|
}
|
|
15863
|
-
|
|
15886
|
+
function reasoningCommitmentText(version, reasoning, conditions) {
|
|
15887
|
+
return version === "1.15" ? JSON.stringify({ reasoning, conditions }) : reasoning;
|
|
15888
|
+
}
|
|
15889
|
+
var REASONING_DIGEST_TIERS = /* @__PURE__ */ new Set(["1.13", "1.14", "1.15"]);
|
|
15864
15890
|
function isReasoningDigestTier(version) {
|
|
15865
15891
|
return REASONING_DIGEST_TIERS.has(version);
|
|
15866
15892
|
}
|
|
15893
|
+
function buildReasoningCommitment(clipped, version, conditions) {
|
|
15894
|
+
const reasoningNonce = mintReasoningNonce();
|
|
15895
|
+
return {
|
|
15896
|
+
reasoning: clipped.text,
|
|
15897
|
+
...clipped.truncated === true ? { reasoningTruncated: true } : {},
|
|
15898
|
+
reasoningNonce,
|
|
15899
|
+
reasoningDigest: computeReasoningDigest(
|
|
15900
|
+
reasoningNonce,
|
|
15901
|
+
reasoningCommitmentText(version, clipped.text, conditions)
|
|
15902
|
+
)
|
|
15903
|
+
};
|
|
15904
|
+
}
|
|
15905
|
+
function isUnhashedReasoningField(version, key) {
|
|
15906
|
+
if (!isReasoningDigestTier(version)) return key === "reasoningNonce" || key === "reasoningDigest";
|
|
15907
|
+
return key === "reasoning" || key === "reasoningNonce" || version === "1.15" && key === "conditions";
|
|
15908
|
+
}
|
|
15867
15909
|
function textTierShapeDefect(v) {
|
|
15868
15910
|
if (v.reasoningNonce !== void 0) {
|
|
15869
15911
|
return { key: "reasoningNonce", message: "reasoningNonce is a 1.13 key" };
|
|
@@ -15887,14 +15929,17 @@ function digestTierShapeDefect(v) {
|
|
|
15887
15929
|
}
|
|
15888
15930
|
return null;
|
|
15889
15931
|
}
|
|
15890
|
-
function reasoningCommitmentShapeDefect(digestTier, v) {
|
|
15932
|
+
function reasoningCommitmentShapeDefect(digestTier, v, conditionsTier = false) {
|
|
15933
|
+
if (conditionsTier && v.conditions !== void 0 && v.reasoning === void 0) {
|
|
15934
|
+
return { key: "conditions", message: "conditions without the reasoning opening they share" };
|
|
15935
|
+
}
|
|
15891
15936
|
return digestTier ? digestTierShapeDefect(v) : textTierShapeDefect(v);
|
|
15892
15937
|
}
|
|
15893
15938
|
function findReasoningCommitmentDefect(record, redactedRoles) {
|
|
15894
15939
|
const digestTier = isReasoningDigestTier(record.version);
|
|
15895
15940
|
for (const [i, v] of record.voters.entries()) {
|
|
15896
15941
|
const where = `voters[${String(i)}] (${v.role})`;
|
|
15897
|
-
const shape = reasoningCommitmentShapeDefect(digestTier, v);
|
|
15942
|
+
const shape = reasoningCommitmentShapeDefect(digestTier, v, record.version === "1.15");
|
|
15898
15943
|
if (shape !== null) return `${where}: ${shape.message}`;
|
|
15899
15944
|
if (v.reasoningNonce === void 0 || v.reasoning === void 0) {
|
|
15900
15945
|
if (v.reasoningDigest !== void 0 && !redactedRoles.has(v.role)) {
|
|
@@ -15902,9 +15947,12 @@ function findReasoningCommitmentDefect(record, redactedRoles) {
|
|
|
15902
15947
|
}
|
|
15903
15948
|
continue;
|
|
15904
15949
|
}
|
|
15905
|
-
const recomputed = computeReasoningDigest(
|
|
15950
|
+
const recomputed = computeReasoningDigest(
|
|
15951
|
+
v.reasoningNonce,
|
|
15952
|
+
reasoningCommitmentText(record.version, v.reasoning, v.conditions)
|
|
15953
|
+
);
|
|
15906
15954
|
if (recomputed !== v.reasoningDigest) {
|
|
15907
|
-
return `${where}: stored reasoningDigest=${String(v.reasoningDigest)} does not match sha256(reasoningNonce \u2016
|
|
15955
|
+
return `${where}: stored reasoningDigest=${String(v.reasoningDigest)} does not match sha256(reasoningNonce \u2016 opening)=${recomputed} \u2014 the opening was edited without re-committing`;
|
|
15908
15956
|
}
|
|
15909
15957
|
}
|
|
15910
15958
|
return null;
|
|
@@ -15973,6 +16021,9 @@ function redactedRolesByTarget(redactions) {
|
|
|
15973
16021
|
}
|
|
15974
16022
|
return byTarget;
|
|
15975
16023
|
}
|
|
16024
|
+
function hasOpening(v, version) {
|
|
16025
|
+
return v.reasoning !== void 0 || v.reasoningNonce !== void 0 || version === "1.15" && v.conditions !== void 0;
|
|
16026
|
+
}
|
|
15976
16027
|
function redactionBindingDefect(r, targets) {
|
|
15977
16028
|
const matched = targets.filter((t) => t.id === r.targetId);
|
|
15978
16029
|
if (matched.length === 0) return `targetId '${r.targetId}' matches no record in the set`;
|
|
@@ -15989,7 +16040,7 @@ function redactionBindingDefect(r, targets) {
|
|
|
15989
16040
|
if (v.reasoningDigest === void 0) {
|
|
15990
16041
|
return `names role '${role}' on '${target.id}', which carries no reasoning commitment`;
|
|
15991
16042
|
}
|
|
15992
|
-
if (v
|
|
16043
|
+
if (hasOpening(v, target.version)) {
|
|
15993
16044
|
return `names role '${role}' on '${target.id}' whose opening is still present \u2014 the redaction is recorded but not applied`;
|
|
15994
16045
|
}
|
|
15995
16046
|
}
|
|
@@ -16092,6 +16143,8 @@ var VoteRecordPanelCoverageSchema = z20.object({
|
|
|
16092
16143
|
erroredRoles: z20.array(z20.string().min(1).max(100))
|
|
16093
16144
|
}).strict();
|
|
16094
16145
|
var MAX_VOTER_REASONING_CHARS = 2e4;
|
|
16146
|
+
var MAX_VOTER_CONDITIONS = 20;
|
|
16147
|
+
var MAX_VOTER_CONDITION_CHARS = 2e3;
|
|
16095
16148
|
function clipForRecord(text) {
|
|
16096
16149
|
if (text.length <= MAX_VOTER_REASONING_CHARS) return { text };
|
|
16097
16150
|
return { text: text.slice(0, MAX_VOTER_REASONING_CHARS), truncated: true };
|
|
@@ -16243,7 +16296,8 @@ var VoterSummarySchema = z20.object({
|
|
|
16243
16296
|
reasoningNonce: z20.string().regex(HEX_256_PATTERN).optional(),
|
|
16244
16297
|
/**
|
|
16245
16298
|
* `sha256(reasoningNonce ‖ reasoning)` as lowercase hex (#6263, schema
|
|
16246
|
-
* 1.13) — see `computeReasoningDigest` in reasoning-commitment.ts.
|
|
16299
|
+
* 1.13) — see `computeReasoningDigest` in reasoning-commitment.ts. On
|
|
16300
|
+
* 1.15 the preimage bundles reasoning and conditions via reasoningCommitmentText. The
|
|
16247
16301
|
* commitment to the text: {@link verifyVoteRecordSet} re-opens it
|
|
16248
16302
|
* whenever nonce and text are both present, so a text edited without
|
|
16249
16303
|
* re-committing is a `hash_mismatch` exactly as it was when the text
|
|
@@ -16254,7 +16308,17 @@ var VoterSummarySchema = z20.object({
|
|
|
16254
16308
|
/** Declared option selected by this seat (#4495, schema 1.14). */
|
|
16255
16309
|
selectedOption: z20.string().min(1).optional(),
|
|
16256
16310
|
/** Present only when the approving seat was re-asked once (#4495). */
|
|
16257
|
-
optionReask: z20.object({ resolved: z20.boolean() }).strict().optional()
|
|
16311
|
+
optionReask: z20.object({ resolved: z20.boolean() }).strict().optional(),
|
|
16312
|
+
/**
|
|
16313
|
+
* Voter-sent approval conditions (#7134, schema 1.15). Advisory and
|
|
16314
|
+
* unenforced: they do not change the tally. Absent means not supplied;
|
|
16315
|
+
* an empty array means explicitly no conditions. Preserve prose, including
|
|
16316
|
+
* Unicode, within the caps: at most 20 strings of 2,000 UTF-16 code units
|
|
16317
|
+
* each. The response parser visibly marks clipped strings and dropped items.
|
|
16318
|
+
* On 1.15 they share the reasoningNonce/reasoningDigest commitment and
|
|
16319
|
+
* are removed with reasoning and nonce at sanctioned redaction.
|
|
16320
|
+
*/
|
|
16321
|
+
conditions: z20.array(z20.string().max(MAX_VOTER_CONDITION_CHARS)).max(MAX_VOTER_CONDITIONS).optional()
|
|
16258
16322
|
}).strict();
|
|
16259
16323
|
function defineVoterKeys(keys) {
|
|
16260
16324
|
return keys;
|
|
@@ -16293,15 +16357,9 @@ var VOTER_SUMMARY_KEYS = defineVoterKeys([
|
|
|
16293
16357
|
"servedModel",
|
|
16294
16358
|
// 1.14 (#4495): appended, present-only; historical hashes stay unchanged.
|
|
16295
16359
|
"selectedOption",
|
|
16296
|
-
"optionReask"
|
|
16297
|
-
|
|
16298
|
-
|
|
16299
|
-
"reasoningNonce",
|
|
16300
|
-
"reasoningDigest"
|
|
16301
|
-
]);
|
|
16302
|
-
var REASONING_OPENING_KEYS = /* @__PURE__ */ new Set([
|
|
16303
|
-
"reasoning",
|
|
16304
|
-
"reasoningNonce"
|
|
16360
|
+
"optionReask",
|
|
16361
|
+
// 1.15 (#7134): conditions join the commitment opening; never folded on 1.15.
|
|
16362
|
+
"conditions"
|
|
16305
16363
|
]);
|
|
16306
16364
|
function noUnprojectedKeys(rest) {
|
|
16307
16365
|
return rest;
|
|
@@ -16324,8 +16382,8 @@ function projectRetriedFrom(r) {
|
|
|
16324
16382
|
...errorTruncated !== void 0 ? { errorTruncated } : {}
|
|
16325
16383
|
};
|
|
16326
16384
|
}
|
|
16327
|
-
function projectVoterField(v, key,
|
|
16328
|
-
if (
|
|
16385
|
+
function projectVoterField(v, key, version) {
|
|
16386
|
+
if (isUnhashedReasoningField(version, key)) return void 0;
|
|
16329
16387
|
if (key === "fallback") {
|
|
16330
16388
|
return v.fallback === void 0 ? void 0 : projectSeatFallback(v.fallback);
|
|
16331
16389
|
}
|
|
@@ -16338,10 +16396,10 @@ function projectVoterField(v, key, digestTier) {
|
|
|
16338
16396
|
}
|
|
16339
16397
|
return v[key];
|
|
16340
16398
|
}
|
|
16341
|
-
function projectVoterSummary(v,
|
|
16399
|
+
function projectVoterSummary(v, version) {
|
|
16342
16400
|
const out = {};
|
|
16343
16401
|
for (const key of VOTER_SUMMARY_KEYS) {
|
|
16344
|
-
const value = projectVoterField(v, key,
|
|
16402
|
+
const value = projectVoterField(v, key, version);
|
|
16345
16403
|
if (value !== void 0) out[key] = value;
|
|
16346
16404
|
}
|
|
16347
16405
|
return out;
|
|
@@ -16382,7 +16440,8 @@ var VoteRecordSchema = z20.object({
|
|
|
16382
16440
|
* and — the one tier that changes what an EXISTING key means to the
|
|
16383
16441
|
* hash — folds those instead of `reasoning` (#6263; the clip marker
|
|
16384
16442
|
* `reasoningTruncated` stays folded). '1.14' adds per-seat selections and
|
|
16385
|
-
* re-ask outcomes (#4495), keeping the digest fold.
|
|
16443
|
+
* re-ask outcomes (#4495), keeping the digest fold. '1.15' adds advisory
|
|
16444
|
+
* voter conditions (#7134), also keeping the digest fold. Every tier is accepted — a 1.1 record
|
|
16386
16445
|
* (no `ratifies`) verifies unchanged because each optional is folded into
|
|
16387
16446
|
* the self-hash ONLY when present (see {@link computeVoteRecordHash}).
|
|
16388
16447
|
* Tiers are labels, not ordered numbers: '1.10' follows '1.9' by
|
|
@@ -16402,7 +16461,8 @@ var VoteRecordSchema = z20.object({
|
|
|
16402
16461
|
"1.11",
|
|
16403
16462
|
"1.12",
|
|
16404
16463
|
"1.13",
|
|
16405
|
-
"1.14"
|
|
16464
|
+
"1.14",
|
|
16465
|
+
"1.15"
|
|
16406
16466
|
]),
|
|
16407
16467
|
/** Unique record id (also usable as a `ratificationVoteRef`). */
|
|
16408
16468
|
id: z20.string().min(1),
|
|
@@ -16562,7 +16622,7 @@ var VoteRecordSchema = z20.object({
|
|
|
16562
16622
|
}).strict().superRefine((record, ctx) => {
|
|
16563
16623
|
const digestTier = isReasoningDigestTier(record.version);
|
|
16564
16624
|
for (const [i, v] of record.voters.entries()) {
|
|
16565
|
-
const defect = reasoningCommitmentShapeDefect(digestTier, v);
|
|
16625
|
+
const defect = reasoningCommitmentShapeDefect(digestTier, v, record.version === "1.15");
|
|
16566
16626
|
if (defect !== null) {
|
|
16567
16627
|
ctx.addIssue({ code: "custom", path: ["voters", i, defect.key], message: defect.message });
|
|
16568
16628
|
}
|
|
@@ -16622,9 +16682,7 @@ function computeVoteRecordHash(payload) {
|
|
|
16622
16682
|
// `reasoningNonce` stays outside the hash with the text (the clip marker
|
|
16623
16683
|
// stays folded); the text is bound by the digest, which
|
|
16624
16684
|
// `verifyVoteRecordSet` re-opens with the nonce.
|
|
16625
|
-
voters: payload.voters.map(
|
|
16626
|
-
(v) => projectVoterSummary(v, isReasoningDigestTier(payload.version))
|
|
16627
|
-
),
|
|
16685
|
+
voters: payload.voters.map((v) => projectVoterSummary(v, payload.version)),
|
|
16628
16686
|
correlationId: payload.correlationId ?? null
|
|
16629
16687
|
};
|
|
16630
16688
|
const canonical = JSON.stringify(foldOptionalFields(base, payload));
|
|
@@ -16756,13 +16814,19 @@ function servedModelField(v, logger16) {
|
|
|
16756
16814
|
});
|
|
16757
16815
|
return {};
|
|
16758
16816
|
}
|
|
16759
|
-
function
|
|
16817
|
+
function voterEvidence(v) {
|
|
16760
16818
|
return {
|
|
16761
16819
|
...v.vote.decision === "approve" && v.selectedOption !== void 0 ? { selectedOption: v.selectedOption } : {},
|
|
16762
|
-
...v.optionReask !== void 0 ? { optionReask: { resolved: v.optionReask.resolved } } : {}
|
|
16820
|
+
...v.optionReask !== void 0 ? { optionReask: { resolved: v.optionReask.resolved } } : {},
|
|
16821
|
+
// ParsedVote -> result.vote carries visibly bounded conditions. Preserve [].
|
|
16822
|
+
...v.vote.conditions !== void 0 ? { conditions: [...v.vote.conditions] } : {}
|
|
16763
16823
|
};
|
|
16764
16824
|
}
|
|
16825
|
+
function voterCommitmentVersion(votes) {
|
|
16826
|
+
return votes.some((v) => v.source !== "error" && v.vote.conditions !== void 0) ? "1.15" : "1.13";
|
|
16827
|
+
}
|
|
16765
16828
|
function toVoterSummaries(votes, logger16) {
|
|
16829
|
+
const version = voterCommitmentVersion(votes);
|
|
16766
16830
|
const summaries = [];
|
|
16767
16831
|
for (const v of votes) {
|
|
16768
16832
|
if (v.source === "error") continue;
|
|
@@ -16771,7 +16835,7 @@ function toVoterSummaries(votes, logger16) {
|
|
|
16771
16835
|
role: v.role,
|
|
16772
16836
|
decision: vote.decision,
|
|
16773
16837
|
confidence: vote.confidence,
|
|
16774
|
-
...
|
|
16838
|
+
...buildReasoningCommitment(clipForRecord(vote.reasoning), version, vote.conditions),
|
|
16775
16839
|
// #6050: carried, not dropped. `voter-retry.ts` has set this on every
|
|
16776
16840
|
// recovered seat since it was written and nothing read it, so the record
|
|
16777
16841
|
// said "7 of 7 answered cleanly" for a panel that needed a retry.
|
|
@@ -16795,21 +16859,11 @@ function toVoterSummaries(votes, logger16) {
|
|
|
16795
16859
|
// #6967: the hash projection (`VOTER_SUMMARY_KEYS`) appends it last, so
|
|
16796
16860
|
// its position here does not change any hash.
|
|
16797
16861
|
...servedModelField(v, logger16),
|
|
16798
|
-
...
|
|
16862
|
+
...voterEvidence(v)
|
|
16799
16863
|
});
|
|
16800
16864
|
}
|
|
16801
16865
|
return summaries;
|
|
16802
16866
|
}
|
|
16803
|
-
function reasoningFields(reasoning) {
|
|
16804
|
-
const { text, truncated } = clipForRecord(reasoning);
|
|
16805
|
-
const reasoningNonce = mintReasoningNonce();
|
|
16806
|
-
return {
|
|
16807
|
-
reasoning: text,
|
|
16808
|
-
...truncated === true ? { reasoningTruncated: true } : {},
|
|
16809
|
-
reasoningNonce,
|
|
16810
|
-
reasoningDigest: computeReasoningDigest(reasoningNonce, text)
|
|
16811
|
-
};
|
|
16812
|
-
}
|
|
16813
16867
|
function recordDecisionFor(input) {
|
|
16814
16868
|
return input.resolvedDecision ?? outcomeToDecision(input.result, input.votes, input.errorVoided ?? false);
|
|
16815
16869
|
}
|
|
@@ -16823,8 +16877,7 @@ function deriveOptionFields(votes, declaredOptions) {
|
|
|
16823
16877
|
}
|
|
16824
16878
|
function recordVersion(optionTally, optionCoverage, panelCoverage, voters, recordLevel) {
|
|
16825
16879
|
const voterTier = voterTierOf(voters);
|
|
16826
|
-
if (voterTier
|
|
16827
|
-
if (voterTier === "1.13") return "1.13";
|
|
16880
|
+
if (voterTier !== void 0 && isReasoningDigestTier(voterTier)) return voterTier;
|
|
16828
16881
|
if (voterTier === "1.12") return "1.12";
|
|
16829
16882
|
if (recordLevel.errorPolicy !== void 0) return "1.11";
|
|
16830
16883
|
if (recordLevel.ratifiesPr !== void 0) return "1.10";
|
|
@@ -16834,6 +16887,7 @@ function recordVersion(optionTally, optionCoverage, panelCoverage, voters, recor
|
|
|
16834
16887
|
return optionTally !== void 0 ? "1.3" : "1.2";
|
|
16835
16888
|
}
|
|
16836
16889
|
function voterTierOf(voters) {
|
|
16890
|
+
if (voters.some((v) => v.conditions !== void 0)) return "1.15";
|
|
16837
16891
|
if (voters.some((v) => v.selectedOption !== void 0 || v.optionReask !== void 0))
|
|
16838
16892
|
return "1.14";
|
|
16839
16893
|
if (voters.some((v) => v.reasoningDigest !== void 0)) return "1.13";
|
|
@@ -19921,7 +19975,7 @@ var CompositeRouter = class _CompositeRouter {
|
|
|
19921
19975
|
*/
|
|
19922
19976
|
async consultUnifiedContext(task) {
|
|
19923
19977
|
try {
|
|
19924
|
-
const { getContextForTask, inferTaskCategory } = await import("./context-retriever-
|
|
19978
|
+
const { getContextForTask, inferTaskCategory } = await import("./context-retriever-YM2PPNSY.js");
|
|
19925
19979
|
const ctx = await getContextForTask({
|
|
19926
19980
|
task: task.content,
|
|
19927
19981
|
category: inferTaskCategory(task.content),
|
|
@@ -21003,7 +21057,7 @@ function setDefaultRegistry(registry) {
|
|
|
21003
21057
|
}
|
|
21004
21058
|
async function reloadDefaultRegistry() {
|
|
21005
21059
|
globalRegistry = buildDefaultRegistry();
|
|
21006
|
-
const { resetGlobalRegistry } = await import("./unified-registry-
|
|
21060
|
+
const { resetGlobalRegistry } = await import("./unified-registry-JE22THXP.js");
|
|
21007
21061
|
resetGlobalRegistry();
|
|
21008
21062
|
return globalRegistry;
|
|
21009
21063
|
}
|
|
@@ -21637,6 +21691,8 @@ export {
|
|
|
21637
21691
|
DecisionGateSchema,
|
|
21638
21692
|
DecisionCostStore,
|
|
21639
21693
|
pipelineRunId,
|
|
21694
|
+
MAX_VOTER_CONDITIONS,
|
|
21695
|
+
MAX_VOTER_CONDITION_CHARS,
|
|
21640
21696
|
clipForRecord,
|
|
21641
21697
|
VoteRecordPrBindingSchema,
|
|
21642
21698
|
computeVoteRecordHash,
|
|
@@ -21670,4 +21726,4 @@ export {
|
|
|
21670
21726
|
AgentCapability,
|
|
21671
21727
|
OrchestratorError
|
|
21672
21728
|
};
|
|
21673
|
-
//# sourceMappingURL=chunk-
|
|
21729
|
+
//# sourceMappingURL=chunk-7XJZTSHW.js.map
|