nexus-agents 8.22.0 → 8.22.2

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.
Files changed (128) hide show
  1. package/dist/{ast-rule-runner-SDQOIQRZ.js → ast-rule-runner-UMOL7AO3.js} +3 -3
  2. package/dist/{child-mcp-config-ODRZEYO4.js → child-mcp-config-7DNOX3U3.js} +2 -2
  3. package/dist/{chunk-ZQXTKEUT.js → chunk-2IJOZA75.js} +2 -2
  4. package/dist/{chunk-SRRDYVWU.js → chunk-2RUDLEIT.js} +7 -7
  5. package/dist/{chunk-ZPAGB2SE.js → chunk-3J5WKA2S.js} +4 -4
  6. package/dist/{chunk-3R6IOJLN.js → chunk-3MSPZLGF.js} +2 -2
  7. package/dist/{chunk-FUA3WSZN.js → chunk-3R5TFUS5.js} +5 -5
  8. package/dist/{chunk-T4KYQXJ4.js → chunk-52QVQASD.js} +20 -18
  9. package/dist/chunk-52QVQASD.js.map +1 -0
  10. package/dist/{chunk-SE2EXART.js → chunk-6IOI5SK3.js} +2 -2
  11. package/dist/{chunk-ZGN5NO47.js → chunk-BAWRHK4W.js} +2 -2
  12. package/dist/{chunk-F2XSEDQB.js → chunk-BKE522YB.js} +9 -9
  13. package/dist/{chunk-JO4RQSXK.js → chunk-BU5LR2JJ.js} +2 -2
  14. package/dist/{chunk-OAIW2IPL.js → chunk-CY6KGPAP.js} +4 -4
  15. package/dist/{chunk-52ZXFIYU.js → chunk-DW3RU6GC.js} +2 -2
  16. package/dist/{chunk-5KDANU4X.js → chunk-FCIAKQNN.js} +2 -2
  17. package/dist/{chunk-CWFBUAHM.js → chunk-GHBR6ZG3.js} +4 -4
  18. package/dist/{chunk-WDTSF5AA.js → chunk-HILA36W2.js} +2 -2
  19. package/dist/{chunk-N3HWX2H2.js → chunk-HSOZPMQN.js} +2 -2
  20. package/dist/{chunk-U6HN2FGG.js → chunk-HZ3R63IV.js} +3 -3
  21. package/dist/{chunk-QQGP237B.js → chunk-JNCOVP77.js} +4 -4
  22. package/dist/{chunk-5MJQCHS4.js → chunk-KCDE6VIZ.js} +6 -6
  23. package/dist/{chunk-PWFFWOJX.js → chunk-NG7T6DN5.js} +3 -3
  24. package/dist/{chunk-AITXIX5S.js → chunk-NNM6ZIXQ.js} +58 -48
  25. package/dist/{chunk-AITXIX5S.js.map → chunk-NNM6ZIXQ.js.map} +1 -1
  26. package/dist/{chunk-4BTSZ5FM.js → chunk-OFLMRACR.js} +2 -2
  27. package/dist/{chunk-O23TG6DE.js → chunk-OPWJJXZU.js} +3 -3
  28. package/dist/{chunk-WDOTLCWV.js → chunk-P3WRF3A7.js} +2 -2
  29. package/dist/{chunk-WVKDOQ6P.js → chunk-P4QYPDTB.js} +2 -2
  30. package/dist/{chunk-R2H7VBEK.js → chunk-QWYY5DD6.js} +5 -5
  31. package/dist/{chunk-6NG32SWL.js → chunk-R2CDVI4E.js} +2 -2
  32. package/dist/{chunk-IXJS3GMI.js → chunk-RZUYKWEY.js} +7 -7
  33. package/dist/{chunk-LJFVNMYK.js → chunk-SRC2TLRU.js} +2 -2
  34. package/dist/{chunk-RO7MFYM3.js → chunk-SX5EZNPS.js} +36 -36
  35. package/dist/{chunk-3F2WBIAE.js → chunk-V2RNDE4R.js} +2 -2
  36. package/dist/chunk-X76M44I2.js +7 -0
  37. package/dist/{chunk-7MBHNIUH.js → chunk-XS423Y73.js} +2 -2
  38. package/dist/{chunk-H72S6PWN.js → chunk-ZWI54SPH.js} +2 -2
  39. package/dist/{cli-circuit-breaker-DE7PUEDU.js → cli-circuit-breaker-CWQPO6SJ.js} +3 -3
  40. package/dist/cli.js +43 -43
  41. package/dist/{composite-router-2G6ZEV2S.js → composite-router-EVIISDZX.js} +2 -2
  42. package/dist/{consensus-vote-ERH33XQO.js → consensus-vote-4Q4ZT5U7.js} +17 -17
  43. package/dist/{context-retriever-HHWBMQWP.js → context-retriever-7KBTMNCV.js} +8 -8
  44. package/dist/{doctor-deep-4NURQLSS.js → doctor-deep-WFHCOZJY.js} +3 -3
  45. package/dist/{doctor-live-FU25BNDK.js → doctor-live-LR2TJT45.js} +9 -9
  46. package/dist/{expert-bridge-LX7FVP5Z.js → expert-bridge-KWVJB63Y.js} +4 -4
  47. package/dist/{factory-LI4KSRMW.js → factory-MVWNG55G.js} +9 -9
  48. package/dist/{factory-TWM3UZLN.js → factory-XOSRNGBJ.js} +5 -5
  49. package/dist/{improvement-review-P6BTA2MR.js → improvement-review-F7CCW4HQ.js} +6 -6
  50. package/dist/index.d.ts +8 -10
  51. package/dist/index.js +31 -31
  52. package/dist/{init-opencode-TPQK7EEF.js → init-opencode-EEOVDBRF.js} +6 -6
  53. package/dist/issue-triage-WVSJEHYI.js +17 -0
  54. package/dist/{pr-reviewer-helpers-7HQZWV76.js → pr-reviewer-helpers-2ZSPMIG4.js} +4 -4
  55. package/dist/{registry-command-VN52ABY3.js → registry-command-SD3YGORZ.js} +2 -2
  56. package/dist/{repo-security-plan-S5273JAG.js → repo-security-plan-Z3EHJNZA.js} +3 -3
  57. package/dist/{research-helpers-synthesize-ZW5JWFRL.js → research-helpers-synthesize-KIZIELHL.js} +4 -4
  58. package/dist/{routing-memory-V4GY3BPK.js → routing-memory-RRMEGPQB.js} +2 -2
  59. package/dist/{session-memory-T2JMN6XL.js → session-memory-MMRSHXSO.js} +3 -3
  60. package/dist/{setup-config-AV7BBT3L.js → setup-config-54QMOSKC.js} +3 -3
  61. package/dist/{setup-custom-api-K2JKBSLE.js → setup-custom-api-7CCRA6AP.js} +4 -4
  62. package/dist/setup-data-dir-6OR7TLY6.js +29 -0
  63. package/dist/{tool-memory-PZH2ETBS.js → tool-memory-YV64LYJ3.js} +5 -5
  64. package/dist/{unified-registry-EPMTT6JO.js → unified-registry-DRKRTGHZ.js} +10 -10
  65. package/dist/{weather-report-XJINXQKZ.js → weather-report-PJBGR7WX.js} +2 -2
  66. package/package.json +1 -1
  67. package/dist/chunk-D7M6FUWK.js +0 -7
  68. package/dist/chunk-T4KYQXJ4.js.map +0 -1
  69. package/dist/issue-triage-NT2DHAPW.js +0 -17
  70. package/dist/setup-data-dir-PNV2NA4Z.js +0 -29
  71. /package/dist/{ast-rule-runner-SDQOIQRZ.js.map → ast-rule-runner-UMOL7AO3.js.map} +0 -0
  72. /package/dist/{child-mcp-config-ODRZEYO4.js.map → child-mcp-config-7DNOX3U3.js.map} +0 -0
  73. /package/dist/{chunk-ZQXTKEUT.js.map → chunk-2IJOZA75.js.map} +0 -0
  74. /package/dist/{chunk-SRRDYVWU.js.map → chunk-2RUDLEIT.js.map} +0 -0
  75. /package/dist/{chunk-ZPAGB2SE.js.map → chunk-3J5WKA2S.js.map} +0 -0
  76. /package/dist/{chunk-3R6IOJLN.js.map → chunk-3MSPZLGF.js.map} +0 -0
  77. /package/dist/{chunk-FUA3WSZN.js.map → chunk-3R5TFUS5.js.map} +0 -0
  78. /package/dist/{chunk-SE2EXART.js.map → chunk-6IOI5SK3.js.map} +0 -0
  79. /package/dist/{chunk-ZGN5NO47.js.map → chunk-BAWRHK4W.js.map} +0 -0
  80. /package/dist/{chunk-F2XSEDQB.js.map → chunk-BKE522YB.js.map} +0 -0
  81. /package/dist/{chunk-JO4RQSXK.js.map → chunk-BU5LR2JJ.js.map} +0 -0
  82. /package/dist/{chunk-OAIW2IPL.js.map → chunk-CY6KGPAP.js.map} +0 -0
  83. /package/dist/{chunk-52ZXFIYU.js.map → chunk-DW3RU6GC.js.map} +0 -0
  84. /package/dist/{chunk-5KDANU4X.js.map → chunk-FCIAKQNN.js.map} +0 -0
  85. /package/dist/{chunk-CWFBUAHM.js.map → chunk-GHBR6ZG3.js.map} +0 -0
  86. /package/dist/{chunk-WDTSF5AA.js.map → chunk-HILA36W2.js.map} +0 -0
  87. /package/dist/{chunk-N3HWX2H2.js.map → chunk-HSOZPMQN.js.map} +0 -0
  88. /package/dist/{chunk-U6HN2FGG.js.map → chunk-HZ3R63IV.js.map} +0 -0
  89. /package/dist/{chunk-QQGP237B.js.map → chunk-JNCOVP77.js.map} +0 -0
  90. /package/dist/{chunk-5MJQCHS4.js.map → chunk-KCDE6VIZ.js.map} +0 -0
  91. /package/dist/{chunk-PWFFWOJX.js.map → chunk-NG7T6DN5.js.map} +0 -0
  92. /package/dist/{chunk-4BTSZ5FM.js.map → chunk-OFLMRACR.js.map} +0 -0
  93. /package/dist/{chunk-O23TG6DE.js.map → chunk-OPWJJXZU.js.map} +0 -0
  94. /package/dist/{chunk-WDOTLCWV.js.map → chunk-P3WRF3A7.js.map} +0 -0
  95. /package/dist/{chunk-WVKDOQ6P.js.map → chunk-P4QYPDTB.js.map} +0 -0
  96. /package/dist/{chunk-R2H7VBEK.js.map → chunk-QWYY5DD6.js.map} +0 -0
  97. /package/dist/{chunk-6NG32SWL.js.map → chunk-R2CDVI4E.js.map} +0 -0
  98. /package/dist/{chunk-IXJS3GMI.js.map → chunk-RZUYKWEY.js.map} +0 -0
  99. /package/dist/{chunk-LJFVNMYK.js.map → chunk-SRC2TLRU.js.map} +0 -0
  100. /package/dist/{chunk-RO7MFYM3.js.map → chunk-SX5EZNPS.js.map} +0 -0
  101. /package/dist/{chunk-3F2WBIAE.js.map → chunk-V2RNDE4R.js.map} +0 -0
  102. /package/dist/{chunk-D7M6FUWK.js.map → chunk-X76M44I2.js.map} +0 -0
  103. /package/dist/{chunk-7MBHNIUH.js.map → chunk-XS423Y73.js.map} +0 -0
  104. /package/dist/{chunk-H72S6PWN.js.map → chunk-ZWI54SPH.js.map} +0 -0
  105. /package/dist/{cli-circuit-breaker-DE7PUEDU.js.map → cli-circuit-breaker-CWQPO6SJ.js.map} +0 -0
  106. /package/dist/{composite-router-2G6ZEV2S.js.map → composite-router-EVIISDZX.js.map} +0 -0
  107. /package/dist/{consensus-vote-ERH33XQO.js.map → consensus-vote-4Q4ZT5U7.js.map} +0 -0
  108. /package/dist/{context-retriever-HHWBMQWP.js.map → context-retriever-7KBTMNCV.js.map} +0 -0
  109. /package/dist/{doctor-deep-4NURQLSS.js.map → doctor-deep-WFHCOZJY.js.map} +0 -0
  110. /package/dist/{doctor-live-FU25BNDK.js.map → doctor-live-LR2TJT45.js.map} +0 -0
  111. /package/dist/{expert-bridge-LX7FVP5Z.js.map → expert-bridge-KWVJB63Y.js.map} +0 -0
  112. /package/dist/{factory-LI4KSRMW.js.map → factory-MVWNG55G.js.map} +0 -0
  113. /package/dist/{factory-TWM3UZLN.js.map → factory-XOSRNGBJ.js.map} +0 -0
  114. /package/dist/{improvement-review-P6BTA2MR.js.map → improvement-review-F7CCW4HQ.js.map} +0 -0
  115. /package/dist/{init-opencode-TPQK7EEF.js.map → init-opencode-EEOVDBRF.js.map} +0 -0
  116. /package/dist/{issue-triage-NT2DHAPW.js.map → issue-triage-WVSJEHYI.js.map} +0 -0
  117. /package/dist/{pr-reviewer-helpers-7HQZWV76.js.map → pr-reviewer-helpers-2ZSPMIG4.js.map} +0 -0
  118. /package/dist/{registry-command-VN52ABY3.js.map → registry-command-SD3YGORZ.js.map} +0 -0
  119. /package/dist/{repo-security-plan-S5273JAG.js.map → repo-security-plan-Z3EHJNZA.js.map} +0 -0
  120. /package/dist/{research-helpers-synthesize-ZW5JWFRL.js.map → research-helpers-synthesize-KIZIELHL.js.map} +0 -0
  121. /package/dist/{routing-memory-V4GY3BPK.js.map → routing-memory-RRMEGPQB.js.map} +0 -0
  122. /package/dist/{session-memory-T2JMN6XL.js.map → session-memory-MMRSHXSO.js.map} +0 -0
  123. /package/dist/{setup-config-AV7BBT3L.js.map → setup-config-54QMOSKC.js.map} +0 -0
  124. /package/dist/{setup-custom-api-K2JKBSLE.js.map → setup-custom-api-7CCRA6AP.js.map} +0 -0
  125. /package/dist/{setup-data-dir-PNV2NA4Z.js.map → setup-data-dir-6OR7TLY6.js.map} +0 -0
  126. /package/dist/{tool-memory-PZH2ETBS.js.map → tool-memory-YV64LYJ3.js.map} +0 -0
  127. /package/dist/{unified-registry-EPMTT6JO.js.map → unified-registry-DRKRTGHZ.js.map} +0 -0
  128. /package/dist/{weather-report-XJINXQKZ.js.map → weather-report-PJBGR7WX.js.map} +0 -0
@@ -4,7 +4,7 @@ import {
4
4
  err,
5
5
  getErrorMessage,
6
6
  ok
7
- } from "./chunk-AITXIX5S.js";
7
+ } from "./chunk-NNM6ZIXQ.js";
8
8
 
9
9
  // src/scm/types.ts
10
10
  var ScmError = class extends Error {
@@ -270,4 +270,4 @@ export {
270
270
  ScmError,
271
271
  GitHubProvider
272
272
  };
273
- //# sourceMappingURL=chunk-SE2EXART.js.map
273
+ //# sourceMappingURL=chunk-6IOI5SK3.js.map
@@ -3,7 +3,7 @@ import {
3
3
  ValidationError,
4
4
  createLogger,
5
5
  formatZodError
6
- } from "./chunk-AITXIX5S.js";
6
+ } from "./chunk-NNM6ZIXQ.js";
7
7
 
8
8
  // src/security/ast-rule-runner.ts
9
9
  import { existsSync } from "node:fs";
@@ -241,4 +241,4 @@ export {
241
241
  collectAstQaFindings,
242
242
  runAstQaRules
243
243
  };
244
- //# sourceMappingURL=chunk-ZGN5NO47.js.map
244
+ //# sourceMappingURL=chunk-BAWRHK4W.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  computeCostDetail,
3
3
  priceBasisOf
4
- } from "./chunk-WVKDOQ6P.js";
4
+ } from "./chunk-P4QYPDTB.js";
5
5
  import {
6
6
  allOf
7
7
  } from "./chunk-OQB3XC5O.js";
@@ -23,25 +23,25 @@ import {
23
23
  toolSuccessStructured,
24
24
  withProgressHeartbeat,
25
25
  wrapToolWithTimeout
26
- } from "./chunk-CWFBUAHM.js";
26
+ } from "./chunk-GHBR6ZG3.js";
27
27
  import {
28
28
  VERSION
29
- } from "./chunk-D7M6FUWK.js";
29
+ } from "./chunk-X76M44I2.js";
30
30
  import {
31
31
  assessPanelIndependence,
32
32
  countDistinctModels,
33
33
  createEvent,
34
34
  getGlobalRegistry
35
- } from "./chunk-QQGP237B.js";
35
+ } from "./chunk-JNCOVP77.js";
36
36
  import {
37
37
  getToolMemory
38
- } from "./chunk-OAIW2IPL.js";
38
+ } from "./chunk-CY6KGPAP.js";
39
39
  import {
40
40
  authRemediation,
41
41
  delay,
42
42
  getAvailableClis,
43
43
  withTimeout
44
- } from "./chunk-T4KYQXJ4.js";
44
+ } from "./chunk-52QVQASD.js";
45
45
  import {
46
46
  AgentError,
47
47
  CLI_NAMES,
@@ -69,7 +69,7 @@ import {
69
69
  registerPersistentOutcomeStoreFactory,
70
70
  resolveClassGuardMs,
71
71
  resolveVoteTimeout
72
- } from "./chunk-AITXIX5S.js";
72
+ } from "./chunk-NNM6ZIXQ.js";
73
73
  import {
74
74
  ensureLearningDir,
75
75
  getOutcomesFile
@@ -6615,7 +6615,7 @@ function logPartialProposal(bounded, log) {
6615
6615
  }
6616
6616
  async function runContrarianCheck(proposal, log) {
6617
6617
  try {
6618
- const { executeExpert } = await import("./expert-bridge-LX7FVP5Z.js");
6618
+ const { executeExpert } = await import("./expert-bridge-KWVJB63Y.js");
6619
6619
  const bounded = boundArtifactForReview(proposal, CONTRARIAN_PROPOSAL_BUDGET, "proposal");
6620
6620
  logPartialProposal(bounded, log);
6621
6621
  const result = await executeExpert("architecture", buildContrarianPrompt(bounded));
@@ -7205,4 +7205,4 @@ export {
7205
7205
  CONSENSUS_VOTE_TOOL_SCHEMA,
7206
7206
  registerConsensusVoteTool
7207
7207
  };
7208
- //# sourceMappingURL=chunk-F2XSEDQB.js.map
7208
+ //# sourceMappingURL=chunk-BKE522YB.js.map
@@ -2,7 +2,7 @@ import {
2
2
  CACHE_TIMEOUTS,
3
3
  createLogger,
4
4
  getTimeProvider
5
- } from "./chunk-AITXIX5S.js";
5
+ } from "./chunk-NNM6ZIXQ.js";
6
6
 
7
7
  // src/security/trust-types.ts
8
8
  import { z } from "zod";
@@ -588,4 +588,4 @@ export {
588
588
  resolveReputationGatingMode,
589
589
  gateWithReputation
590
590
  };
591
- //# sourceMappingURL=chunk-JO4RQSXK.js.map
591
+ //# sourceMappingURL=chunk-BU5LR2JJ.js.map
@@ -5,7 +5,7 @@ import {
5
5
  } from "./chunk-7LP6VJRP.js";
6
6
  import {
7
7
  SessionMemory
8
- } from "./chunk-LJFVNMYK.js";
8
+ } from "./chunk-SRC2TLRU.js";
9
9
  import {
10
10
  StatsOnlyAdapter,
11
11
  ensureSharedMemoryRegistry
@@ -15,7 +15,7 @@ import {
15
15
  } from "./chunk-YYJFZ7TO.js";
16
16
  import {
17
17
  generateId
18
- } from "./chunk-4BTSZ5FM.js";
18
+ } from "./chunk-OFLMRACR.js";
19
19
  import {
20
20
  ErrorCode,
21
21
  NexusError,
@@ -29,7 +29,7 @@ import {
29
29
  ok,
30
30
  openSqliteDatabase,
31
31
  setSharedMobiMemDbPathResolver
32
- } from "./chunk-AITXIX5S.js";
32
+ } from "./chunk-NNM6ZIXQ.js";
33
33
  import {
34
34
  nexusDataPath
35
35
  } from "./chunk-J7QCZRVK.js";
@@ -5684,4 +5684,4 @@ export {
5684
5684
  reinitializeMemoryBackends,
5685
5685
  ToolMemoryManager
5686
5686
  };
5687
- //# sourceMappingURL=chunk-OAIW2IPL.js.map
5687
+ //# sourceMappingURL=chunk-CY6KGPAP.js.map
@@ -13,7 +13,7 @@ import {
13
13
  lookupInTreeCapability,
14
14
  ok,
15
15
  resolveRetryAfterMs
16
- } from "./chunk-AITXIX5S.js";
16
+ } from "./chunk-NNM6ZIXQ.js";
17
17
 
18
18
  // src/config/model-parameter-support.ts
19
19
  function parseClaudeMajorMinor(bareId) {
@@ -834,4 +834,4 @@ export {
834
834
  DEFAULT_COLLECT_STREAM_MAX_CHUNKS,
835
835
  collectStream
836
836
  };
837
- //# sourceMappingURL=chunk-52ZXFIYU.js.map
837
+ //# sourceMappingURL=chunk-DW3RU6GC.js.map
@@ -8,7 +8,7 @@ import {
8
8
  getTimeProvider,
9
9
  isRateLimitText,
10
10
  ok
11
- } from "./chunk-AITXIX5S.js";
11
+ } from "./chunk-NNM6ZIXQ.js";
12
12
 
13
13
  // src/cli-adapters/circuit-breaker-types.ts
14
14
  var CircuitErrorCode = {
@@ -541,4 +541,4 @@ export {
541
541
  CliCircuitBreakerIntegration,
542
542
  createCliCircuitBreakerIntegration
543
543
  };
544
- //# sourceMappingURL=chunk-5KDANU4X.js.map
544
+ //# sourceMappingURL=chunk-FCIAKQNN.js.map
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  VERSION
3
- } from "./chunk-D7M6FUWK.js";
3
+ } from "./chunk-X76M44I2.js";
4
4
  import {
5
5
  emitClawGuardViolation
6
- } from "./chunk-3R6IOJLN.js";
6
+ } from "./chunk-3MSPZLGF.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-AITXIX5S.js";
22
+ } from "./chunk-NNM6ZIXQ.js";
23
23
  import {
24
24
  getNexusDataDir
25
25
  } from "./chunk-J7QCZRVK.js";
@@ -2246,4 +2246,4 @@ export {
2246
2246
  VOTING_THRESHOLDS,
2247
2247
  ConsensusMetricsSchema
2248
2248
  };
2249
- //# sourceMappingURL=chunk-CWFBUAHM.js.map
2249
+ //# sourceMappingURL=chunk-GHBR6ZG3.js.map
@@ -2,7 +2,7 @@ import {
2
2
  createLogger,
3
3
  err,
4
4
  ok
5
- } from "./chunk-AITXIX5S.js";
5
+ } from "./chunk-NNM6ZIXQ.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-WDTSF5AA.js.map
90
+ //# sourceMappingURL=chunk-HILA36W2.js.map
@@ -3,7 +3,7 @@ import {
3
3
  createLogger,
4
4
  err,
5
5
  ok
6
- } from "./chunk-AITXIX5S.js";
6
+ } from "./chunk-NNM6ZIXQ.js";
7
7
 
8
8
  // src/adapters/sdk/types.ts
9
9
  var PROVIDER_ENV_KEYS = {
@@ -260,4 +260,4 @@ export {
260
260
  validateCustomApiBaseUrl,
261
261
  assertCustomApiHostResolvesPublic
262
262
  };
263
- //# sourceMappingURL=chunk-N3HWX2H2.js.map
263
+ //# sourceMappingURL=chunk-HSOZPMQN.js.map
@@ -10,13 +10,13 @@ import {
10
10
  import {
11
11
  assessReputation,
12
12
  sanitizeInput
13
- } from "./chunk-JO4RQSXK.js";
13
+ } from "./chunk-BU5LR2JJ.js";
14
14
  import {
15
15
  createLogger,
16
16
  err,
17
17
  getTimeProvider,
18
18
  ok
19
- } from "./chunk-AITXIX5S.js";
19
+ } from "./chunk-NNM6ZIXQ.js";
20
20
 
21
21
  // src/dogfooding/pr-reviewer-helpers.ts
22
22
  import { randomUUID } from "node:crypto";
@@ -383,4 +383,4 @@ export {
383
383
  createFailedReview,
384
384
  reviewPostingBlock
385
385
  };
386
- //# sourceMappingURL=chunk-U6HN2FGG.js.map
386
+ //# sourceMappingURL=chunk-HZ3R63IV.js.map
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  createAutoAdapter
3
- } from "./chunk-T4KYQXJ4.js";
3
+ } from "./chunk-52QVQASD.js";
4
4
  import {
5
5
  getDefaultCliCircuitBreakerRegistry,
6
6
  mapModelErrorToCategory
7
- } from "./chunk-5KDANU4X.js";
7
+ } from "./chunk-FCIAKQNN.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-AITXIX5S.js";
27
+ } from "./chunk-NNM6ZIXQ.js";
28
28
 
29
29
  // src/config/model-equivalence.ts
30
30
  function canonicalModelKey(modelId) {
@@ -904,4 +904,4 @@ export {
904
904
  getGlobalRegistry,
905
905
  resetGlobalRegistry
906
906
  };
907
- //# sourceMappingURL=chunk-QQGP237B.js.map
907
+ //# sourceMappingURL=chunk-JNCOVP77.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  GitHubProvider,
3
3
  ScmError
4
- } from "./chunk-SE2EXART.js";
4
+ } from "./chunk-6IOI5SK3.js";
5
5
  import {
6
6
  ROLE_DEFAULT_TRUST,
7
7
  ReputationCache,
@@ -12,7 +12,7 @@ import {
12
12
  resolveEnvMode,
13
13
  resolveReputationGatingMode,
14
14
  sanitizeInput
15
- } from "./chunk-JO4RQSXK.js";
15
+ } from "./chunk-BU5LR2JJ.js";
16
16
  import {
17
17
  MAX_STRIPPED_ELEMENTS_PER_EVENT,
18
18
  createAuditTrail,
@@ -20,10 +20,10 @@ import {
20
20
  emitReputationEvent,
21
21
  emitSanitizationEvent,
22
22
  emitTrustEvent
23
- } from "./chunk-3R6IOJLN.js";
23
+ } from "./chunk-3MSPZLGF.js";
24
24
  import {
25
25
  hasToken
26
- } from "./chunk-WDTSF5AA.js";
26
+ } from "./chunk-HILA36W2.js";
27
27
  import {
28
28
  CLI_SUBPROCESS_TIMEOUTS,
29
29
  createLogger,
@@ -31,7 +31,7 @@ import {
31
31
  getErrorMessage,
32
32
  getTimeProvider,
33
33
  ok
34
- } from "./chunk-AITXIX5S.js";
34
+ } from "./chunk-NNM6ZIXQ.js";
35
35
 
36
36
  // src/security/firewall/firewall-policy-mode.ts
37
37
  import { z } from "zod";
@@ -2110,4 +2110,4 @@ export {
2110
2110
  IssueTriage,
2111
2111
  createIssueTriage
2112
2112
  };
2113
- //# sourceMappingURL=chunk-5MJQCHS4.js.map
2113
+ //# sourceMappingURL=chunk-KCDE6VIZ.js.map
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  loadPapersRegistry
3
- } from "./chunk-6NG32SWL.js";
3
+ } from "./chunk-R2CDVI4E.js";
4
4
  import {
5
5
  getErrorMessage
6
- } from "./chunk-AITXIX5S.js";
6
+ } from "./chunk-NNM6ZIXQ.js";
7
7
 
8
8
  // src/cli/research-helpers-synthesize.ts
9
9
  import { z } from "zod";
@@ -886,4 +886,4 @@ export {
886
886
  AttributedInsightSchema,
887
887
  synthesizeResearch
888
888
  };
889
- //# sourceMappingURL=chunk-PWFFWOJX.js.map
889
+ //# sourceMappingURL=chunk-NG7T6DN5.js.map
@@ -2650,7 +2650,7 @@ function setDefaultRegistry(registry) {
2650
2650
  }
2651
2651
  async function reloadDefaultRegistry() {
2652
2652
  globalRegistry = buildDefaultRegistry();
2653
- const { resetGlobalRegistry } = await import("./unified-registry-EPMTT6JO.js");
2653
+ const { resetGlobalRegistry } = await import("./unified-registry-DRKRTGHZ.js");
2654
2654
  resetGlobalRegistry();
2655
2655
  return globalRegistry;
2656
2656
  }
@@ -14983,25 +14983,16 @@ function recordPreferenceSignal(query, strongModelPreferred, quality, deps) {
14983
14983
  );
14984
14984
  deps.logger.debug("Recorded preference", { strongModelPreferred });
14985
14985
  }
14986
- function getDifficultyInfo(task, deps) {
14987
- if (deps.lastRoutedTask?.task.content === task.content) {
14988
- return {
14989
- difficulty: deps.lastRoutedTask.difficulty,
14990
- selectedCli: deps.lastRoutedTask.selectedCli
14991
- };
14992
- }
14993
- if (deps.zeroRouter === void 0) {
14994
- return { difficulty: 0.5, selectedCli: "claude" };
14995
- }
14996
- const estimate = deps.zeroRouter.estimateDifficulty(task);
14997
- return { difficulty: estimate.aggregateScore, selectedCli: "claude" };
14998
- }
14999
- function recordZeroRouterOutcome(task, success, qualityScore, deps) {
14986
+ function recordZeroRouterOutcome(task, success, qualityScore, deps, attribution) {
15000
14987
  if (deps.zeroRouter === void 0) {
15001
14988
  deps.logger.debug("ZeroRouter not enabled, skipping difficulty outcome");
15002
14989
  return;
15003
14990
  }
15004
- const { difficulty, selectedCli } = getDifficultyInfo(task, deps);
14991
+ if (attribution === void 0) {
14992
+ deps.logger.debug("Skipping difficulty calibration: no routing attribution");
14993
+ return;
14994
+ }
14995
+ const { difficulty, selectedCli } = attribution;
15005
14996
  const outcome = buildDifficultyOutcome(
15006
14997
  task.content,
15007
14998
  difficulty,
@@ -15161,17 +15152,13 @@ var CompositeRouter = class _CompositeRouter {
15161
15152
  };
15162
15153
  totalDecisionTimeMs = 0;
15163
15154
  budgetRejections = 0;
15164
- // Track last routing for difficulty outcome recording
15165
- lastRoutedTask;
15166
15155
  // Track last traceId for metrics correlation (Issue #559)
15167
15156
  lastTraceId;
15168
15157
  /**
15169
- * Pending model-selection shadow comparison awaiting its outcome join
15170
- * (#4197). Keyed by task content like {@link lastRoutedTask}; persisted with
15171
- * `success` when `recordDifficultyOutcome` reports the matching outcome.
15172
- * The task content itself is never persisted.
15158
+ * Route-time outcome data keyed by the exact task object for execution-safe
15159
+ * feedback joins. Weak keys avoid retaining abandoned task objects.
15173
15160
  */
15174
- pendingModelShadow;
15161
+ pendingRoutingOutcomes = /* @__PURE__ */ new WeakMap();
15175
15162
  constructor(adapters, config, logger14) {
15176
15163
  const {
15177
15164
  preferenceRouterConfig,
@@ -15373,7 +15360,7 @@ var CompositeRouter = class _CompositeRouter {
15373
15360
  */
15374
15361
  async consultUnifiedContext(task) {
15375
15362
  try {
15376
- const { getContextForTask, inferTaskCategory } = await import("./context-retriever-HHWBMQWP.js");
15363
+ const { getContextForTask, inferTaskCategory } = await import("./context-retriever-7KBTMNCV.js");
15377
15364
  const ctx = await getContextForTask({
15378
15365
  task: task.content,
15379
15366
  category: inferTaskCategory(task.content),
@@ -15425,7 +15412,7 @@ var CompositeRouter = class _CompositeRouter {
15425
15412
  const slot = routingArmDisplaySlot(arm);
15426
15413
  const reward = computeQualityReward(slot, success, durationMs2);
15427
15414
  this.recordOutcome(arm, task, reward, success);
15428
- this.recordDifficultyOutcome(task, success);
15415
+ this.recordExecutedDifficultyOutcome(decision, task, success);
15429
15416
  if (this.latencyTracker !== void 0) {
15430
15417
  this.latencyTracker.record(slot, durationMs2, success);
15431
15418
  }
@@ -15496,7 +15483,6 @@ var CompositeRouter = class _CompositeRouter {
15496
15483
  if (pipelineResult.error.stage === "budget-filter") this.budgetRejections++;
15497
15484
  return pipelineResult;
15498
15485
  }
15499
- this.trackLastRoutedTask(task, pipelineResult.value);
15500
15486
  const decisionResult = this.buildRoutingDecision({
15501
15487
  ...pipelineResult.value,
15502
15488
  taskProfile,
@@ -15504,7 +15490,7 @@ var CompositeRouter = class _CompositeRouter {
15504
15490
  startTime
15505
15491
  });
15506
15492
  if (decisionResult.ok) {
15507
- this.trackModelSelectionShadow(task, decisionResult.value);
15493
+ this.trackPendingRoutingOutcome(task, decisionResult.value);
15508
15494
  }
15509
15495
  return decisionResult;
15510
15496
  } catch (error) {
@@ -15585,14 +15571,18 @@ var CompositeRouter = class _CompositeRouter {
15585
15571
  knnRoutingStage: this.knnRoutingStage
15586
15572
  };
15587
15573
  }
15588
- trackLastRoutedTask(task, result) {
15589
- if (result.difficultyEstimate !== void 0) {
15590
- this.lastRoutedTask = {
15591
- task,
15592
- selectedCli: result.selectedCli,
15593
- difficulty: result.difficultyEstimate.aggregateScore
15594
- };
15574
+ trackPendingRoutingOutcome(task, decision) {
15575
+ if (this.pendingRoutingOutcomes.get(task)?.modelShadow !== void 0) {
15576
+ this.logger.debug("Dropping incomplete model-selection shadow comparison after task reroute");
15595
15577
  }
15578
+ const difficultyAttribution = decision.difficultyEstimate === void 0 ? void 0 : {
15579
+ difficulty: decision.difficultyEstimate.aggregateScore,
15580
+ selectedCli: decision.cliName
15581
+ };
15582
+ this.pendingRoutingOutcomes.set(task, {
15583
+ difficultyAttribution,
15584
+ modelShadow: this.computePendingModelShadow(task, decision)
15585
+ });
15596
15586
  }
15597
15587
  /**
15598
15588
  * Compute the model-selection SHADOW comparison for a routed decision
@@ -15610,17 +15600,16 @@ var CompositeRouter = class _CompositeRouter {
15610
15600
  * tier selector — sampling it would mislabel the agree/diverge cohorts and
15611
15601
  * pad the volume criterion with garbage (#4218 review).
15612
15602
  */
15613
- trackModelSelectionShadow(task, decision) {
15603
+ computePendingModelShadow(task, decision) {
15614
15604
  try {
15615
- if (!isRouteModelShadowEnabled() || decision.difficultyTier === void 0) return;
15616
- if (task.model !== void 0) return;
15605
+ if (!isRouteModelShadowEnabled() || decision.difficultyTier === void 0) return void 0;
15606
+ if (task.model !== void 0) return void 0;
15617
15607
  logModelSelectionReadinessOnce(this.logger);
15618
15608
  const comparison = computeModelSelectionShadow(
15619
15609
  routingArmDisplaySlot(decision.cliName),
15620
15610
  decision.difficultyTier,
15621
15611
  decision.model
15622
15612
  );
15623
- this.pendingModelShadow = { ...comparison, taskContent: task.content };
15624
15613
  this.logger.debug("Model-selection shadow computed (#4197)", {
15625
15614
  cli: comparison.cli,
15626
15615
  tier: comparison.tier,
@@ -15628,27 +15617,25 @@ var CompositeRouter = class _CompositeRouter {
15628
15617
  shadowModel: comparison.shadowModel,
15629
15618
  agree: comparison.agree
15630
15619
  });
15620
+ return comparison;
15631
15621
  } catch (error) {
15632
15622
  const failures = recordModelSelectionShadowFailure();
15633
15623
  this.logger.warn("Model-selection shadow failed (non-fatal, #4197)", {
15634
15624
  error: getErrorMessage(error),
15635
15625
  failures
15636
15626
  });
15627
+ return void 0;
15637
15628
  }
15638
15629
  }
15639
15630
  /**
15640
15631
  * Join a pending model-selection shadow comparison with its task outcome and
15641
- * persist the completed record (#4197). Matches by task content, mirroring
15642
- * {@link getDifficultyInfo}'s lastRoutedTask join. `costUsd` is deliberately
15632
+ * persist the completed record (#4197). `costUsd` is deliberately
15643
15633
  * absent: the routing outcome path measures no per-decision cost today, and
15644
15634
  * the readiness gate's cost criterion stays fail-closed until it does.
15645
15635
  * Exception-guarded — an outcome-join failure never breaks outcome recording.
15646
15636
  */
15647
- joinModelSelectionShadowOutcome(task, success) {
15648
- const pending = this.pendingModelShadow;
15637
+ joinModelSelectionShadowOutcome(pending, success) {
15649
15638
  if (pending === void 0) return;
15650
- if (pending.taskContent !== task.content) return;
15651
- this.pendingModelShadow = void 0;
15652
15639
  try {
15653
15640
  persistModelSelectionShadowRecord({
15654
15641
  schema: MODEL_SELECTION_SHADOW_SCHEMA_VERSION,
@@ -15755,8 +15742,31 @@ var CompositeRouter = class _CompositeRouter {
15755
15742
  recordPreferenceSignal(query, strongModelPreferred, quality, this.getOutcomeDependencies());
15756
15743
  }
15757
15744
  recordDifficultyOutcome(task, success, qualityScore) {
15758
- recordZeroRouterOutcome(task, success, qualityScore, this.getOutcomeDependencies());
15759
- this.joinModelSelectionShadowOutcome(task, success);
15745
+ const pending = this.pendingRoutingOutcomes.get(task);
15746
+ this.pendingRoutingOutcomes.delete(task);
15747
+ this.finishDifficultyOutcome(task, success, qualityScore, pending);
15748
+ }
15749
+ recordExecutedDifficultyOutcome(decision, task, success) {
15750
+ const pending = this.pendingRoutingOutcomes.get(task);
15751
+ this.pendingRoutingOutcomes.delete(task);
15752
+ const difficultyAttribution = decision.difficultyEstimate === void 0 ? void 0 : {
15753
+ difficulty: decision.difficultyEstimate.aggregateScore,
15754
+ selectedCli: decision.cliName
15755
+ };
15756
+ this.finishDifficultyOutcome(task, success, void 0, {
15757
+ difficultyAttribution,
15758
+ modelShadow: pending?.modelShadow
15759
+ });
15760
+ }
15761
+ finishDifficultyOutcome(task, success, qualityScore, pending) {
15762
+ recordZeroRouterOutcome(
15763
+ task,
15764
+ success,
15765
+ qualityScore,
15766
+ this.getOutcomeDependencies(),
15767
+ pending?.difficultyAttribution
15768
+ );
15769
+ this.joinModelSelectionShadowOutcome(pending?.modelShadow, success);
15760
15770
  }
15761
15771
  hasMinimumPreferenceData() {
15762
15772
  return hasMinimumPreferenceData(this.getOutcomeDependencies());
@@ -15768,7 +15778,7 @@ var CompositeRouter = class _CompositeRouter {
15768
15778
  linucbBandit: this.linucbBandit,
15769
15779
  preferenceRouter: this.preferenceRouter,
15770
15780
  zeroRouter: this.zeroRouter,
15771
- lastRoutedTask: this.lastRoutedTask,
15781
+ lastRoutedTask: void 0,
15772
15782
  budgetRouter: this.budgetRouter,
15773
15783
  budgetConstraints: this.config.budgetConstraints
15774
15784
  };
@@ -17031,4 +17041,4 @@ export {
17031
17041
  AgentCapability,
17032
17042
  OrchestratorError
17033
17043
  };
17034
- //# sourceMappingURL=chunk-AITXIX5S.js.map
17044
+ //# sourceMappingURL=chunk-NNM6ZIXQ.js.map