nexus-agents 8.130.5 → 8.131.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.
Files changed (135) hide show
  1. package/dist/{ast-rule-runner-EZSJT4GQ.js → ast-rule-runner-3M77VFHJ.js} +3 -3
  2. package/dist/{child-mcp-config-PBZHDHVK.js → child-mcp-config-NHSUFBNN.js} +2 -2
  3. package/dist/{chunk-EDTTLHNL.js → chunk-2EE7BIHC.js} +3 -3
  4. package/dist/{chunk-7TFJLA5G.js → chunk-2MWL47YX.js} +2 -2
  5. package/dist/{chunk-K3QOPEBF.js → chunk-3MWUYHEE.js} +2 -2
  6. package/dist/{chunk-4Z2JSMPB.js → chunk-4AP64XCN.js} +2 -2
  7. package/dist/{chunk-UEE5B7ZS.js → chunk-4FYLSRZJ.js} +4 -4
  8. package/dist/{chunk-KSAIBUUI.js → chunk-6EJIBIXZ.js} +167 -60
  9. package/dist/chunk-6EJIBIXZ.js.map +1 -0
  10. package/dist/{chunk-XXCJ4VPU.js → chunk-B2LLOTB2.js} +5 -5
  11. package/dist/{chunk-TA7H2DKY.js → chunk-CYATMZW7.js} +2 -2
  12. package/dist/{chunk-K6K5V3XV.js → chunk-EQTKZHO6.js} +2 -2
  13. package/dist/{chunk-243T5S2C.js → chunk-ERHP5N36.js} +2 -2
  14. package/dist/{chunk-S4S4VLJN.js → chunk-ERHQVKRC.js} +5 -5
  15. package/dist/{chunk-D5CIAWZ7.js → chunk-G5F44YKP.js} +2 -2
  16. package/dist/{chunk-UMEWQYSE.js → chunk-GZM746JQ.js} +6 -6
  17. package/dist/{chunk-OSOW6DH4.js → chunk-HDDXP26H.js} +3 -3
  18. package/dist/{chunk-2TLL6TQQ.js → chunk-HVVZSJEY.js} +3 -3
  19. package/dist/{chunk-SGU3LXML.js → chunk-JJU2GHK7.js} +9 -9
  20. package/dist/{chunk-5DTE5EGF.js → chunk-M7FO5W7A.js} +5 -5
  21. package/dist/{chunk-R7JFXOU3.js → chunk-MVIZER5R.js} +18 -11
  22. package/dist/{chunk-R7JFXOU3.js.map → chunk-MVIZER5R.js.map} +1 -1
  23. package/dist/{chunk-QII3PDIC.js → chunk-N3PSIMXT.js} +2 -2
  24. package/dist/{chunk-L3AO3BT4.js → chunk-P7F52452.js} +2 -2
  25. package/dist/{chunk-S77X4QRM.js → chunk-PS7ZNSC6.js} +2 -2
  26. package/dist/{chunk-RZJA6GTZ.js → chunk-Q4JD3ZZP.js} +4 -4
  27. package/dist/{chunk-KGPQJ3UA.js → chunk-QQH3KA5T.js} +2 -2
  28. package/dist/{chunk-2EA4S4UY.js → chunk-R4AH6LIE.js} +2 -2
  29. package/dist/{chunk-STS7KLBD.js → chunk-RXNU2AQH.js} +3 -3
  30. package/dist/{chunk-XKIOI7ID.js → chunk-T4WUK562.js} +2 -2
  31. package/dist/{chunk-NU6ZVBEZ.js → chunk-TN5SDJYU.js} +5 -5
  32. package/dist/{chunk-H6XT6CZR.js → chunk-TRIA7Q2H.js} +2 -2
  33. package/dist/{chunk-STM4UKX5.js → chunk-U5VZ74PS.js} +4 -4
  34. package/dist/{chunk-RWXDQACL.js → chunk-UQPHTTMO.js} +3 -3
  35. package/dist/{chunk-APPW6S7M.js → chunk-VL65KGVM.js} +7 -7
  36. package/dist/{chunk-RYJ6DFUB.js → chunk-VVQXRBA7.js} +20 -5
  37. package/dist/chunk-VVQXRBA7.js.map +1 -0
  38. package/dist/{chunk-7YP7UNWL.js → chunk-Y5EP2ZG7.js} +12 -12
  39. package/dist/{chunk-YVBA73EL.js → chunk-YN6EO4QO.js} +2 -2
  40. package/dist/{chunk-VMMSCZ5K.js → chunk-ZXMZMMBV.js} +4 -4
  41. package/dist/{cli-circuit-breaker-EUH6WOHP.js → cli-circuit-breaker-EP7H2ZTN.js} +3 -3
  42. package/dist/cli.js +108 -153
  43. package/dist/cli.js.map +1 -1
  44. package/dist/{composite-router-5V2WB445.js → composite-router-VJVHYM2O.js} +2 -2
  45. package/dist/{consensus-vote-ZRTTSQKH.js → consensus-vote-7FYMJAF7.js} +17 -17
  46. package/dist/{context-retriever-GU2GEQG3.js → context-retriever-TG2SH7CT.js} +8 -8
  47. package/dist/{doctor-deep-LYOGINVN.js → doctor-deep-IYUHW6T2.js} +3 -3
  48. package/dist/{doctor-gateway-report-ZZLWOCS2.js → doctor-gateway-report-XOX6GIEL.js} +8 -8
  49. package/dist/{doctor-live-VP3J66WQ.js → doctor-live-GCXBUEPY.js} +11 -11
  50. package/dist/{expert-bridge-SWIS4YIE.js → expert-bridge-REZ6NY76.js} +4 -4
  51. package/dist/{factory-CT3RMGOI.js → factory-35OY5YJ7.js} +10 -10
  52. package/dist/{factory-TM2G72M5.js → factory-7ETXZOGV.js} +5 -5
  53. package/dist/{improvement-review-GALIOWWL.js → improvement-review-PMV4AABZ.js} +6 -6
  54. package/dist/index.js +32 -32
  55. package/dist/{init-opencode-MHPNBK6J.js → init-opencode-SJZINN4S.js} +6 -6
  56. package/dist/{issue-triage-GYYX36F2.js → issue-triage-SZRBPDAR.js} +6 -6
  57. package/dist/{openai-compat-adapter-6EOYWQ4W.js → openai-compat-adapter-UW2Z4HF7.js} +6 -6
  58. package/dist/{outcome-store-adapter-4XDTZV3H.js → outcome-store-adapter-DZRQ77YG.js} +2 -2
  59. package/dist/{pr-reviewer-helpers-QVFFEZFH.js → pr-reviewer-helpers-5CGBGREQ.js} +4 -4
  60. package/dist/{registry-command-N6UI2MZR.js → registry-command-NI3LIWQA.js} +2 -2
  61. package/dist/{repo-security-plan-HOBHOF6L.js → repo-security-plan-SKVL27H3.js} +3 -3
  62. package/dist/{research-helpers-synthesize-MMKCQWJW.js → research-helpers-synthesize-UADXNMID.js} +4 -4
  63. package/dist/{routing-memory-TWRTPLVA.js → routing-memory-B5HYTZC7.js} +2 -2
  64. package/dist/{session-memory-6ESI25NN.js → session-memory-SWTWLYGY.js} +3 -3
  65. package/dist/{setup-config-PZSZBB2E.js → setup-config-37EXEYOM.js} +3 -3
  66. package/dist/{setup-custom-api-4QG765OZ.js → setup-custom-api-CVI7NLPW.js} +4 -4
  67. package/dist/setup-data-dir-ZAGBT3BW.js +33 -0
  68. package/dist/{tool-memory-TDXXTV27.js → tool-memory-AJIAJ2CN.js} +5 -5
  69. package/dist/{unified-registry-Y4PJ2MTE.js → unified-registry-JHQ7UIS4.js} +11 -11
  70. package/dist/{weather-report-JKEHPRVU.js → weather-report-KJ4X3HVU.js} +2 -2
  71. package/package.json +1 -1
  72. package/dist/chunk-KSAIBUUI.js.map +0 -1
  73. package/dist/chunk-RYJ6DFUB.js.map +0 -1
  74. package/dist/setup-data-dir-PN2K7QCA.js +0 -33
  75. /package/dist/{ast-rule-runner-EZSJT4GQ.js.map → ast-rule-runner-3M77VFHJ.js.map} +0 -0
  76. /package/dist/{child-mcp-config-PBZHDHVK.js.map → child-mcp-config-NHSUFBNN.js.map} +0 -0
  77. /package/dist/{chunk-EDTTLHNL.js.map → chunk-2EE7BIHC.js.map} +0 -0
  78. /package/dist/{chunk-7TFJLA5G.js.map → chunk-2MWL47YX.js.map} +0 -0
  79. /package/dist/{chunk-K3QOPEBF.js.map → chunk-3MWUYHEE.js.map} +0 -0
  80. /package/dist/{chunk-4Z2JSMPB.js.map → chunk-4AP64XCN.js.map} +0 -0
  81. /package/dist/{chunk-UEE5B7ZS.js.map → chunk-4FYLSRZJ.js.map} +0 -0
  82. /package/dist/{chunk-XXCJ4VPU.js.map → chunk-B2LLOTB2.js.map} +0 -0
  83. /package/dist/{chunk-TA7H2DKY.js.map → chunk-CYATMZW7.js.map} +0 -0
  84. /package/dist/{chunk-K6K5V3XV.js.map → chunk-EQTKZHO6.js.map} +0 -0
  85. /package/dist/{chunk-243T5S2C.js.map → chunk-ERHP5N36.js.map} +0 -0
  86. /package/dist/{chunk-S4S4VLJN.js.map → chunk-ERHQVKRC.js.map} +0 -0
  87. /package/dist/{chunk-D5CIAWZ7.js.map → chunk-G5F44YKP.js.map} +0 -0
  88. /package/dist/{chunk-UMEWQYSE.js.map → chunk-GZM746JQ.js.map} +0 -0
  89. /package/dist/{chunk-OSOW6DH4.js.map → chunk-HDDXP26H.js.map} +0 -0
  90. /package/dist/{chunk-2TLL6TQQ.js.map → chunk-HVVZSJEY.js.map} +0 -0
  91. /package/dist/{chunk-SGU3LXML.js.map → chunk-JJU2GHK7.js.map} +0 -0
  92. /package/dist/{chunk-5DTE5EGF.js.map → chunk-M7FO5W7A.js.map} +0 -0
  93. /package/dist/{chunk-QII3PDIC.js.map → chunk-N3PSIMXT.js.map} +0 -0
  94. /package/dist/{chunk-L3AO3BT4.js.map → chunk-P7F52452.js.map} +0 -0
  95. /package/dist/{chunk-S77X4QRM.js.map → chunk-PS7ZNSC6.js.map} +0 -0
  96. /package/dist/{chunk-RZJA6GTZ.js.map → chunk-Q4JD3ZZP.js.map} +0 -0
  97. /package/dist/{chunk-KGPQJ3UA.js.map → chunk-QQH3KA5T.js.map} +0 -0
  98. /package/dist/{chunk-2EA4S4UY.js.map → chunk-R4AH6LIE.js.map} +0 -0
  99. /package/dist/{chunk-STS7KLBD.js.map → chunk-RXNU2AQH.js.map} +0 -0
  100. /package/dist/{chunk-XKIOI7ID.js.map → chunk-T4WUK562.js.map} +0 -0
  101. /package/dist/{chunk-NU6ZVBEZ.js.map → chunk-TN5SDJYU.js.map} +0 -0
  102. /package/dist/{chunk-H6XT6CZR.js.map → chunk-TRIA7Q2H.js.map} +0 -0
  103. /package/dist/{chunk-STM4UKX5.js.map → chunk-U5VZ74PS.js.map} +0 -0
  104. /package/dist/{chunk-RWXDQACL.js.map → chunk-UQPHTTMO.js.map} +0 -0
  105. /package/dist/{chunk-APPW6S7M.js.map → chunk-VL65KGVM.js.map} +0 -0
  106. /package/dist/{chunk-7YP7UNWL.js.map → chunk-Y5EP2ZG7.js.map} +0 -0
  107. /package/dist/{chunk-YVBA73EL.js.map → chunk-YN6EO4QO.js.map} +0 -0
  108. /package/dist/{chunk-VMMSCZ5K.js.map → chunk-ZXMZMMBV.js.map} +0 -0
  109. /package/dist/{cli-circuit-breaker-EUH6WOHP.js.map → cli-circuit-breaker-EP7H2ZTN.js.map} +0 -0
  110. /package/dist/{composite-router-5V2WB445.js.map → composite-router-VJVHYM2O.js.map} +0 -0
  111. /package/dist/{consensus-vote-ZRTTSQKH.js.map → consensus-vote-7FYMJAF7.js.map} +0 -0
  112. /package/dist/{context-retriever-GU2GEQG3.js.map → context-retriever-TG2SH7CT.js.map} +0 -0
  113. /package/dist/{doctor-deep-LYOGINVN.js.map → doctor-deep-IYUHW6T2.js.map} +0 -0
  114. /package/dist/{doctor-gateway-report-ZZLWOCS2.js.map → doctor-gateway-report-XOX6GIEL.js.map} +0 -0
  115. /package/dist/{doctor-live-VP3J66WQ.js.map → doctor-live-GCXBUEPY.js.map} +0 -0
  116. /package/dist/{expert-bridge-SWIS4YIE.js.map → expert-bridge-REZ6NY76.js.map} +0 -0
  117. /package/dist/{factory-CT3RMGOI.js.map → factory-35OY5YJ7.js.map} +0 -0
  118. /package/dist/{factory-TM2G72M5.js.map → factory-7ETXZOGV.js.map} +0 -0
  119. /package/dist/{improvement-review-GALIOWWL.js.map → improvement-review-PMV4AABZ.js.map} +0 -0
  120. /package/dist/{init-opencode-MHPNBK6J.js.map → init-opencode-SJZINN4S.js.map} +0 -0
  121. /package/dist/{issue-triage-GYYX36F2.js.map → issue-triage-SZRBPDAR.js.map} +0 -0
  122. /package/dist/{openai-compat-adapter-6EOYWQ4W.js.map → openai-compat-adapter-UW2Z4HF7.js.map} +0 -0
  123. /package/dist/{outcome-store-adapter-4XDTZV3H.js.map → outcome-store-adapter-DZRQ77YG.js.map} +0 -0
  124. /package/dist/{pr-reviewer-helpers-QVFFEZFH.js.map → pr-reviewer-helpers-5CGBGREQ.js.map} +0 -0
  125. /package/dist/{registry-command-N6UI2MZR.js.map → registry-command-NI3LIWQA.js.map} +0 -0
  126. /package/dist/{repo-security-plan-HOBHOF6L.js.map → repo-security-plan-SKVL27H3.js.map} +0 -0
  127. /package/dist/{research-helpers-synthesize-MMKCQWJW.js.map → research-helpers-synthesize-UADXNMID.js.map} +0 -0
  128. /package/dist/{routing-memory-TWRTPLVA.js.map → routing-memory-B5HYTZC7.js.map} +0 -0
  129. /package/dist/{session-memory-6ESI25NN.js.map → session-memory-SWTWLYGY.js.map} +0 -0
  130. /package/dist/{setup-config-PZSZBB2E.js.map → setup-config-37EXEYOM.js.map} +0 -0
  131. /package/dist/{setup-custom-api-4QG765OZ.js.map → setup-custom-api-CVI7NLPW.js.map} +0 -0
  132. /package/dist/{setup-data-dir-PN2K7QCA.js.map → setup-data-dir-ZAGBT3BW.js.map} +0 -0
  133. /package/dist/{tool-memory-TDXXTV27.js.map → tool-memory-AJIAJ2CN.js.map} +0 -0
  134. /package/dist/{unified-registry-Y4PJ2MTE.js.map → unified-registry-JHQ7UIS4.js.map} +0 -0
  135. /package/dist/{weather-report-JKEHPRVU.js.map → weather-report-KJ4X3HVU.js.map} +0 -0
@@ -9,8 +9,8 @@ import {
9
9
  getBuiltInAstRulesPath,
10
10
  loadRules,
11
11
  runAstQaRules
12
- } from "./chunk-D5CIAWZ7.js";
13
- import "./chunk-RYJ6DFUB.js";
12
+ } from "./chunk-G5F44YKP.js";
13
+ import "./chunk-VVQXRBA7.js";
14
14
  import "./chunk-XBEKMUTO.js";
15
15
  import "./chunk-UE7A2XHM.js";
16
16
  import "./chunk-LWOX65CP.js";
@@ -27,4 +27,4 @@ export {
27
27
  loadRules,
28
28
  runAstQaRules
29
29
  };
30
- //# sourceMappingURL=ast-rule-runner-EZSJT4GQ.js.map
30
+ //# sourceMappingURL=ast-rule-runner-3M77VFHJ.js.map
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-JPFRRNRR.js";
4
4
  import {
5
5
  createLogger
6
- } from "./chunk-RYJ6DFUB.js";
6
+ } from "./chunk-VVQXRBA7.js";
7
7
  import "./chunk-XBEKMUTO.js";
8
8
  import "./chunk-UE7A2XHM.js";
9
9
  import "./chunk-LWOX65CP.js";
@@ -74,4 +74,4 @@ async function generateMcpConfig(options) {
74
74
  export {
75
75
  generateMcpConfig
76
76
  };
77
- //# sourceMappingURL=child-mcp-config-PBZHDHVK.js.map
77
+ //# sourceMappingURL=child-mcp-config-NHSUFBNN.js.map
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  getTimeProvider
3
- } from "./chunk-RYJ6DFUB.js";
3
+ } from "./chunk-VVQXRBA7.js";
4
4
 
5
5
  // src/version.ts
6
6
  import semver from "semver";
7
- var VERSION = true ? "8.130.5" : "dev";
7
+ var VERSION = true ? "8.131.0" : "dev";
8
8
  var NODE_ENGINE_RANGE = ">=22.5.0";
9
9
  function isNodeVersionSupported(version) {
10
10
  return semver.satisfies(version, NODE_ENGINE_RANGE);
@@ -106,4 +106,4 @@ export {
106
106
  contextForLogging,
107
107
  measuredTrustTier
108
108
  };
109
- //# sourceMappingURL=chunk-EDTTLHNL.js.map
109
+ //# sourceMappingURL=chunk-2EE7BIHC.js.map
@@ -8,7 +8,7 @@ import {
8
8
  MCP_TIMEOUTS,
9
9
  TEST_TIMEOUTS,
10
10
  WORKFLOW_TIMEOUTS
11
- } from "./chunk-RYJ6DFUB.js";
11
+ } from "./chunk-VVQXRBA7.js";
12
12
  import {
13
13
  createGetToolRateLimit
14
14
  } from "./chunk-LWOX65CP.js";
@@ -223,4 +223,4 @@ export {
223
223
  CUSTOM_API_DEFAULT_MODEL,
224
224
  DEFAULTS
225
225
  };
226
- //# sourceMappingURL=chunk-7TFJLA5G.js.map
226
+ //# sourceMappingURL=chunk-2MWL47YX.js.map
@@ -8,7 +8,7 @@ import {
8
8
  getAdaptiveBonus,
9
9
  getOutcomeStore,
10
10
  hasMeasuredCategory
11
- } from "./chunk-RYJ6DFUB.js";
11
+ } from "./chunk-VVQXRBA7.js";
12
12
 
13
13
  // src/cli/doctor-deep.ts
14
14
  var CLI_NAMES = ["claude", "gemini", "codex", "opencode"];
@@ -148,4 +148,4 @@ export {
148
148
  runDeepDiagnostics,
149
149
  formatDeepDiagnostics
150
150
  };
151
- //# sourceMappingURL=chunk-K3QOPEBF.js.map
151
+ //# sourceMappingURL=chunk-3MWUYHEE.js.map
@@ -7,7 +7,7 @@ import {
7
7
  createLogger,
8
8
  err,
9
9
  ok
10
- } from "./chunk-RYJ6DFUB.js";
10
+ } from "./chunk-VVQXRBA7.js";
11
11
 
12
12
  // src/adapters/gateway-redaction.ts
13
13
  var GATEWAY_REDACTED = "<redacted>";
@@ -341,4 +341,4 @@ export {
341
341
  validateCustomApiBaseUrl,
342
342
  assertCustomApiHostResolvesPublic
343
343
  };
344
- //# sourceMappingURL=chunk-4Z2JSMPB.js.map
344
+ //# sourceMappingURL=chunk-4AP64XCN.js.map
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-ZO6ZKR7L.js";
4
4
  import {
5
5
  SessionMemory
6
- } from "./chunk-243T5S2C.js";
6
+ } from "./chunk-ERHP5N36.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-L3AO3BT4.js";
20
+ } from "./chunk-P7F52452.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-RYJ6DFUB.js";
37
+ } from "./chunk-VVQXRBA7.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-UEE5B7ZS.js.map
5844
+ //# sourceMappingURL=chunk-4FYLSRZJ.js.map
@@ -6,13 +6,13 @@ import {
6
6
  createGraphAuditBridge,
7
7
  emitPipelinePolicyEvent,
8
8
  readActionRefusal
9
- } from "./chunk-5DTE5EGF.js";
9
+ } from "./chunk-M7FO5W7A.js";
10
10
  import {
11
11
  withPrerequisite
12
- } from "./chunk-STS7KLBD.js";
12
+ } from "./chunk-RXNU2AQH.js";
13
13
  import {
14
14
  generateSecurityPlan
15
- } from "./chunk-2EA4S4UY.js";
15
+ } from "./chunk-R4AH6LIE.js";
16
16
  import {
17
17
  analyzeGitHubRepo
18
18
  } from "./chunk-4GDMHCKX.js";
@@ -31,7 +31,7 @@ import {
31
31
  } from "./chunk-WDAND5YU.js";
32
32
  import {
33
33
  sanitizeInput
34
- } from "./chunk-TA7H2DKY.js";
34
+ } from "./chunk-CYATMZW7.js";
35
35
  import {
36
36
  BUILT_IN_EXPERTS,
37
37
  BuiltInExpertTypeSchema,
@@ -41,10 +41,10 @@ import {
41
41
  import {
42
42
  DEFAULT_TASK_TTL_MS,
43
43
  clampTaskTtl
44
- } from "./chunk-7YP7UNWL.js";
44
+ } from "./chunk-Y5EP2ZG7.js";
45
45
  import {
46
46
  executeExpert
47
- } from "./chunk-APPW6S7M.js";
47
+ } from "./chunk-VL65KGVM.js";
48
48
  import {
49
49
  DEPRECATED_MODE_ALIAS_INPUT,
50
50
  JobStatusSchema,
@@ -96,7 +96,7 @@ import {
96
96
  withFileLock,
97
97
  withWarnings,
98
98
  writeJobCancelled
99
- } from "./chunk-R7JFXOU3.js";
99
+ } from "./chunk-MVIZER5R.js";
100
100
  import {
101
101
  NOOP_NOTIFIER,
102
102
  RateLimiter,
@@ -122,12 +122,12 @@ import {
122
122
  toolSuccessStructured,
123
123
  withProgressHeartbeat,
124
124
  wrapToolWithTimeout
125
- } from "./chunk-STM4UKX5.js";
125
+ } from "./chunk-U5VZ74PS.js";
126
126
  import {
127
127
  VERSION,
128
128
  createRequestContext,
129
129
  measuredTrustTier
130
- } from "./chunk-EDTTLHNL.js";
130
+ } from "./chunk-2EE7BIHC.js";
131
131
  import {
132
132
  allOf,
133
133
  anyOf
@@ -135,16 +135,16 @@ import {
135
135
  import {
136
136
  normalizeTopicToCanonical,
137
137
  synthesizeResearch
138
- } from "./chunk-2TLL6TQQ.js";
138
+ } from "./chunk-HVVZSJEY.js";
139
139
  import {
140
140
  isGatewayModelAdapter
141
- } from "./chunk-S4S4VLJN.js";
141
+ } from "./chunk-ERHQVKRC.js";
142
142
  import {
143
143
  EventTopics,
144
144
  createEvent,
145
145
  getGlobalEventBus,
146
146
  getGlobalRegistry
147
- } from "./chunk-XXCJ4VPU.js";
147
+ } from "./chunk-B2LLOTB2.js";
148
148
  import {
149
149
  IDENTIFIER_RE,
150
150
  LANG_VALUES,
@@ -177,18 +177,18 @@ import {
177
177
  parseRegistry,
178
178
  sourceExistsInRegistry,
179
179
  summarizeContextForPrompt
180
- } from "./chunk-NU6ZVBEZ.js";
180
+ } from "./chunk-TN5SDJYU.js";
181
181
  import {
182
182
  getTokenEnvVars,
183
183
  resolveToken
184
- } from "./chunk-H6XT6CZR.js";
184
+ } from "./chunk-TRIA7Q2H.js";
185
185
  import {
186
186
  REGISTRY_PATH,
187
187
  getProjectRoot,
188
188
  loadPapersRegistry,
189
189
  loadTechniquesRegistry,
190
190
  resolveRegistryRoot
191
- } from "./chunk-S77X4QRM.js";
191
+ } from "./chunk-PS7ZNSC6.js";
192
192
  import {
193
193
  DEFAULT_RELEVANCE_CONFIG,
194
194
  MemoryImportance,
@@ -196,7 +196,7 @@ import {
196
196
  calculateTextJaccardSimilarity,
197
197
  getToolMemory,
198
198
  memoryTrustTierTag
199
- } from "./chunk-UEE5B7ZS.js";
199
+ } from "./chunk-4FYLSRZJ.js";
200
200
  import {
201
201
  EXTERNAL_CONTENT_TRUST_TIER,
202
202
  resolveContentTrustProvenance,
@@ -205,7 +205,7 @@ import {
205
205
  } from "./chunk-ZO6ZKR7L.js";
206
206
  import {
207
207
  createSessionMemory
208
- } from "./chunk-243T5S2C.js";
208
+ } from "./chunk-ERHP5N36.js";
209
209
  import {
210
210
  TrustTierSchema
211
211
  } from "./chunk-CJKHQ6MV.js";
@@ -225,10 +225,10 @@ import {
225
225
  terminateProcessTree,
226
226
  trackProcessTree,
227
227
  withTimeout
228
- } from "./chunk-SGU3LXML.js";
228
+ } from "./chunk-JJU2GHK7.js";
229
229
  import {
230
230
  DEFAULTS
231
- } from "./chunk-7TFJLA5G.js";
231
+ } from "./chunk-2MWL47YX.js";
232
232
  import {
233
233
  DEFAULT_EXECUTION_MODE,
234
234
  DEFAULT_TOOL_RATE_LIMITS,
@@ -242,27 +242,27 @@ import {
242
242
  getAvailabilityCache,
243
243
  getCliForModelId,
244
244
  resolveFallback
245
- } from "./chunk-OSOW6DH4.js";
245
+ } from "./chunk-HDDXP26H.js";
246
246
  import {
247
247
  BaseAdapter,
248
248
  createStream,
249
249
  parseGatewayExtraHeaders,
250
250
  requireApiKey,
251
251
  validateApiKeyPresence
252
- } from "./chunk-KGPQJ3UA.js";
252
+ } from "./chunk-QQH3KA5T.js";
253
253
  import {
254
254
  resolveGatewayEnv
255
- } from "./chunk-4Z2JSMPB.js";
255
+ } from "./chunk-4AP64XCN.js";
256
256
  import {
257
257
  sanitizeErrorDetails
258
- } from "./chunk-QII3PDIC.js";
258
+ } from "./chunk-N3PSIMXT.js";
259
259
  import {
260
260
  generateHyphenId,
261
261
  generateUUID
262
- } from "./chunk-L3AO3BT4.js";
262
+ } from "./chunk-P7F52452.js";
263
263
  import {
264
264
  getDefaultCliCircuitBreakerRegistry
265
- } from "./chunk-K6K5V3XV.js";
265
+ } from "./chunk-EQTKZHO6.js";
266
266
  import {
267
267
  AGENT_ROUTER_TIMEOUTS,
268
268
  API_TIMEOUTS,
@@ -408,7 +408,7 @@ import {
408
408
  toExpertTaskAnalysisResult,
409
409
  truncateWithInfo,
410
410
  withStep
411
- } from "./chunk-RYJ6DFUB.js";
411
+ } from "./chunk-VVQXRBA7.js";
412
412
  import {
413
413
  SUPPORTED_EXTENSIONS
414
414
  } from "./chunk-XBEKMUTO.js";
@@ -421,9 +421,11 @@ import {
421
421
  findRepoRoot,
422
422
  getActiveWorkspaceRoot,
423
423
  getNexusDataDir,
424
+ getNexusRepoDir,
424
425
  nexusDataPath,
425
426
  nexusDataPathEnsure,
426
- parseBoolEnv
427
+ parseBoolEnv,
428
+ setActiveWorkspaceRoot
427
429
  } from "./chunk-LWOX65CP.js";
428
430
 
429
431
  // src/config/schemas-core.ts
@@ -5147,13 +5149,13 @@ function recordExecutionPattern(state, pattern) {
5147
5149
  executionPatterns: [...state.executionPatterns, newPattern]
5148
5150
  };
5149
5151
  }
5150
- function recordErrorResolution(state, resolution) {
5152
+ function recordErrorResolution(state, resolution2) {
5151
5153
  const newResolution = {
5152
- ...resolution,
5154
+ ...resolution2,
5153
5155
  resolvedAt: new Date(getTimeProvider().now())
5154
5156
  };
5155
5157
  const existingIndex = state.errorResolutions.findIndex(
5156
- (r) => r.errorPattern === resolution.errorPattern
5158
+ (r) => r.errorPattern === resolution2.errorPattern
5157
5159
  );
5158
5160
  if (existingIndex >= 0) {
5159
5161
  const updatedResolutions = [...state.errorResolutions];
@@ -5705,11 +5707,11 @@ function recordPatternToState(params) {
5705
5707
  return recordExecutionPattern(memoryState, pattern);
5706
5708
  }
5707
5709
  function recordResolutionToState(params) {
5708
- const { memoryEnabled, memoryState, resolution } = params;
5710
+ const { memoryEnabled, memoryState, resolution: resolution2 } = params;
5709
5711
  if (!memoryEnabled || memoryState === null) {
5710
5712
  return memoryState;
5711
5713
  }
5712
- return recordErrorResolution(memoryState, resolution);
5714
+ return recordErrorResolution(memoryState, resolution2);
5713
5715
  }
5714
5716
  function findResolutionFromState(params) {
5715
5717
  const { memoryEnabled, memoryState, errorMessage: errorMessage2 } = params;
@@ -5734,8 +5736,8 @@ function doRecordLearning(ctx, learning) {
5734
5736
  function doRecordPattern(ctx, pattern) {
5735
5737
  return recordPatternToState({ ...ctx, pattern });
5736
5738
  }
5737
- function doRecordResolution(ctx, resolution) {
5738
- return recordResolutionToState({ ...ctx, resolution });
5739
+ function doRecordResolution(ctx, resolution2) {
5740
+ return recordResolutionToState({ ...ctx, resolution: resolution2 });
5739
5741
  }
5740
5742
  function doFindResolution(ctx, errorMessage2) {
5741
5743
  return findResolutionFromState({ ...ctx, errorMessage: errorMessage2 });
@@ -5762,8 +5764,8 @@ function recordLearningToMemory(ctx, learning) {
5762
5764
  function recordPatternToMemory(ctx, pattern) {
5763
5765
  return doRecordPattern(ctx, pattern);
5764
5766
  }
5765
- function recordResolutionToMemory(ctx, resolution) {
5766
- return doRecordResolution(ctx, resolution);
5767
+ function recordResolutionToMemory(ctx, resolution2) {
5768
+ return doRecordResolution(ctx, resolution2);
5767
5769
  }
5768
5770
  function findResolution(ctx, errorMessage2) {
5769
5771
  return doFindResolution(ctx, errorMessage2);
@@ -6823,10 +6825,10 @@ function handleFieldConflict(ctx) {
6823
6825
  };
6824
6826
  const result1 = ctx.results.find((r) => r.expertId === ctx.existing.expertId);
6825
6827
  if (result1 !== void 0) {
6826
- const resolution = ctx.conflictResolver(conflict, result1, ctx.newResult);
6827
- conflict.resolution = resolution;
6828
- if (resolution !== "unresolved") {
6829
- const resolutionDesc = resolution === "merged" ? "merge" : `${resolution} value`;
6828
+ const resolution2 = ctx.conflictResolver(conflict, result1, ctx.newResult);
6829
+ conflict.resolution = resolution2;
6830
+ if (resolution2 !== "unresolved") {
6831
+ const resolutionDesc = resolution2 === "merged" ? "merge" : `${resolution2} value`;
6830
6832
  conflict.resolutionReason = `Resolved using ${resolutionDesc}`;
6831
6833
  }
6832
6834
  }
@@ -30439,7 +30441,7 @@ function execIdFields(executionId) {
30439
30441
  async function populateUnifiedContextOnState(state, options) {
30440
30442
  const taskCandidate = state["task"];
30441
30443
  if (typeof taskCandidate !== "string" || taskCandidate === "") return;
30442
- const { getContextForTask: getContextForTask2, inferTaskCategory: inferTaskCategory2 } = await import("./context-retriever-GU2GEQG3.js");
30444
+ const { getContextForTask: getContextForTask2, inferTaskCategory: inferTaskCategory2 } = await import("./context-retriever-TG2SH7CT.js");
30443
30445
  const category = inferTaskCategory2(taskCandidate);
30444
30446
  const executionId = options?.executionId;
30445
30447
  const execFields = execIdFields(executionId);
@@ -46900,7 +46902,7 @@ async function tryIssueTriage(task) {
46900
46902
  try {
46901
46903
  const issueMatch = task.match(/github\.com\/([^/]+\/[^/]+)\/issues\/(\d+)/);
46902
46904
  if (issueMatch === null) return null;
46903
- const { createIssueTriage } = await import("./issue-triage-GYYX36F2.js");
46905
+ const { createIssueTriage } = await import("./issue-triage-SZRBPDAR.js");
46904
46906
  const triage = createIssueTriage();
46905
46907
  const owner = issueMatch[1] ?? "";
46906
46908
  const num2 = issueMatch[2] ?? "";
@@ -46928,7 +46930,7 @@ var VALID_TEMPLATES = /* @__PURE__ */ new Set([
46928
46930
  ]);
46929
46931
  async function classifyWithLLM(task) {
46930
46932
  try {
46931
- const { executeExpert: executeExpert2 } = await import("./expert-bridge-SWIS4YIE.js");
46933
+ const { executeExpert: executeExpert2 } = await import("./expert-bridge-REZ6NY76.js");
46932
46934
  const prompt = [
46933
46935
  "Classify this task into exactly one pipeline template.",
46934
46936
  "Templates: dev (implementation/bug fix/refactor), research (investigate/evaluate/compare),",
@@ -47302,7 +47304,7 @@ function buildVotingInput(plan, config) {
47302
47304
  }
47303
47305
  async function executeSingleVote(plan, config, log) {
47304
47306
  try {
47305
- const { executeVoting } = await import("./consensus-vote-ZRTTSQKH.js");
47307
+ const { executeVoting } = await import("./consensus-vote-7FYMJAF7.js");
47306
47308
  const input = buildVotingInput(plan, config);
47307
47309
  const result = await executeVoting(input, log);
47308
47310
  return parseVotingResult(result);
@@ -48850,7 +48852,7 @@ var memoryInitPromise = null;
48850
48852
  async function initPipelineMemory() {
48851
48853
  if (cachedMemory !== null) return cachedMemory;
48852
48854
  try {
48853
- const { createSessionMemory: createSessionMemory2 } = await import("./session-memory-6ESI25NN.js");
48855
+ const { createSessionMemory: createSessionMemory2 } = await import("./session-memory-SWTWLYGY.js");
48854
48856
  const { getLearningDir } = await import("./learning-persistence-FB4U5AX2.js");
48855
48857
  const mem = createSessionMemory2(getLearningDir());
48856
48858
  mem.startSession(`pipeline-${String(getTimeProvider().now())}`);
@@ -48912,7 +48914,7 @@ function recordRoutingExperience(category, success, durationMs, tokensUsed = 0,
48912
48914
  callRecord(routingMemoryCache);
48913
48915
  return;
48914
48916
  }
48915
- routingMemoryInitPromise ??= import("./routing-memory-TWRTPLVA.js").then(({ createRoutingMemory }) => {
48917
+ routingMemoryInitPromise ??= import("./routing-memory-B5HYTZC7.js").then(({ createRoutingMemory }) => {
48916
48918
  routingMemoryCache ??= createRoutingMemory();
48917
48919
  return routingMemoryCache;
48918
48920
  }).catch((error) => {
@@ -49131,7 +49133,7 @@ function createVoteStage({ config, startStage }) {
49131
49133
  const strategy = config.votingStrategy ?? "higher_order";
49132
49134
  await postProgress(config, "Vote", `Running consensus with ${strategy} strategy...`);
49133
49135
  try {
49134
- const { executeVoting } = await import("./consensus-vote-ZRTTSQKH.js");
49136
+ const { executeVoting } = await import("./consensus-vote-7FYMJAF7.js");
49135
49137
  const proposal = buildVoteProposal(plan, research);
49136
49138
  const votingResult = await executeVoting(
49137
49139
  {
@@ -49938,7 +49940,7 @@ ${text}` : "";
49938
49940
  }
49939
49941
  async function getWeatherContext() {
49940
49942
  try {
49941
- const { generateWeatherReport: generateWeatherReport2 } = await import("./weather-report-JKEHPRVU.js");
49943
+ const { generateWeatherReport: generateWeatherReport2 } = await import("./weather-report-KJ4X3HVU.js");
49942
49944
  const report = generateWeatherReport2({ includeAdaptive: true });
49943
49945
  const mappings = "recommendedMappings" in report ? report.recommendedMappings : [];
49944
49946
  if (!Array.isArray(mappings) || mappings.length === 0) return "";
@@ -49956,7 +49958,7 @@ ${lines}
49956
49958
  }
49957
49959
  async function getMemoryContext(task) {
49958
49960
  try {
49959
- const { createSessionMemory: createSessionMemory2 } = await import("./session-memory-6ESI25NN.js");
49961
+ const { createSessionMemory: createSessionMemory2 } = await import("./session-memory-SWTWLYGY.js");
49960
49962
  const { getLearningDir } = await import("./learning-persistence-FB4U5AX2.js");
49961
49963
  const memory = createSessionMemory2(getLearningDir(), { maxLearningsInContext: 10 });
49962
49964
  const learnings = memory.searchLearnings(task.slice(0, 200));
@@ -50673,7 +50675,7 @@ async function searchCodebaseForTask(task) {
50673
50675
  }
50674
50676
  async function queryResearchRegistry(task) {
50675
50677
  try {
50676
- const { synthesizeResearch: synthesizeResearch2 } = await import("./research-helpers-synthesize-MMKCQWJW.js");
50678
+ const { synthesizeResearch: synthesizeResearch2 } = await import("./research-helpers-synthesize-UADXNMID.js");
50677
50679
  const topic = task.split(/[.!?\n]/).filter((s) => s.trim().length > 10)[0]?.trim();
50678
50680
  if (topic === void 0) return null;
50679
50681
  const result = await synthesizeResearch2(topic.slice(0, 50));
@@ -50744,7 +50746,7 @@ function createScanStageWrapper() {
50744
50746
  try {
50745
50747
  const slug = ctx.task.match(/([a-zA-Z0-9._-]+\/[a-zA-Z0-9._-]+)/)?.[1];
50746
50748
  if (slug !== void 0) {
50747
- const { generateSecurityPlan: generateSecurityPlan2 } = await import("./repo-security-plan-HOBHOF6L.js");
50749
+ const { generateSecurityPlan: generateSecurityPlan2 } = await import("./repo-security-plan-SKVL27H3.js");
50748
50750
  const plan = await generateSecurityPlan2({ repo: slug, maxScanners: 10 });
50749
50751
  const recs = plan.recommendations.slice(0, 5).map((r) => `${r.priority}: ${r.displayName} (${r.category})`).join("; ");
50750
50752
  return output(PIPELINE_STATE_KEYS.FINDINGS, recs, getTimeProvider().now() - start, true);
@@ -54526,7 +54528,7 @@ var GitHubTaskTracker = class {
54526
54528
  cachedProvider = null;
54527
54529
  async getProvider() {
54528
54530
  if (this.cachedProvider !== null) return this.cachedProvider;
54529
- const { createScmProvider } = await import("./factory-TM2G72M5.js");
54531
+ const { createScmProvider } = await import("./factory-7ETXZOGV.js");
54530
54532
  const result = await createScmProvider({ repo: this.config.repo ?? "" });
54531
54533
  if (!result.ok) throw new Error(`SCM provider error: ${result.error.message}`);
54532
54534
  this.cachedProvider = result.value;
@@ -54916,12 +54918,12 @@ function dispatchAsyncDevPipeline(input, run, logger59) {
54916
54918
  });
54917
54919
  }
54918
54920
  const sessionId = input.sessionId;
54919
- const resolution = resolveIdempotency("run_dev_pipeline", sessionId, input, () => sessionId);
54920
- if (resolution.kind === "replay") {
54921
- return defaultReplayEnvelope(resolution.jobId);
54921
+ const resolution2 = resolveIdempotency("run_dev_pipeline", sessionId, input, () => sessionId);
54922
+ if (resolution2.kind === "replay") {
54923
+ return defaultReplayEnvelope(resolution2.jobId);
54922
54924
  }
54923
- if (resolution.kind === "collision") {
54924
- return defaultCollisionEnvelope(resolution.existingJobId);
54925
+ if (resolution2.kind === "collision") {
54926
+ return defaultCollisionEnvelope(resolution2.existingJobId);
54925
54927
  }
54926
54928
  registerIdempotentJob({
54927
54929
  tool: "run_dev_pipeline",
@@ -55579,7 +55581,7 @@ function withCatalogueCaveat(report) {
55579
55581
  var GATEWAY_TRANSPORT = "gateway";
55580
55582
  var GATEWAY_API_ARM = "api:custom-openai";
55581
55583
  async function gatewaySource(apiArm) {
55582
- const { discoverModels, readOpenAICompatEnv } = await import("./openai-compat-adapter-6EOYWQ4W.js");
55584
+ const { discoverModels, readOpenAICompatEnv } = await import("./openai-compat-adapter-UW2Z4HF7.js");
55583
55585
  const config = readOpenAICompatEnv();
55584
55586
  if (config !== null) {
55585
55587
  return {
@@ -55598,7 +55600,7 @@ async function gatewaySource(apiArm) {
55598
55600
  }
55599
55601
  async function defaultSources(includeOpenRouter, adaptersFactory) {
55600
55602
  const adapters = new Map(
55601
- adaptersFactory !== void 0 ? adaptersFactory() : (await import("./factory-CT3RMGOI.js")).createAllAdapters()
55603
+ adaptersFactory !== void 0 ? adaptersFactory() : (await import("./factory-35OY5YJ7.js")).createAllAdapters()
55602
55604
  );
55603
55605
  const apiArm = adapters.get(GATEWAY_API_ARM);
55604
55606
  adapters.delete(GATEWAY_API_ARM);
@@ -56057,6 +56059,106 @@ function createAnnotationsProxy(server) {
56057
56059
  });
56058
56060
  }
56059
56061
 
56062
+ // src/mcp/workspace-roots.ts
56063
+ import { existsSync as existsSync16 } from "node:fs";
56064
+ import { join as join17 } from "node:path";
56065
+ import { homedir as homedir3 } from "node:os";
56066
+ import { fileURLToPath as fileURLToPath2 } from "node:url";
56067
+ function deriveWorkspaceRootFromRoots(roots) {
56068
+ let first = null;
56069
+ let gitRoot = null;
56070
+ for (const root of roots) {
56071
+ if (typeof root.uri !== "string" || !root.uri.startsWith("file://")) continue;
56072
+ let path9;
56073
+ try {
56074
+ path9 = fileURLToPath2(root.uri);
56075
+ } catch {
56076
+ continue;
56077
+ }
56078
+ first ??= path9;
56079
+ if (gitRoot === null && existsSync16(join17(path9, ".git"))) gitRoot = path9;
56080
+ }
56081
+ return gitRoot ?? first;
56082
+ }
56083
+ var WORKSPACE_ROOT_READY_TIMEOUT_MS = 1e3;
56084
+ var workspaceRootReady = Promise.resolve();
56085
+ var resolution;
56086
+ function beginWorkspaceRootResolution(logger59) {
56087
+ if (resolution?.timer !== void 0) clearTimeout(resolution.timer);
56088
+ let resolveReady;
56089
+ workspaceRootReady = new Promise((resolve13) => {
56090
+ resolveReady = resolve13;
56091
+ });
56092
+ resolution = {
56093
+ logger: logger59,
56094
+ fallbackRoot: findRepoRoot(process.cwd()) ?? homedir3(),
56095
+ resolve: resolveReady,
56096
+ settled: false,
56097
+ timedOut: false
56098
+ };
56099
+ }
56100
+ function finishResolution(state) {
56101
+ if (state.timer !== void 0) clearTimeout(state.timer);
56102
+ state.settled = true;
56103
+ state.resolve();
56104
+ }
56105
+ function startWorkspaceRootReadyTimeout(timeoutMs) {
56106
+ const state = resolution;
56107
+ if (state === void 0 || state.settled) return;
56108
+ state.timer ??= setTimeout(() => {
56109
+ setActiveWorkspaceRoot(state.fallbackRoot);
56110
+ state.timedOut = true;
56111
+ finishResolution(state);
56112
+ }, timeoutMs);
56113
+ }
56114
+ function logWorkspaceRootFallback(toolName) {
56115
+ const state = resolution;
56116
+ if (state?.timedOut !== true) return;
56117
+ state.logger.warn("Tool dispatch using workspace root fallback", {
56118
+ toolName,
56119
+ reason: "timeout",
56120
+ timeoutMs: WORKSPACE_ROOT_READY_TIMEOUT_MS,
56121
+ workspaceRoot: getActiveWorkspaceRoot() ?? state.fallbackRoot,
56122
+ dataDir: getNexusRepoDir() ?? getNexusDataDir(),
56123
+ governanceDataDir: getNexusRepoDir({ mainCheckout: true }) ?? getNexusDataDir()
56124
+ });
56125
+ }
56126
+ function applyWorkspaceRoots(roots, logger59) {
56127
+ const root = deriveWorkspaceRootFromRoots(roots);
56128
+ if (root === null) {
56129
+ logger59.debug("MCP client returned no usable file:// roots; using cwd/homedir for data dir");
56130
+ return;
56131
+ }
56132
+ if (setActiveWorkspaceRoot(root)) {
56133
+ logger59.info("Resolved workspace root from MCP client roots", { workspaceRoot: root });
56134
+ } else {
56135
+ logger59.warn("MCP client root failed validation; using cwd/homedir for data dir", {
56136
+ candidate: root
56137
+ });
56138
+ }
56139
+ }
56140
+ async function resolveWorkspaceRootFromClient(server, logger59) {
56141
+ if (resolution === void 0) beginWorkspaceRootResolution(logger59);
56142
+ const state = resolution;
56143
+ try {
56144
+ if (server.server.getClientCapabilities()?.roots === void 0) {
56145
+ logger59.debug(
56146
+ "MCP client did not declare the roots capability; using cwd/homedir for data dir"
56147
+ );
56148
+ return;
56149
+ }
56150
+ const result = await server.server.listRoots();
56151
+ if (state?.settled === true || state !== resolution) return;
56152
+ applyWorkspaceRoots(result.roots, logger59);
56153
+ } catch (error) {
56154
+ logger59.debug("roots/list request failed; using cwd/homedir for data dir", {
56155
+ error: getErrorMessage(error)
56156
+ });
56157
+ } finally {
56158
+ if (state !== void 0 && !state.settled) finishResolution(state);
56159
+ }
56160
+ }
56161
+
56060
56162
  // src/mcp/tools/tool-observability-proxy.ts
56061
56163
  var invocationCounter = 0;
56062
56164
  function firstTextOf(result) {
@@ -56088,6 +56190,9 @@ function wrapWithObservability(toolName, cb, eventBus) {
56088
56190
  invocationId
56089
56191
  });
56090
56192
  try {
56193
+ startWorkspaceRootReadyTimeout(WORKSPACE_ROOT_READY_TIMEOUT_MS);
56194
+ await workspaceRootReady;
56195
+ logWorkspaceRootFallback(toolName);
56091
56196
  const result = await cb(args, extra);
56092
56197
  const durationMs = getTimeProvider().now() - startTime;
56093
56198
  const failed = result?.isError === true;
@@ -58832,6 +58937,8 @@ export {
58832
58937
  registerPrReviewTool,
58833
58938
  registerSupplyChainTradeoffPanelTool,
58834
58939
  createAnnotationsProxy,
58940
+ beginWorkspaceRootResolution,
58941
+ resolveWorkspaceRootFromClient,
58835
58942
  createToolObservabilityProxy,
58836
58943
  REGISTERED_TOOL_NAMES,
58837
58944
  registerTools,
@@ -58850,4 +58957,4 @@ export {
58850
58957
  initializeSandbox,
58851
58958
  getSandboxMode
58852
58959
  };
58853
- //# sourceMappingURL=chunk-KSAIBUUI.js.map
58960
+ //# sourceMappingURL=chunk-6EJIBIXZ.js.map